I have to say, I generally dislike video coding tutorials.<p>First, it's difficult to google/copy-paste. Second, it just goes against the way I learn new programming languages - I generally read it, then try it, then experiment with it in some other ways, list few pages back/forth, experiment more, fail, then continue. Usually copypasting/rewriting chunks of code. "What happens when I do THAT? Oh, it fails miserably. Why? Oh, that's why."<p>I can easily reread some parts. I can easily skim back/forth. While with the video, I don't want to hear the person more than twice, usually. The voice becomes annoying for the third time you hear it.<p>I feel that videos work great for <i>demonstrating</i> a language. I can never actually <i>learn</i> any language from a video tutorial.<p>(If you will bring the analogy of lecture - yes, this is partly true, but good lectures should be somehow interactive. The lecturer asks students, they can ask the lecturer back.)
This is somewhat of a nitpick, but for one thing, writing code that is as obviously correct as possible is important in every language, not just in Haskell. Compositionality is one of the most valuable things we can exploit when programming.<p>For another thing , the assertion that enumerating all the cases for a given function instead of using a lookup makes the code more obviously correct is somewhat flawed - it violates DRY, which is, like exploitation of compositionality, important in programming in general. Suppose the showPiece function had twice the number of cases. Would enumerating the cases individually or making the assertion that the code is more obviously correct as a result be reasonable?<p>In my view, you are solving the same problem whether you use a lookup or enumerate the cases individually, and it's not even a very big problem - just put your tokens in the right order.
Very cool. I don't have many Haskell coders where I spend my time, so it is nice to watch how someone with more experience tackles fairly basic programming tasks. The guard window and quickcheck in particular were eye-opening.
Thank you all so much for your feedback. And thanks to the OP for posting this. I can't make everyone happy all the time but I'll do my best to make each episode better than the last.<p><3 HN
Good screencast, there's a mistake regarding the piece colouring though. They're all black because all the characters are lowercase (and I think you meant to make the bottom row uppercase).<p>It can be verified in the code, and in the REPL when it's being tested.
For all those interested in emacs haskell mode this <a href="http://www.youtube.com/watch?v=E6xIjl06Lr4" rel="nofollow">http://www.youtube.com/watch?v=E6xIjl06Lr4</a> is about the best screencast I've seen covering the new stuff the Chris Done wrote. I'm using emacs prelude and it's a great environment right out of the box!
This looks interesting. I somehow really like Haskell, although I never got around to dive into it. It's one of those languages that I want to learn one day but never have time to. So, watching those videos is kind of showing me how things are done the Haskell way, which is kind of strange for somebody like me who's entirely used to C89 ;)