Why aren't we all speaking LISP now?

Courageous jkraska1 at san.rr.com
Sat May 12 13:59:33 EDT 2001


>>Too many people have taken a lisp class and think that
>>recursion matters all that much to lisp programmers. Not so.

>Really?  Almost all of the Scheme programs I've written use
>tail-recursion.

Yes, really. I've seen more than one 100,000 line Lisp monstrosity.
Recursion is rare, and occurs where recursion is appropriate. My
experience is that, while indeed the Lisp environment is optimized
to make recursion feasible, professional Lisp programmers, while
a tad more likely to use recursion than the next guy, only do so on
problems in which recursion is the obviously appropriate answer.

I don't know what your professional Scheme experience is, but I do
know that the presentation which Lisp gets in most universities is
both misrepresentative and wrong-headed. Lisp is a _general
purpose_ programming language. In academia, where it is
apparently vogue to pigeon-hole everything into neatly assembled
categories of things, Lisp gets a biased presentation not covering
its true capabilities and true general use amongst programmers
who use it. Lisp is not "the recursion language," notwithstanding its
presentation as such in academic circles.

The majority of Lisp programs I've seen are dominated by map/
lambda forms, basic OOP with multimethod dispatch, heavy use
of multiple inheritance in mixin-style programming, and so forth.
The s-expression is exploited in a variety of ways. Hash tables
are used frequently. Lists are often abused, where other containers
would be better choices.

Those are typical Lisp programs.

Pell-mell use of recursion? No way. Not for anything but a recursive
problem.

C//




More information about the Python-list mailing list