School of Haskell 2.0
fpcomplete.com
fpcomplete.com
Detecting HTTP servers and interacting with them in an iframe is especially brilliant.
Real World Haskell is solid and was pretty comprehensive for system programming at the time (2008) but it desperately needs an update. Some of the libraries (e.g. persistent) have moved pretty far from it, web programming in Haskell has come a long way over the past few years, and applicative functors weren't even on the map yet.
Real World Haskell is a good resource but it shouldn't be your only resource. Then again, part of the fun and challenge of learning Haskell is that there's so much depth to the language that no single resource suffices.
Stephen Diehl's "What I Wish I Knew When Learning Haskell" ( http://dev.stephendiehl.com/hask/ ) is comprehensive and modern, but not really a beginner resource.
[1] http://stackoverflow.com/questions/23727768/which-part-of-re...
https://github.com/bitemyapp/learnhaskell
I have a general question about Haskell though: I've read in more than one place that writing high-performance Haskell code is not easy for a non-expert to do, and to at times you have to sacrifice conciseness.
While I love the aesthetics of Haskell syntax and higher order functions, I have this paranoia that beautiful code may be slow code.
* The vast majority of code doesn't need to be fast, and it's trivial to write code that's within a factor of 5 of optimized C. I can write Haskell at least 10x faster than I can write optimized C for the same problem.
* If you want code that's within a factor of 2 of C then you'll need to understand quite a bit about the internal details of the compiler, but your code won't get too ugly. I'd say it's about the same amount of work in both C and Haskell to get this level of performance.
* If you want code that's just as fast as optimized C then you'll need great understanding of both the compiler and the underlying hardware. At this point, you can expect your code will get hideously ugly. Also your code will break a lot when GHC versions change. I can write optimized C about 10x faster than I can write optimized Haskell.
Of course every problem is different, and this is only a rough average of my experience.
It's web-only right? Could I use it to develop something that uses local graphics (like SDL or such), or play around with the Haskell School of Music lessons with actual audio output? What do people generally use for a local IDE? Is Leksah any good?
I'm on Windows, FWIW.