My home page
Back to my software experience page
Back to my portfolio
COMFY-6502 is a port of Henry G. Baker's COMFY-6502 compiler to Common Lisp. COMFY is a "medium-level" assembly language which combines a clean but simple set of control primitives and Lispy macros with conventional machine code.
Baker published his work in his ACM Sigplan Notice column; including an Emacs Lisp implementation. (CFYCMP1.LSP.diff contains my patches to fix the genbrc routine and clean up the UPC example.) There is also a partial implementation in a different Lisp in CFYCMP.LSP. The Emacs Lisp implementation is covered under the ACM Software Copyright and License Agreement. At least until I write a manual, Baker's articles are the best introduction. You can peek at the comfy-tests.lisp file to see some of the enhancements I have made so far. TODO.txt contains some plans for future enhancements.
I should also mention Sassy, an implementation of Baker's ideas, in Scheme, targeting the Intel x86 (protected mode).
I have created a git repository for this package at github.
If you wish to fetch the current version, you may do so by executing the following command:
git clone git://github.com/jaoswald/cl-comfy-6502.git
The following files are a snapshot as of 29 April 2008.
@article{270947, author = {Henry G. Baker}, title = {The COMFY 6502 compiler}, journal = {SIGPLAN Not.}, volume = {32}, number = {11}, year = {1997}, issn = {0362-1340}, pages = {25--30}, doi = {http://doi.acm.org/10.1145/270941.270947}, publisher = {ACM}, address = {New York, NY, USA}, }
@article{261356, author = {Henry G. Baker}, title = {COMFY\.comfortable set of control primitives for machine language programming}, journal = {SIGPLAN Not.}, volume = {32}, number = {6}, year = {1997}, issn = {0362-1340}, pages = {23--27}, doi = {http://doi.acm.org/10.1145/261353.261356}, publisher = {ACM}, address = {New York, NY, USA}, }