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