
On Fri, Jul 02, 2010 at 06:03:31PM +0100, Andrew Coppin wrote:
Edward Kmett wrote:
"Knowledge of Haskell" means very different things to different people. I'd be somewhat leery of blindly hiring someone based on their ability to answer a couple of pop Haskell quiz questions.
A better test might be if they really understood Applicative and Traversable, or if they knew how to use hsc2hs; Talk about unboxing and when to apply strictness annotations, finger trees, stream fusion, purely functional data structures or ways to implement memoization in a purely functional setting, or how to abuse side effects to do so in a less pure way. Those are the kinds of things you get exposed to through actually using Haskell, rather than through reading a monad tutorial.
Hmm, interesting. Applicative and Traversable are two classes I've never used and don't really understand the purpose of. I have no idea what hsc2hs is. I keep hearing finger trees mentioned, but only in connection to papers that I can't access. So I guess that means that I don't count as a "knowledgable" Haskell programmer. :-(
On the other hand, I could talk for hours about stream fusion or STM. (Hell, I've even had a go at implementing both of these; the latter made it into The Monad Reader.) All of which conclusively demonstrates... something.
One thing it might demonstrate is the inherent deficiency of using litmus tests in evaluating applicants. -- Darrin Chandler | Phoenix BSD User Group | MetaBUG dwchandler@stilyagin.com | http://phxbug.org/ | http://metabug.org/ http://www.stilyagin.com/ | Daemons in the Desert | Global BUG Federation