We have all learned functional programming in Haskell, but there are more functional languages like Lisp, Scheme, ML, and Clean.
Why should we even bother to look further than Haskell?
- You want your programs to run faster. - Monads drive you mad (what are they anyway? warm fuzzy things?). - You need objects. - You sometimes need a more powerful module system.
Why Not Haskell Haskell: lazy by default → difficult to reason about performance/execution purity does not bring much to safety people use unsafePerformIO anyways + less “hackable” type-classes in practice: used 95% of the time to make the code as unreadable as possible more unreadability: need to know every possible GHC extension (there is even dynamic typing in there!?) indentation-based grammar makes code hard to read (blocs > 7 lines) does not have (AFAIK) any good subtyping mechanism