Python's Lisp heritage

James J. Besemer jb at cascade-sys.com
Tue Apr 23 02:35:27 EDT 2002


Paul Foley wrote:

> On Sun, 21 Apr 2002 02:32:29 -0700, James J Besemer wrote:
>
> A lot of people think "Lisp" means "Scheme".
> Scheme sucks, so they think "Lisp" sucks.

That complaint seems specific to the Lisp community.  I don't sense that a lot of
people here know either language well enough to be making that particular complaint.

> Well, that's not entirely true.  Lisp has always used lexical scoping
> in compiled code.  There used to be a difference between compiled and
> interpreted code, though, where the interpreter used (only) dynamic
> scope.

My statement was 100% accurate, as "original Lisp" had no notion of compiled code.
The original semantics (as formally defined in Lisp itself [McCarthy]) called for
dynamic binding.  Most original implementations did it that way, many later
experimented with alternative approaches, and ultimately static binding emerged as
the preferred way to do things.

I find it highly ironic that Perl originally did it the wrong way ("local"), although
later they introduced a now-recommended static binding ("my").

> Hardly.  Syntax is perhaps /the/ single /best/ characteristic of Lisp.

Well, I have to back down and admit that good or bad is a value judgement.

I actually was conceeding to most peoples' negative view of the matter.  Personally I
am neutral on Lisp syntax and appreciate its several benefits.  With the right pretty
printer (regular old Vi's lisp mode works just fine) the parentheses pretty much
cease to be an issue.

However, you have to admit that having to surround virtually each and every
statement, expression, sub-expression, etc. in a pair of parentheses is at the very
least more tedious and error prone for the programmer than, say, using operator
precedence to organize arithmetic, semicolons or newlines to separate statements and
braces or indentation to group statements.  So although I don't fully agree, I have
to sympathise with people who say the syntax is it's worst feature.  And I very much
prefer controlling the semantics with an "Algol-like" syntax.

> [And it's worth noting that, as with other aspects of Lisp, people
> just keep reinventing it, badly --

Hmmm.... I was recently accused of making this claim, which is entirely untrue.
Evidently you've argued this point previously in this forum?

Regards

--jb

--
James J. Besemer  503-280-0838 voice
http://cascade-sys.com  503-280-0375 fax
mailto:jb at cascade-sys.com







More information about the Python-list mailing list