[Haskell-cafe] Haskell & monads for newbies (was "Functional dependencies *not* part of the next Haskell standard?")

peterv bf3 at telenet.be
Thu Jul 12 10:01:43 EDT 2007


Thanks for the advice. I did not really deeply investigate the monad type
classes yet...

It looks like its gonna take a long time for me to learn Haskell. I'm not
sure if my long history of imperative and object-oriented programming has
something to do with it. Reading Haskell books like SOE is one thing, but
writing software in Haskell is really difficult for me. Not only do I miss
the "spoiled OO programmer" IDEs with all their candy and code completion
and assistants, but I also get the feeling that although similar programs in
Haskell or typically N times shorter than their imp/OO counterparts, it
would take *me* at least N^2 longer to write them ;) (now I must admit I had
the same feeling when switching from 680x0 assembler to C++, but let's say
N*2 longer instread of N^2...) Is this true for Haskell in general? I mean
how long do experienced Haskell developers spent writing code "to get it
right" (excluding minor bugs and performance issues)? Or do they write down
Haskell fluently?

Regarding those monads, I read a lot of stuff about these beast, trying to
get a high-level understanding about them (and apparently I'm not the only
newby who struggled with that ;), but after having read "You Could Have
Invented Monads!" and then reading
http://research.microsoft.com/~simonpj/papers/marktoberdorf, it all became
much clearer. Those pictures really helped... 

Monads were very confusing because I first looked at Concurrent Clean (it
comes with an IDE and games! :), and that language uses a simple "uniqueness
typing" approach where the "world" or "state" is explicitly passed as an
object, and where the compiler garantees "monadic" usage of that object
(warning: that was a lot of fuzzy talk from a newbie trying to look
impressive ;) 

-----Original Message-----
From: Benja Fallenstein [mailto:benja.fallenstein at gmail.com] 
Sent: Thursday, July 12, 2007 3:11 PM
To: peterv
Cc: Henning Thielemann; Haskell-Cafe at haskell.org
Subject: Re: [Haskell-cafe] Functional dependencies *not* part of the next
Haskell standard?

2007/7/12, peterv <bf3 at telenet.be>:
> Amazing, so simple it is, Yoda would say ;)
>
> I did not realize one could perform "partial application" on types when
> declaring instances (I mean not specifying the type of Vector2 in
<instance
> Vector Vector2>).

You ought to meditate on the type class 'Monad,' then, which was the
motivating example for allowing these kinds of classes in standard
Haskell ;-)

All the best,
- Benja



More information about the Haskell-Cafe mailing list