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

The #+ and #- reader dispatch macro characters



I am having problems using the #+ and #- dispatch macro characters in
CCL1.3.1.  I have been porting Common Lisp code to MACL.  This code contains
forms like:

#+SIMULATOR 
(this form should be eval'd in the "simulator" environ)
#+HARDWARE
(this form should be eval'd in the "hardware" environ)


MACL seems to handle *features* a bit differently from other CLs I've used.
In particular
"#+ :CCL"  will work, while "#+ CCL" will not.  On most CLs, these forms are
equivalent.  

This has presented a problem for me.  I would like to alter MACL to treat
these forms identically.  The code I am porting has many conditional reader
forms like those above.  Either I have to figure out some way to alter the
"#+" dispatch character, or I'll have to change every occurrence of
"#+ <sym>" to "#+ :<sym>".  [Actually, it's more complicated than that
because <sym> might actually be an expression, and each atom in that
expression will have to be "keyworded".  I suppose what I really want is
for the reader to drop into the Keyword package as it evals <sym> and then
drop back into its original package for [conditional] evaluation of the
subsequent form.]

Any ideas?


Thanks, Matt Evett