Python's Lisp heritage
Jacek Generowicz
jacek.generowicz at cern.ch
Mon Apr 29 05:36:48 EDT 2002
"James J. Besemer" <jb at cascade-sys.com> writes:
> Paul Foley wrote:
>
> > I think you're missing the point: Lisp is not defined in terms of
> > text; instead, it's the objects that result from calling READ on
> > that text. There are no parentheses in that result; there are
> > only lists, symbols, strings, integers, etc., etc. That's why you
> > can define things like the infix syntax reader Jacek Generowicz
> > mentioned.
> >
> > READ can call arbitrary user-defined functions to parse the
> > textual representation into internal objects, so it can read any
> > surface syntax you want.
>
> I appreciate that Lisp can be customized to process any alternative
> input that you like. And that the default S-expression notation may
> be abstracted away from the underlying language semantics.
>
> However, seems to me that out of the box there is this default
> S-expression notation that is rather pervasive to programming in
> Lisp. If you pick up a book on a particular dialect of Lisp or a
> manual on a particular implementation they all begin with this same
> default syntax. This default notation, it seems to me and many
> others, requires more parentheses than you normally have occasion to
> use in Algol-like languages such as Pascal, C or Python.
>
> Although I personally did not find these differences to be a problem
> when I used to program in Lisp I sympathize with those who find them
> strange and unfamiliar. I feel the default S-expression syntax
> represent a legitimate barrier to entry, however slight, to new
> people approaching and learning the language for the first time.
To re-state publicly the sentiment I expressed in our private exchange
...
As your experience suggests, it is a very slight barrier. The
multitude of people who have never made a sincere effort to overcome
this barrier, but are nevertheless all too eager to suggest publically
that the issue is a serious one, are guilty of mindless
vandalism. They do _nobody_ any favours.
I have no problems with people who do not wish to learn or use lisp,
but I do so much wish that such people would not prejudice others
against what (in the case of Common Lisp) is, above all, an extremely
_practical_, _useful_ and _productive_ language.
More information about the Python-list
mailing list