Sage Advice

I have been talking with some Haskell old-timers this week: Simon Peyton Jones and John O’Donnell. I let them know about our #HaskellMOOC running next year, and asked for their advice.

Simon wanted to know who the intended audience will be – (1) beginners, (2) experienced programmers without any Haskell experience, or (3) existing Haskell programmers. At the moment, I think the answer is (2). He suggested that we should emphasize deep principles of the language that show its conceptual elegance. Examples he mentioned include functors and lenses.

John had some advice drawn from his experience teaching Haskell to imperative programmers. They tend to ask the wrong type of questions. For instance, they might want to know about how to traverse a tree-like data structure with visited flags to indicate whether nodes have been processed yet. Basically, the problem is that they might try to implement imperative solutions in a functional paradigm – certainly possible, but messy and generally unnecessary.

Great things to bear in mind as we design our course materials!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s