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.
Server run by the main developers of the project It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!