Show HN: liblgpp – an extensible stack based VM for interpreters in C++
github.com
github.com
“Custom interpreters are powerful and flexible tools that allow solving thorny problems with grace.
The general idea is that distilling the fundamental building blocks in library form makes it possible to reduce needed effort to the point where more problems start to look like custom languages, and where it's affordable to try out new ideas and throw some away.”
- from the repo README
All objects except threads so far are value types, including coroutines, and I plan to push that angle further since I'm a huge fan.
But nothing is stopping you from adding a custom type that stores shared_ptr:s or whatever.
Some would object to even calling this bytecode, as I'm using structs for operations. But serializing code down the level the VM operates on still has value, and adding encoding/decoding of operations is definitely possible.