Copypasta from the first time this was posted (with the wrong URL):
Pretty thrilled about this book.
There are rather few recent Haskell texts with beginners in mind, and Chris of the https://github.com/bitemyapp/learnhaskell fame is probably one of the most qualified people out there to teach the subject. At Front Row we actually use learnhaskell pretty heavily with our new developers. For us it's the central hub for devs to start learning the language.
Anything that helps people get started and advance through the skillset is a huge boon to the community.
He may possibly be a qualified teacher of Haskell, but he's a terrible ambassador for it. A cursory glance through his post history shows him time after time attacking people who dare write about something they like about other languages...all with his smug air of superiority. Want to write a post about asynchronous patterns in your favorite language? He'll be right there dismissing everything you say with some smug comment about how Haskell had it first. I've seen his handle pop up everywhere from Rust threads about Traits to JavaScript threads about async/await. That is exactly the type of personality I found prominent when I decided to learn Haskell, and it is a huge contributing reason to why I won't go back. There are far better ways to evangelize your language than to troll and abuse fans of other languages.
This twitter exchange I had with him and the infamous Tony Morris was all I needed to know I don't want or need to have anything to do with either of them--and furthermore spending time learning from either of them may actually hurt me, if it encourages me to starting thinking the same way they do:
I love Haskell and spend a lot of time learning it, but I've gotten by just fine without his resources. The fact is that a lot of far more tolerant and far less self-aggrandizing folks have been patiently teaching Haskell for a long time. Check out #haskell (or #nothaskell, lots of nice folks there too) and ask for help if you need it.
> I love Haskell and spend a lot of time learning it, but I've gotten by just fine without his resources.
An author/creators personal qualities does not detract from their work. For example, Orson Scott Card, the author of Ender's Game has some pretty homophobic and bigoted views. However, that does not take away from the fact that his books are enjoyable.
> but it sounds a bit like he thinks that was a mistake:
I do and it's something I'm still working on. I don't have any illusions about being anything other than deeply imperfect. Any progress I've made so far is due to good people who were patient with me.
Much of the hostility people are seeing in my post history is frustration with the industry - not that that excuses anything. Being nice is necessary, but not sufficient, for having a productive conversation. I once contested that with pg but now think he was absolutely right about it.
Another pattern that is a problem is failing to soften delivery or being responsive. It doesn't matter if you're right or not if you're flatly reiterating your stance on something - people won't believe you anyway. It can also make sentiments seem more hostile than they are intended or need to be. I've seen this in myself and others.
I started teaching Haskell because I knew I wouldn't be able to use Haskell unless I could teach coworkers efficiently and effectively. It changed from there into a more general dissatisfaction with what learning Haskell was like for many (most?) people. I talked about this some at Lambda Conf this weekend.
I make no excuses. I'm still working on it. I've had a standing offer to make amends with people I've wronged for awhile now and that stands. Some people I've been able to catch up with, many are still out there.
I like to believe (internal narrative, no idea if it's true) that the book has harnessed my impatience into something useful.
I'd rather write a MonoHaskell compiler with an LLVM backend using Stephen Diehl's material[1] and make it something real that people can hack on and play with.
The people that held the anti-FTP position (Augustsson, others) reportedly found the site funny at the time. I was prepared to take it down if they'd been upset, but they weren't. I heard good arguments against the proposal (particularly from Cale), but nothing compelling enough to justify increasing the already disconcerting distance between commercial Haskell practices and what beginners are shown in the Prelude.
Chris (coolsunglasses) has a bad rep from being pretty harsh on in the past, but I want to say that my interactions have been very positive. When I posted my first project[1] on the Haskell reddit, he reached out to me via email and discussed ways to improve the code, which was one of the nicest things anyone's done for me, at least related to software.
I think he's toned things down publicly, though I get where a lot of it comes from. It is frustrating to see people excited about things like async patterns in say node, when Haskell's are so nice but largely ignored.
Luckily we're not all so quick to judge others. Or maybe I am: In my opinion it is posts like yours that turn/have turned Hacker News into Douchebag Central.
Perhaps this is the wrong way to phrase this question... but what's wrong with http://learnyouahaskell.com ? Personally I found it very approachable, but then I've never tried another way of learning Haskell. Just curious to hear what the common critiques of it are.
Wow, great - thanks! Sure wish I had taken cis194 while I was at Penn, people always talked about how great the course was but I didn't realize it was best-course-in-the-world good. (I wasn't a CIS student and didn't think I would be programming professionally upon graduation).
Well, best that we're aware of. It's a total accident and the friendly insistence of a nice Australian Haskeller (they're really lovely people btw) that I even discovered it.
I think a lot of the value of cis194 is also in who is teaching it. Yorgey has been at this for awhile and wrote the incredible typeclassopedia: https://wiki.haskell.org/Typeclassopedia which my coauthor and I are so fond of we had bound printed copies made.
Then you had Richard Eisenberg teaching it in '14 - he's really good too. I took his GADTs workshop at Lambda Conf this weekend and it was phenomenal.
Afraid I don't know anything about the current instructor.
Do note that because of what the courses do and do not cover, the Spring '13 cis194 is what's recommended for independent learners despite some errata that have been noted.
I would really love a chance to talk to several people from UPenn's CS department - a very impressive bunch.
I would really like to purchase this book - Haskell is fantastic - but I'm afraid it's too expensive for me. But also, when I study, I want a real book not an ebook. So I will have to skip this one, sadly enough. If it comes in print I might reconsider.
By all means wait then! The ebook-only is because this is early access, we're looking for people that want to send us feedback and help us with the book without committing to a more laborious review process. It might also be worth waiting in your case because we haven't released the majority of the content yet. The early access should make sense for a wider audience when about ~50% of the book is part of the current release.
We're determined to get a print run but we won't start preparing for print until the book is done in January. For now we've been testing samples from printers and figuring out costs. One problem is that a lot of places charge a lot for shipping internationally so we might need separate printers for US and EU. Another problem is the book's length is going to make things expensive, so it'll have to be a black & white book, with the color syntax highlighting being ebook only. The cost estimates I've been getting for a color print have been $100++ per unit.
but you can skip the first four weeks. You can try skipping more, but I suspect some backtracking will be required.
Also be aware that the rules are different for recursion when non-strictness is involved. It doesn't necessarily matter if functions are tail recursive or not.
Pretty thrilled about this book.
There are rather few recent Haskell texts with beginners in mind, and Chris of the https://github.com/bitemyapp/learnhaskell fame is probably one of the most qualified people out there to teach the subject. At Front Row we actually use learnhaskell pretty heavily with our new developers. For us it's the central hub for devs to start learning the language.
Anything that helps people get started and advance through the skillset is a huge boon to the community.