You'd need a lot of support to get all the libraries running, but getting a bare-bones interpreter running shouldn't be insanely hard. You'd probably want to start with some idea of how the garbage collector is going to work and how it interacts with the rest of the system. The GC and memory management abstraction is seen as a black box by most of the interpreter, and the garbage collector "stops the world" when collecting so it appears like an atomic operation. In any case, it will want to move objects around, and if you have pointers in machine registers, they will need to be updated by the garbage collector.
The Scheme78 chip and the Scheme81 chip both ran Scheme directly in hardware. The current implementation of MIT Scheme is a (remote) descendant of the Scheme81 implementation. You should also take a look at the Scheme-86 implementation. https://www.researchgate.net/publication/2961473_Scheme-79_-_Lisp_on_a_Chip https://www.researchgate.net/publication/37596596_Design_of_LISP-based_Processors_or_SCHEME_A_Dielectric_LISP_or_Finite_Memories_Considered_Harmful_or_LAMBDA_The_Ultimate_Opcoed https://groups.csail.mit.edu/mac/users/mhwu/scheme86/scheme86-home.html On Wed, Feb 19, 2020 at 10:38 AM Scheming Pony <scheming-p...@protonmail.com> wrote: > The project I'm working on (a Libre CPU) could benefit from a symbolic > coprocessor. I thought MIT/Scheme would be a candidate for a prototype, > running directly on one of the CPU cores. > > What would it take MIT/Scheme run on a bare metal CPU (RISC-V or PowerPC) > from ROM? I'm guessing it would at least need some (hopefully) minimal > Posix support. > > Has this been done before? CL has Mezzano, as a demonstration of this > concept. The CPU will be running at 300 MHz, and there should be adequate > memory--640K should be enough for a PC right? > > -- Stewart Milberger > > > -- ~jrm