-
Notifications
You must be signed in to change notification settings - Fork 0
What started as an attempt at a byte code interpreting scheme has turned into an experiment with GC.
License
arlaneenalra/insomniac
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
To setup an build environment, run setup.sh. If all goes well, you will find a build tree configured in the directory build. * Preamble/Postamble These two files contain a very basic bootstrap for core scheme. The goal is to get the system up and running with this very crude core and then do most of the real coding work using scheme. * GC For the moment, I'm playing around with the idea of a mark/sweep garbage collector for use with the final product. I'm working on means of decoupling the structure of a cell from the GC code. That's going to require a method of specifying the structure and size of a cell without the GC knowing about the core type. Array's are going to be the really tricky part here. TODO: * Build out define-record-type and assorted functions -- This will be a big help in getting the code ready for the metacircular interpreter. * Sweep is currently limited by stack size, this should be adjusted to work in an iterative manner, if possible. This will take some work to get right and is not immediately necessary, thankfully. * VM code recreates gc types every time that a vm is instance is created. This needs to be rectified. * Rework compiler to produce CPS style code (begin, etc) -- This will likely be delayed until the system is metacircular.
About
What started as an attempt at a byte code interpreting scheme has turned into an experiment with GC.
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published