My goodness...
Neither Simon, nor the five responders ever mention laziness!For me it was THE "aha" moment, or rather a long period...
The problem with popularizing laziness is that too many short comments (on Internet) on it are not serious. People speak mainly about infinite lists (as if somebody really cared about this "infinity"), or that lazy program do not evaluate some expressions, which should *economise* some time, which usually is not true...
*
For me, lazy programs permit to represent dynamic processes as data.
Iterations as mathematical structures.
Co-recursive perturbational schemes (or asymptotic expansions, etc.), which are 10 or more times shorter than the orthodox approaches, and remain readable, and natural.
Laziness makes it possible to play with continuations, thus: "making future explicit", in a particularly constructive manner.
===========================
Second section...
Somebody mentioned "type families".
Why not, but for an audience outside of the FP realm??
If something about types, then for sure the automatic polymorphic inference, which remains a bit mysterious for many people, including my (comp. sci.) students. And the Curry-Howard correspondence.All the best.
Jerzy Karczmarczuk
/Caen, France/
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell- cafe
Only members subscribed via the mailman list are allowed to post.