
On Tue, 20 Dec 2005, Sebastian Sylvan wrote:
Monadic IO is pretty darn cool, sadly that means that many tutorial authors are tempted to spend pages upon pages explaining exactly why it's cool and how it works, but that is NOT what most people starting out with the language need to read.
I'm still looking for a good *practical* tutorial that I could recommend to newcomers. IO, data types and QuickCheck in the very first chapter, I say! Real program examples from the get go, and go into the theory on why this has been hard in FP before Haskell (or Monadic IO rather) much much later, so as to not scare people away.
Starting with IO in Haskell is like starting LaTeX with rotating text and making it colorful. Indeed IO _is_ complicated regardless of whether it is modelled by Monads in Haskell or differently in other languages. Beginners should start with non-monadic functions in order to later avoid IO in their functions whereever possible. There are a lot of non-IO applications a beginner can start with, such as using Hugs or GHCi as a programmable calculator.