Question

I want to define reader macros in such a way that they affect only a certain package/file.

So far I was able to load those files with

(let ((*readtable* (copy-readtable)))
  (load "file.lisp"))

Is there a better way to do it?

Was it helpful?

Solution

named-readtables is quite good to manipulate readtables.

EDIT:

You can look at Clesh and especially this commit to see how I've used named-readtables to define a new readtable. So now, instead of using (clesh:enable) to use the reader macros, one use (named-readtables:in-readtable clesh:syntax).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top