Speeding Through Haskell
What's going on?
As you might have noticed, updates have died down a while ago. As I've been pouring more and more energy into other life stuff (mainly college and gender transition) I've realized that I don't have the zeal necessary to finish this book anymore. I apologize about that; I believe that, given more time, it could have turned into something quite special. But this is where you come in: I hereby release this book under the Creative Commons Attribution 4.0 International license. This means that you're free to make your own changes and even finish the book and sell it as long as you attribute my contribution to Arya Popescu (that's me!). I would also like to apologize for sometimes overly gendered language (I didn't know what was what back then, but that's not really an excuse); I will probably go and correct that myself as I can't bear to let it stand, but if you do start working on it before I get a chance to correct it I would ask you that you do so.
Phew! That was a scary thing to write. Thanks for reading and check back around mid-June (2015) for the source code of the book. Until then, farewell!
Arya (formerly Mihai)
Welcome to Speeding Through Haskell, home of the newest Haskell programming book. It's so new, it's not even finished yet!
Haskell is an awesome programming language. It's a lot more mathematically rigorous than others, which means that programs can be proven to be correct and in most cases, if they compile, they will run just fine too. This involves new challenges, however. For instance, you can't change even a single "variable". Everything is done via recursion and other tricks. Don't worry, it'll seem very natural once you try it out.
You can take a look, but keep in mind that it's a work in progress. Some things may be inaccurate; many will be incomplete. Things marked [fixme] are broken; [xref] tags indicate missing cross-references. I'm aiming for about 15-20 chapters for the finished book --- it's going to take a while.
Meanwhile, you might want to shoot an email to questions at sthaskell dot com for corrections (if something's even slightly wrong), suggestions (if something's missing or poorly explained) or just to say hello. However, the #haskell freenode channel is a better place for general Haskell questions. There are many awesome people over there happy to answer yours (I go by the name brisingr).
If you want the book, you can download it (alt link). It's the same version as the one below, but the footnotes, cross-references and the table of contents are clickable (depending on your PDF viewer). Don't forget to check back often for updates!