[Haskell-cafe] Aim Of Haskell

John Meacham john at repetae.net
Fri Dec 15 16:24:47 EST 2006

This is sort of a tangent...

One of the things I notice happens a lot on the lists is that it is very
difficult to answer questions without knowing the background of the
person asking it.

Haskell is a 'multi-level' language in a lot of ways, there is the nice
friendly veneer described in the report, but a lot of that functionality
exposed to the user is implemented in haskell itself using unsafe
operations and interesting and useful implementation specific tricks,
but that are probably not what someone learning the language is looking

So, the most basic question, perhaps one of the first things someone
exploring the language asks:

"How do I turn an IO String into a String?"

gets several different replys which can be quite intimidating for
someone expecting a simple answer

"unsafePerformIO  but don't use it!"
"Haskell Performs IO using Monads, a mathematical construct taken from
category theory"
"You need to put your call to getContents in a 'do' block"
"perhaps you should be using Arrows" (okay, perhaps this one doesn't
come up so much)

now, for a newbie, picking out choice number 3 may or may not be
obvious, but it certainly can be a very intimidating barrage of replies.

I think we need some sort of signal, to show that one means "I
understand why haskell doesn't allow this in general, but am interested
in a compiler specific trick or some theoretical background on the
issue" rather than "I am learning haskell and am somewhat confused due
to preconcieved notions fostered by my experience with other languages,
can someone help me?"

Perhaps we as a community need to avoid the urge (it is hard to resist)
to give esoteric answers unless specifically asked for and veterans will
have to try not to be too offended if someone mistakes their obscure
implementation question for a confused beginning one on occasion.


John Meacham - ⑆repetae.net⑆john⑈

More information about the Haskell-Cafe mailing list