From: Nat Pryce Date: 2002-08-24T01:51:33+09:00 Subject: Re: What New Language After Ruby? On Fri, 2002-08-23 at 15:18, William Djaja Tjokroaminata wrote: > Can anyone give me a pointer to the original reason why > pragmaticprogrammer.com chooses Haskell instead of Scheme, Lisp, or > ML? (If we just want to learn "a new thing", any of the functional > languages will do, right? But to be both learning a new thing and being > practical, I think it is a different story.) Not all functional languages are the same. For example: Haskell and ML have static typing with powerful generics and type inference. Scheme and LISP have dynamic, but not polymorphic, typing. Haskell is lazy (implements normal order evaluation of function arguments). ML, Scheme and LISP are strict (implement first order evaluation). Haskell is pure functional. ML, Scheme and LISP functions can have side effects. Haskell has curried functions, ML, Scheme and LISP do not. Etc. So, Haskell is further away from more everyday languages than Scheme and LISP, while ML is somewhere between the two. For example, Java has a mix of dynamic and static type systems, has first order evaluation of function arguments, allows functions with side effects, and does not support curried functions. So, Java is closer to Scheme than Haskell. If you're used to Java, I think Haskell is much more interesting to learn. Cheers, Nat. -- Dr. Nathaniel Pryce, Technical Director, B13media Ltd. Studio 3a, 22-24 Highbury Grove, London N5 2EA, UK http://www.b13media.com