From: Rafael 'Dido' Sevilla Date: 2002-08-27T15:58:31+09:00 Subject: Re: What New Language After Ruby? On Tue, Aug 27, 2002 at 03:21:24PM +0900, Friedrich Dominicus wrote: > > > > Haskell is pure functional. ML, Scheme and LISP functions can have side > > effects. > Haskell does have side effects too. They're called monads, and they're somewhat more confusing to use than actual references such as what we have in Scheme and OCaml, in my experience. Unless there are real references in Haskell (which I haven't heard about if they do exist). That sounds like ugly business: in a lazy language not all side effects may wind up getting evaluated and things just get confusing. > > > > Haskell has curried functions, ML, Scheme and LISP do not. > Per default yes, but this can be change at least for Lisp. > ML *does* have curried functions, at least the Caml dialect does. Scheme and Lisp allow you to have curried functions if you so desire, e.g.: (define a-curried-function (lambda (x) (lambda (y) ...)))) except that you wind up getting ugly calls that look like this ((a-curried-function foo) bar) all over the place, making the irritating parentheses problem even worse than it already is. :) > Very interesting candidated to learn are IMHO. > - Haskell haskell.org > - Ocaml http://pauillac.inria.fr/ocaml/ which is quite interesting > because it combines functional language with an OO system. http://caml.inria.fr/ > - Common Lisp because of it's flexibility. If you like Ruby you > usually should like Lisp too. Maybe Scheme would be an easier dialect to of Lisp learn. -- Rafael R. Sevilla +63(2)8123151 Software Developer, Imperium Technology Inc. +63(917)4458925