From: Marcin 'Qrczak' Kowalczyk Date: 2002-08-28T22:23:40+09:00 Subject: Re: What New Language After Ruby? Tue, 27 Aug 2002 15:58:31 +0900, Rafael 'Dido' Sevilla pisze: > Unless there are real references in Haskell (which I haven't heard > about if they do exist). They aren't in the standard but they are present in all four implementations I know. They look quite ugly: test :: IO Int test = do r <- newIORef 10 v <- readIORef r writeIORef r (v+1) readIORef r > That sounds like ugly business: in a lazy language not all side > effects may wind up getting evaluated and things just get confusing. Side effects are "separate" from laziness. Laziness doesn't affect what side effects are effective and in what order. Values of expressions are lazy and for a pure computation it doesn't matter when it's performed. Real effects are performed by monadic commands which are performed by a different mechanism than evaluating expressions. I think OCaml is most practical of functional languages around. The language isn't so special (and it fits the machine quite well) but it has a very good implementation. -- __("< Marcin Kowalczyk \__/ qrczak@knm.org.pl ^^ http://qrnik.knm.org.pl/~qrczak/