|
|
|
|
|
by codebje
440 days ago
|
|
Haskell has a type system that lets these things be directly useful in ways they cannot be in many other languages. You can't, in Java, declare anything like "class Foo<F<T> extends Functor<T>>", or use a similar generic annotation on a method: you can't have an unapplied type-level function as an argument to another type-level function. These things get a name in Haskell because they can be directly used as useful abstractions in their own right. And perhaps because Haskell remains very close to PL research. |
|