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.
This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!
We adhere to an adapted version of the TootCat Code of Conduct and follow the Toot Café list of blocked instances. Ash is the admin and is supported by Fuzzface, Brian!, and Daniel Glus as moderators.
Hosting costs are largely covered by our generous supporters on Patreon – thanks for all the help!