Frank Sommers: One way a programming language's philosophy manifests is by the language encouraging certain development styles or tendencies. A language does that by making certain things easy, and other things harder, for the developer to do.
Haskell provides type-class-bounded and parametric polymorphism as opposed to subtype polymorphism of object-oriented languages such as Java and OCaml. It is a contentious question whether Haskell~98 without extensions, or with common extensions, or with