Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: