Hobby-hacking Eric


Does Haskell hurt your brain?

Feel free to bitch about Haskell in the comments! I'm interested to see how one should go about writing the How to read Haskell tutorial, as well as the Haskell wikibook.

The tutorial is aimed at people who want to understand some piece of Haskell code they encounter, or who like to learn by example (and quickly find themselves lost). The wikibook is more aimed at people who are new to programming and who are said to have an easier time picking up Haskell than their l33t hacker friends (you know, not so much unlearning to do). Speaking of l33t hackers, maybe this would be a good chance to point out Haskell for C programmers...

Anyway, yeah so, if you've been turned off by Haskell because it's hard, weird or painful, let me know. Note that if I receive any comments at all, I'm somewhat expecting them to be about IO and monads. Those comments are welcome too, although I would like them better if you followed up with any insights about what make them hard for you to understand. Otherwise, what I would most like to see are the complaints about reading and understanding Haskell code.


sigfpe said...

Haskell certainly hurts my brain. Sometimes it's a good hurt.

I've been playing on and off for a couple of years. I've even written a couple of tutorials on things like monad transformers. And yet on a scale of 0-10 of guruness, I feel like I'm only just climbing out of level 0.

I really enjoyed the puzzle of trying to figure out how to thread a global counter through a logic program here. But I enjoyed it because I'm a mathematician and I like puzzles for their own sake. But did I really have to go through that simply to add a counter to my code?

piggybox said...

I wish there was a Haskell cookbook, then the rest of the world could see if Haskell is still beautiful for daily jobs beyond algorithm puzzles.

kowey said...

There is, but it's apparantly pretty harmful in that it doesn't do things in a very Haskell manner. What might be good for this instead are the Blow your mind and the Simple Unix tools. That being said, daily jobs are filled with algorithm puzzles (otherwise, we wouldn't be worried about them), and it's useful to take an interest in them. The puzzles just distill all the boring parts out of the daily job and focus on the really interesting bits of the problem.

Anonymous said...

"I wish there was a Haskell cookbook, then the rest of the world could see if Haskell is still beautiful for daily jobs beyond algorithm puzzles."

There isn't because it sucks for anything real.

kowey said...

Anonymous, Is that speaking from experience? What kind of "real" stuff did you have trouble with?

People do lots of real things in haskell, revision control systems, operating systems, web browsers, text editors, natural language generators (with graphical interface). It would be interesting to see what kind of stuff you tried to work on and what particuliar grief Haskell gave you.