vx-schemeA Scheme interpreter for VxWorks.[ Home ] |
||
News
I've started writing a bytecode compiler, which has been an interesting exercise. If that interests you drop me a note! DownloadThe easy-to-build source distribution is available here:
You can contact me at scheme@colin-smith.net with any questions or observations. For all I know, I'm the only person out there who's interested in Scheme and VxWorks simultaneously. If you are too, drop me a note! DocumentationSee the main page. A word about the coding conventionThis code uses the VxWorks coding convention, used extensively at Wind River. The brace indenting is a bit unorthodox. At Wind, the party line was always "they're nobody's favorite indenting rules, but we all use them, and therein lies the value." True enough. Now that I've left WR to work at Google, I've been tempted to reformat the code in a more mainstream style, though. Maybe next version. Installation NotesFor VxWorks: Just unpack the archive anywhere you like. A Tornado workspace containing two projects is provided in tornado/vx-scheme.wsp. The first project, "target-shell", will build a VxSim executable that has enough C++ features selected to host the Scheme interpreter. The second is the interpreter itself. Build them both. Note: For the present, vx-scheme only runs on the target
shell: starting it from Start the simulator you just built. Once it's launched you can use a script in ../startup that will load the Scheme image. (The startup script is in the parent directory of the directory where the sim starts in case you define new builds on your own.)
For UNIX: For UNIX-like systems (FreeBSD, Cygwin, etc.) there's an
ordinary Makefile in the Test SuiteFor VxWorks: To run the test suite on VxWorks, follow the installation steps above and then, in your simulator window, do
The prompt changes to
Note: Running the test suite defines a lot of symbols. In particular, "i" is defined, which masks the VxWorks definition. It's probably best to ^X the simulator and start over after running the suite. For UNIX: To run the test suite for UNIX: after building with make (or
gmake) in the unix directory, just do a Note: The "good" files are slightly different for VxWorks: in that case, expected to fail the "mult-float-print-test" on VxWorks and the "good" file contains these failures, so the suite will "pass". But as explained elsewhere we just take what the native I/O system gives us. RoadmapMy current project is adding a byte code compiler, whose design is indebted to that given by Peter Norvig in Paradigms of Artificial Intelligence Programming. (I found this design easier to implement than the one proposed in SICP). Copyright © 2002 Colin Smith. |