LispMicrocontroller
LispMicrocontroller copied to clipboard
A microcontroller that natively executes a simple LISP dialect
There are a number of built-in forms that directly emit instructions, for example, first, rest, bitwise-and, +. It should be possible to reference these as variables, e.g. (reduce '(1 2...
This ```lisp (let ((x 2)) (let ((x 3) (y x)) (print y))) ``` Should print 2, but it prints 3. When y is assigned to x, it shouldn't use the...
Currently the compiler doesn't track line numbers. Find a way to add track this information. Perhaps create a proxy object that is put into the list structures in place of...
Many interesting things could come from having program and data memory combined. As you mention in #2 though, this would require an extra cycle for instruction fetch, or require creating...
It seems like it’d be straightforward to add opcodes for program memory load/store, and therefore allow the program memory to be writable. That could enable use of a Lisp implementation...
It seems like just changing a few parameters could take the design to 32 bit without much of any other change.
It’d be cool to have a version of the compiler that’s itself written in Lisp. It might even be cool to have an interpreter written in something like Common Lisp,...