[ale] Why LISP? (was Why Ruby?)

Joe Knapka jknapka at kneuro.net
Fri Jan 28 03:34:02 EST 2005


Aditya Srinivasan <sriad at uab.edu> writes:

> Hi,
> 
> On Thu, 27 Jan 2005, John P. Healey wrote:
> 
> > I think the main thing I like about Lisp is that it's absolutely nothing like
> > perl, smalltalk, c, python, or java.  Whenever I sit down to try and write
> > something in lisp the way i would normally write it in {insert language here},
> > i find that lisp manages to accurately embody my ideas in the jumbled mess of
> > thought that they truly are.  At that point, I usually throw away whatever i've
> > written and rewrite a working copy in a tenth of the amount of code, simply by
> > abstracting it properly with macros.
> 
> I am interested in learning the functional programming paradigm.
> Are there any particular resources online/books you would recommend ?
> Also any advice about choosing one amongst LISP/Scheme ?

Why limit your options to Lisp and Scheme? (Though those are both good
languages to know.)  In fact, writing non-functional code in Lisp is
quite easy, so it's not necessarily a good choice for learning FP.

Haskell <http://www.haskell.org> is a truly beautiful,
purely-functional language (no side-effects). It's very different from
Lisp or Scheme, or any other language I know, come to think of it.

O'Caml <http://www.ocaml.org/> seems to be the Perl of FP. IIRC, it's
ML with OO extensions; ML was one of the very first functional
languages (possibly the very first, I'm not sure). Like Lisp, it
permits side effects. I have written a tiny bit of O'Caml code, but
the syntax is gross; I like Haskell better.

If you want something more traditional-looking, there's also SAC
(Single-Assignment C) <http://www.sac-home.org>, an
(almost?)-purely-functional derivative of C that seems to do a very
good job of appearing C-like while actually being side-effect free.

Cheers,

-- Joe

-- 
"Meet the new boss / Same as the old boss..." -- The Who
... Oh well, at least there's 2008.
--
pub  1024D/BA496D2B 2004-05-14 Joseph A Knapka
     Key fingerprint = 3BA2 FE72 3CBA D4C2 21E4  C9B4 3230 94D7 BA49 6D2B
If you really want to get my attention, send mail to
jknapka .at. kneuro .dot. net.



More information about the Ale mailing list