3 ms·
If you want an interactive system, clojure or common lisp will be much better choices. Part of the reason I haven't gotten into haskell is because as you said,
by pavelludiq 13y ago
If you want an interactive system, clojure or common lisp will be much better choices. Part of the reason I haven't gotten into haskell is because as you said, it "isn't quite there yet". Common Lisp has the added quality that an error trows you into the debugger, and that it makes errors much less punishing. If there is one lesson I've learned from gaming is that hard games don't repel the players if errors are easy to recover from and you aren't psychologically punished for them. Haskell isn't exactly a shining example of that, despite it's other great qualities. You want to make the teaching material challenging, not punishing(a great example of this is the game super meat boy).
Not to mention the traditional argument for lisp as a teaching language: the extremely simple syntax. For somebody who hasn't seen code before, lisp would look just as weird as any other language, so the unfamiliarity argument doesn't hold much water. Prefix notation isn't at all difficult to learn, (+ 1 2) would be just as weird as dividing using / or multiplying with *, and using % for modulo division. You just tell the students that this is how you write math with a keyboard(a white lie at worst:).
I'm currently working on a "try ruby" like tutorial to interactively teach FP using racket to college students, as my last year project.