Oh, I'm writing a horrible Lisp dialect in C++.
Lisp types are C++ classes derived from a base class.
'$' (which is a valid name in recent(ish) C/C++) is a variadic template that constructs a proper Lisp list using an overloaded function to convert (some) C++ types to Lisp types.
'eval' is implemented more or less how you'd expect. There's also a 'read' in more idiomatic C++ so it'll run actual scripts.
I plan to do a writeup on this once I'm done(ish).
@suetanvil please, share it when you are done!
I plan to. I’ve sunk too much time into this not to horrify^Wshare.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!