Python syntax in Lisp and Scheme

Andrew Dalke adalke at mindspring.com
Thu Oct 9 15:52:47 EDT 2003


Me:
> > Note that I did not at all make reference to macros.  Your statements
> > to date suggest that your answer to the first is "no."

Doug Tolton:
> That's not exactly my position, rather my position is that just about
> anything can and will be abused in some way shape or fashion.  It's a
> simple fact of working in teams.  However I would rather err on the side
> of abstractability and re-usability than on the side of forced
restrictions.

You are correct.  I misremembered "Tolton" as "Tilton" and confused
you with someone else.  *blush*

My answer, btw, that the macro preprocessor in C is something
which is useful and too easily prone to misuse.  Eg, my original
C book was "C for native speakers of Pascal" and included in
the first section a set of macros like

#define BEGIN {
#define END }

It's not possible to get rid of cpp for C because the language
is too weak, but it is something which takes hard experience to
learn when not to use.

As for a language feature which should never be used.  Alex Martelli
gave an example of changing the default definition for == between
floats, which broke other packages, and my favorite is "OPTION
BASE 1" in BASIC or its equivalent in Perl and other langauges.
That is, on a per-program (or even per-module) basis, redefine
the 0 point offset for an array.

                    Andrew
                    dalke at dalkescientific.com






More information about the Python-list mailing list