Pergunta

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?

Foi útil?

Solução

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).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top