From: Karl von Laudermann Date: 2005-10-01T00:21:47+09:00 Subject: Re: In your opinion.... Christophe Grandsire wrote: > > You'll find out Haskell is quite a different beast. It has interesting > features, but it doesn't have much in common with imperative languages > like Ruby. Its IO model is �bercool though (completely functional, which > is quite a feat, and basically making IO actions into objects rather > than actions. But if you really want to understand how it works, you > need to understand the monad, which is quite an esoteric mathematical > notion - and I'm someone who used to eat distributions for breakfast, so > abstract mathematical notions normally don't frighten me ;) -). I certainly don't understand the monad. I read some introductory material re: Haskell just a couple of weeks ago, out of curiosity about the language. My understanding of the monad concept and Haskell's use thereof is basically this: - Haskell is a purely functional language - Purely functional languages cannot have side effects - A language that can't do I/O is useless, so we need a way to put side effects into a purely functional language Therefore: - We'll put I/O subroutines into Haskell, *but* we'll call them "monads", and that magically fixes the problem somehow I'm sure that my understanding is wrong, but that's what I came away with.