From: Jeff Bone (jbone@clickfeed.com)
Date: Mon Mar 20 2000 - 10:24:12 PST
CAML is interesting. SML is of course what you need to learn if you every
plan to look at anything about SML, but CAML has some neat wrinkles and a
quite workable implementation. OTOH, I never got the "really deep Zen"
feeling from any of the MLs that I did from Scheme. Scheme is, more than
anything else except maybe UNIX, a study of the power of a small number of
high-level abstractions, uniformly applied. IMO, Scheme's almost
non-existent syntax certainly keeps the focus on the abstractions rather than
the syntax; if you're interested in learning syntax, I'd say go the CAML
route.
The best reason for Scheme, IMO, is the abundance of both implementations
(learn how to implement interpreters / compilers with a minimum of fuss) and
the general use of Scheme as a sort of executable mathematical language for
describing programming language concepts.
If you're interested in type systems, an *ML might be a good choice. I'd say
head that way after a nice flirtation with Scheme. OTOH, if you *really*
want to learn about type theory and *pure* functional programming
simultaneously, then check out Haskell. Warning: that will *really, really*
screw up your head. (My kingdom for a clearer understanding of monads! ;-)
jb
Robert Harley wrote:
> I would also recommend ML, either SML or CAML.
>
> The difference from Lisp is that Lisp will teach you to close parentheses
> nested 17 deep, whereas ML will teach you functional programming.
>
> Bye,
> Rob.
This archive was generated by hypermail 2b29 : Mon Mar 20 2000 - 10:23:43 PST