
I guess it is time to give my two cents on this topic I am definitely not an expert Haskell programmer I am a mere hobbyist I make my bread coding Java/C++/C. I think the two things I like most about Haskell are 1. Its methods of combination Lazy Eval, Function composition and Higher order functions aka the glue. Showing these off and how they compare and are better than many other languages would be a nice selling point. 2. Its type system and the kind of errors it eliminates, and the way it allows you to structure programs. Things I like least about Haskell (These are Haskell show stoppers for me) are 1. The tooling no good IDE for it. 2. The Libraries/Available Code Examples (Missing Functionality, Sparse availability, maturity, documentation, ability to understand them because many of them use Monads and Arrows, Functors etc). I have to strongly disagree with the statement that developers like to debug. Debugging is necessary because you can't reason about any "sizeable" piece of code just is not tractable even in Haskell. Now automated tools for reasoning about programs are very cool but lets face it no real world developer will sit down start to manually formally reason about large pieces of code. Picking Very Mathematical examples for the tutorial will also alienate typical developers. I am personal very interested in Category theory as it pertains to software engineering but it is not very accessible for someone who is trying to learn about it (aka me) never mind someone who could care less. Troy