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


   Date: Wed, 25 May 88 18:19:33 PDT
   From: cperdue@sun.com (Cris Perdue)

   > Issues surrounding Symbol-Macrolet
   > - Incompatible Language Change
   Granted that symbol-macrolet affects the meaning of symbols
   in expressions generally, and code walkers in particular.  Code
   walkers will indeed have to be modified to handle symbol macros.

   The specter of misuse of of symbol-macros is a red herring.  Lisp
   already has plenty of power that can be misused to make programs
   confusing or worse.  The SETF concept and even the concept of
   macros provide this level of power.

I have mixed feelings about SYMBOL-MACROLET myself.  This prompts me
to propose NUMBER-MACROLET for the sake of contrast.

	(number-macrolet ((6 '(a b c))
			  (3.14159 2.71828))
	  (list 6 '6 3.14159 '3.14159))

	=> ((a b c) 6 2.71828 3.14159)

This would certainly encourage explicit quotation wherever appropriate
(which others have already advocated), and would provide a counterexample
to the adage "There's safety in numbers."