Haskell Programming
haskellbook.com
haskellbook.com
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.
As a beginner, I would recommend anyone else who is stuck while learning Haskell to ask in #haskell on Freenode. The people in there are very helpful.
Also, not precisely the same question, but related and encouraging: https://github.com/bitemyapp/learnhaskell/blob/master/coc.md.
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.
Then stop attacking people and get used to the idea that you might be wrong on certain things pertaining to FP.
http://dev.stephendiehl.com/fun/
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.
https://twitter.com/dubitable/status/469359776074563584
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.
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.
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.
[1]plug: https://github.com/cgag/selecth
I've collated most of my thoughts on different Haskell learning resources and where the challenges are for learners in this post: http://bitemyapp.com/posts/2014-12-31-functional-education.h...
Please let me know if you have further questions.
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.
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.
We talk about the price a bit in the FAQ at: http://haskellbook.com/faq.html
Thanks for sharing your thoughts.
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.