Find file
Fetching contributors…
Cannot retrieve contributors at this time
23 lines (16 sloc) 957 Bytes


A custom Lisp reader written in Elisp. This makes it possible to define syntax extensions, similar to what can be done in Common Lisp with set-macro-character.

Once loaded, this library will kick in when loading other .el files, when evaluating expressions in a buffer via C-M-x or via M-x eval-region or when running commands in the REPL (M-x ielm) etc. If there are bugs, they will most probably render your Emacs session unusable.

It's recommended to byte-compile it before loading, otherwise it's quite slow:

emacs --batch --eval '(byte-compile-file "elisp-reader.el")'

This isn't a final product. It's rather a request for brainstorming. It proves that it's possible to implement file-local symbols or a better syntax for RegExp-s; a customizable reader in general—by just doing everything in Lisp rather than in C.

See the commentary inside the file for more information.