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},
}