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).

Sign in to participate in the conversation

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!