If you want X, you know where to find it (was Re: do...until wisdom needed...)

Alex Martelli aleaxit at yahoo.com
Wed Apr 18 07:21:13 EDT 2001


"Douglas Alan" <nessus at mit.edu> wrote in message
news:lcg0f6eq0m.fsf at gaffa.mit.edu...
    [snip]
> > Does this mean with 40+ years of development, Lisp does not have
> > features of some modern language, in that it isn't widely
> > used, not tuned, etc.?
>
> No one ever did a version of Lisp that was highly tuned for scripting.

http://www.gnu.org/software/guile/guile.html doesn't count...?
[It's Scheme, but we've already established that you do consider
that a version of LISP].


>    set x = 3
>
> gets tranlated into
>
>    try:
>      x
>      x = 3
>    except NameError:
>       raise VariableNotBound("x")

How wonderful.  And
    set x = y + z
will no doubt get translated into Something Totally Different
to avoid erroneously raising a VariableNotBound for 'x' when
the problem is actually that y and/or z give NameError's or
such an error bubbles up from y's __add__ or ...

Us humble mortals would of course use a try/except/else instead,
totally nullyfying this problem (indeed, that IS just the kind
of thing the else clause on the try statement is there for), but
I guess this minute attention to such trifling details as doing
things right is exactly what makes us unworthy of grokking the
Tao of Python Macros (I mean, just imagine taking the trouble to
learn a language thoroughly and using it accurately before one
starts to advocate changing and complexifying it -- how TACKY!).


Alex






More information about the Python-list mailing list