snakestack
is a virtual stack machine framework for developing and benchmarking low-level programs
for customizable architectures from within a high-level Python
environment.
A general-purpose CoreMachine
is included, which can easily be extended or replaced entirely with
custom instruction sets and virtual machine properties - all the while keeping the utility and
functionality provided by the framework without having to reinvent the wheel.
The primary application of snakestack
is intended to be prototyping numerical approximators and
solvers for simple architectures where computational efficiency is vital (embedded systems,
blockchains etc.). By leveraging the expressiveness- and existing optimization toolkit of Python
,
programs can be parametrized and optimized directly within an interpreted Python
environment and
later ported to bytecode of the target platform when a final configuration has been chosen.