The first thing I did was try Scheme, Erlang, Haskell, O'Caml,
Scala...until I was tired of it. There is great variation among
functional programming languages. Pervasive static typing
(Haskell, O'Caml and the ML family in general) makes for a very
different experience. The same goes for macros (Scheme and
Common Lisp). Programming in Erlang is wildly different from the
others, too -- as it emphasizes servers, concurrent
communication and redundant architecture in a way that just does
not come up in, say, Haskell.

After my initial experimentation, I asked myself, what is
functional programming?  I took it to mean "all single
assignment, all the time" -- so I went with Haskell. The rest of
languages mentioned above allow you to escape the single
assignment restriction in various ways; and the other languages
that adhere to single assignment are "totally obscure" in the
Paul Bissex sense.

As for efficiently learning all this stuff -- I'm not sure there
is a way -- I recently picked up a real analysis book so that
I'll understand types better.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to "Bay Area Functional 
Programmers"  
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/bayfp?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to