Plug: for fun I made a (less ambitious) version of this kind of thing for Rust which I ended up being pretty happy with
[2]: https://github.com/ThePhD/sol2
Embedding Fennel in Rust allows you to ship user-facing macros written in Fennel without users having to setup a Lua environment beforehand (e.g. [1]).
[1]: https://git.sr.ht/~ioiojo/kiwi/tree/master/item/tests/data/c...