[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