[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
#, read macro
- To: Christopher Maeda <maeda@mcc.com>
 
- Subject: #, read macro
 
- From: Barry Margolin <barmar@Think.COM>
 
- Date: Mon, 20 Jun 88 13:03 EDT
 
- Cc: sandra@cs.utah.edu, common-lisp@sail.stanford.edu,        cl-compiler@sail.stanford.edu, bug-cyc@mcc.com
 
- In-reply-to: <19880620065222.1.MAEDA@PELE.ACA.MCC.COM>
 
- Supersedes: <19880620170243.2.BARMAR@OCCAM.THINK.COM>
 
    Date: Mon, 20 Jun 88 01:52 CDT
    From: Christopher Maeda <maeda@mcc.com>
    We are implementing a frame system where each frame is a defstruct.  We
    use a reader macro to reference case sensitive frame names, permitting
    the frame namespace to be disjoint from the symbol namespace.  The
    reader macro also lets us hook into a completion package that is very
    handy for longer names.
    I would be interested in hearing what alternatives the cleanup committee
    is considering.  Being able to dispatch to an arbitrary read function is
    hard to beat.
    --Chris
No one is talking about removing reader macros in general.  We are
considering removing the "#," reader macro.  "#," is a relatively
obscure cousin of "#."; it causes the form following it to be
evaluated at load time rather than at read time as "#." does.
To see how it currently works, put the following definition in a file:
(defun sharp-comma-example ()
  (quote #,*sharp-comma-var*))
Compile the file, type (setq *sharp-comma-var* 'a), then load the binary
file.  Then type (setq *sharp-comma-var* 'b) and (sharp-comma-example).
It should return A.
                                                barmar