[Haskell-beginners] How to think in Haskell (Jun HU)
Gregg Reynolds
dev at mobileink.com
Fri Dec 17 16:18:42 CET 2010
On Fri, Dec 17, 2010 at 8:44 AM, Sean Charles <sean at objitsu.com> wrote:
>
> I've been a software develoepr for aobut twenty-six years, from assembly
> language on chips and DEC/VAX right through to today and without doubt
> Haskell has been my single most frustrating learning experience ever.
>
> And that my friends is a compliment to Haskell! :)
>
> Don't try to learn it all at once, it's depressing! I know!
>
I took my first crack at Haskell 5+ years ago, was befuddled by the term
"constructor" and left completely in the dark by monads. So I moved on to
other things. It took me about three tries and a lot of research into
various corners of computer science (I was a liberal arts major) to reach
the point where I understood the terminology and began to grasp the big
picture. Fortunately there's a lot more information available for beginners
now.
Even though the likelihood of me ever getting paid to program in Haskell is
nil, what I've gained from studying it vastly outweighs the considerable
effort I put into it. I thought I was learning another programming
language; in fact, I was learning to think about computation, logic, and
mathematics in ways that were completely new and very enlightening to me.
To really really understand it all, you have to delve into lambda calculus
most obviously, but also intuitionistic mathematics and logic, proof theory,
category theory, and various other fascinating topics. In 100 or even 10
years such stuff will form part of a basic educational program, but at the
moment it's like a secret world of magical beasts. The down side is there's
nobody to talk to about it (except via mailing lists) since almost nobody
outside of specialists even knows this world exists.
>
> BIG HELP: The single biggest thing that helped me was to download the
> PDF slide-notes and watch both parts of Simon Peyton Jones talks, all
> available here:
> http://notes-on-haskell.blogspot.com/2007/08/more-spj.html
His book "Implementation of Functional
Languages<http://research.microsoft.com/en-us/um/people/simonpj/papers/slpj-book-1987/index.htm>"
is also very helpful, even if you have no interest in actually implementing
functional languages. It (and various other pubs) has proven very helpful
in deciphering some of the arcane bits of terminology that often pop up in
discussions of Haskell and FP, such as boxing, bottom, "weak head normal
form", etc. You can skim the gory details and still get a lot out of it.
Plus, I just found the tutorial
version<http://research.microsoft.com/en-us/um/people/simonpj/papers/pj-lester-book/>
.
-Gregg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20101217/910b3832/attachment.htm>
More information about the Beginners
mailing list