6 ms·
Real World Haskell
- antidaily 18y agoThe only language named after a 50's TV brown-noser.
- silentbicycle 18y agoIt's named in honor of Haskell Curry, the mathematician.
- antidaily 18y agoAhh, thanks.
- jfoutz 18y agoSorry, the only one i can think of is Oz.
- xenoterracide 18y agoawesome, I didn't realize there was a free version online. Thanks for the link.
- mitchellh 18y agoI prefer "Yet Another Haskell Tutorial" to jump into the language quicker. http://www.cs.utah.edu/~hal/docs/daume02yaht.pdf http://www.cs.utah.edu/~hal/docs/daume02yaht.pdf Its much more technical but for programmers with experience in functional languages, its much quicker to jump in than "Real World Haskell"
- andreyf 18y agoOnce you have basics down, it's worthwhile to go through and understand these: http://www.zvon.org/other/haskell/Outputlist/introduction.html http://www.zvon.org/other/haskell/Outputlist/introduction.ht...
- GHFigs 18y agoThis is the true story of seven functions picked to live in a program, and...I don't know enough about Haskell to make a decent joke. (What I do know is that that is a very simple and beautiful site with a clever commenting system and selections from one of the most incredible icon sets ever made.)
- lallysingh 18y agoJust finished the book last night.. Some thoughts: 1. It covers the core language pretty well. 2. It covers the secondary aspects even better. Including: Linking to C, performance analysis, parallelization, and a touch of compiler internals. 3. Written in a very readable tone, but assumes it's not your first time around the functional block. I picked up the pragmatic erlang book after this, and was put away at how much "baby's first functional language" it was in comparison. 4. Lots of examples in different areas: GTK, databases, networking, binary I/O. Grounds the reader coming from C/C++/Java land pretty well back in how to use the functional stuff for real work. Also shows that you can get all those tasks done with a good functional style, without mind bending.
- mitchellh 18y agoI agree with your points. However I know many programmers who don't enjoy this step-by-step nonsense it gives and would rather just have the language definition and a few short examples (not a complete JSON parser or binary file parser for instance). So I would say: Want a book that'll have you learn Haskell fairly well and give you giant examples, but takes a week to read (or more)? Read RWH. If you want to learn the basic language, w/o much example fluff, and learn the language in 2 days, read YAHT (linked in a comment below by me).
- DenisM 18y agoAnd if you have serious problems focusing (like I do) I recommend http://learnyouahaskell.com/ http://learnyouahaskell.com/ It was very easy to read.
- erso 18y agoLYAH was what got me really going with Haskell. Highly recommended.
- brl 18y agoOne thing that I don't like about the way the material is presented in the book is that they mix very important key concepts of the language with examples of practical applications. For example, the chapter about JSON is not really about JSON, it's about how to write a library and package it with Cabal. I skipped over the chapter about binary parsing the first time I went through the book because it seemed like pretty dull content. Later I returned to it, and about one-third of the way through it I found myself completely stumped and scratching my head. Out of nowhere they drop the state monad in your lap without really motivating it, or telling you what it is or warning you that most people find it a little bit difficult to wrap their head around at first. At that point I was completely lost until a gathered together enough clues to go searching around on the internet for more explicit descriptions of what a state monad is.
- socratees 18y agoThis is a really cool initiative. And I see users have already started commenting on sections of the book pointing out the corrections. Way faster than normal ways of type proofing. I have just started to read the book - will do it over the weekend.
- davidw 18y agoSo what is the sweet spot of Haskell in the Real World? What is its comparative advantage over other languages? Where is using Haskell, and not C, Erlang, Java, Forth, Cobol, Ruby or Lisp going to be a big win?
- rkts 18y agoHaskell has two useful features that are missing from the languages you mentioned: 1. Strong static typing 2. Pattern matching (1) tends to make development go faster (in my experience) by catching your mistakes early and locating them more accurately than a debugger can. It's also good for performance. (2) is great for any program that does a lot of stuff with trees, such as a compiler. However, neither of these features is unique to Haskell. They're also present in OCaml, SML, F#, and Scala, all of which should be easier to learn and start using than Haskell. The main qualities that distinguish Haskell from other languages are purity and laziness. These may be worth learning about since they're theoretically interesting, but their practical value is pretty dubious.
- dons 18y ago> purity and laziness. These may be worth learning about since they're theoretically interesting, but their practical value is pretty dubious Purity is important if you care about safety, maintainability, or paralellism. Also makes transactional memory tractable.