I am aware of Ketos. I am not looking for a lisp interpreter.
One of my favourite features of Lisp is “code as data; data as code.” This is a bit harder to do in Rust.
Is there some Rust macro that lets me write some expressions in sexp notation? There are certain data/patterns/DSLs I find easier to express in sexp instead of Rust notation.
I clicked on every crate on the first page (is there more?).
Every crate seems to be a parser.
I must have mis stated my problem – I want to do this at compile time, via macros.
In particular, doing the ‘translation’ at compile time lets me get all the benefits of Rust’s compiler / type checker,
whereas if we do it at run time, either:
- everything is sexp/value OR
- we need to write our own type checker
Oh, sorry my fault i misunderstood. This blog goes over how to write a macro for reverse polish notation, which is similar if not the same as sexp.