I want to get good at Haskell some day, but to what end?

Yes - and although we might be drifting off topic, this stuff is so arcane, that we probably wouldn't be able to hijack this thread with it!

Talk about a "secret language"

Haskell's syntax is not much harder than that of, say, Python.

Yes, I stand corrected, I should have said "lexically" difficult (see sample code below).

If you're mathematically inclined, Haskell has great symbolic abilities, as you probably well know. Often, when I have to do a matlab, R, or Mathematica formula, I try to figure out how to do it in Haskell too. Differential equations, for example, just fly off the keyboard, but then a week later look like an alien visitation.

It's a subtle, tough language - but probably one of the best, most wide open I've ever studied (been coding since 1974, so I've seen a few

. There's two things about Haskell, well probably any FP, that take getting used to: that variables really aren't variable and that consistently aiming towards the "pointfree" coding style is actually healthier than using syntactically embedded data. The former can mortally wound a procedural coder, while the latter may make your eyes cross, if you weren't weaned on LISP. (Curses to the Oppressive Parenthesis, Praise Be the White Space Significance!)

I think I'm gonna dink around with Xmonad just to support it's Haskell roots...

cheers

- H

___________________________________________________

here's two of my favorites:

-- fibonacci sequence

unfoldr (\(f1,f2) -> Just (f1,(f2,f1+f2))) (0,1)

fibs = 0:1:zipWith (+) fibs (tail fibs)

fib = 0:scanl (+) 1 fib

-- pascal triangle

pascal = iterate (\row -> zipWith (+) ([0] ++ row) (row ++ [0])) [1]

Clipped directly from

http://www.haskell.org/haskellwiki/Blow_your_mind#Monad_magic