[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


This looks like so much fun that I'm going to jump in head first
with both feet in my mouth.

I'm curious to know who takes care of defining a random CADADAR when it
is used.  I can think of two approaches.  One is to have READ do the
work, and one is to have EVAL do it.

Regardless of who defines CADADADAR when it is used, there is still a 
basic philosophical problem.  It's been a design philosophy of Lisp
that all its features be available to the user.  For example,  there
are special forms in Lisp like SETQ and DO.  Lisp gives the user the
ability to define new special forms.  Similarly, there are read macros
like single-quote and the pound-sign macros; these are also fairly
easy for the user to define.

Now consider the C...R hack.  However it's implemented, it's hard to 
imagine a good user interface to allow users to create similar hacks
of their own.  Borges said something like "La maravilla y la confusio'n
son operaciones propios de Dios y no de los hombres."  Just on general 
principles, it seems a good guess that Lisp features which in their 
general form /can't be used by users/ ... such features may be marvels,
but they are probably also confusions.


PS.  I'm not really asking for possible user interfaces.  One could
imagine a mechanism whereby you could teach READ a regular expression
against which it would henceforth check all new symbols' print-names,
with a piece of code hanging off the regular expression saying what to
do if such a symbol is read.  I hope this is conveying some of the reasons
for my nervousness about features like the C...R hack.