Wraith Scheme (32-bit version):


On November 17, 2009, I released version 1.36 of Wraith Scheme, an implementation of the Scheme programming language — a compact and elegant variety of Lisp — for the Apple Macintosh. To download a disk image of the release, click this link: Wraith Scheme 1.36.dmg. Here are on-line versions of the “README” file for the release, and of the Wraith Scheme Help file.


    Wraith Scheme is part of my family of implementations of the Scheme programming language for the Apple Macintosh™. (Scheme is a dialect of the Lisp programming language.) There is a 64-bit version that runs only on 64-bit Intel Macintoshes using MacOS 10.6 (“Snow Leopard”) or later, and a 32-bit version that runs on both PowerPC™ Macintoshes and on all Intel Macintoshes (both 32-bit and 64-bit), using MacOS 10.4 (“Tiger”) or later. The 64-bit version of Wraith Scheme is available open source under the GNU General Public License, but the 32-bit version is not.


    The 32-bit version of Wraith Scheme is far behind the 64-bit version in terms of features and R5 compliance.  I will keep it available indefinitely, for those of you who have PowerPC Macintoshes or who have Intel Macintoshes with 32-bit processors. I do not anticipate any more updates for 32-bit Wraith Scheme, unless someone should report a serious bug.


    Incidentally, there never was a 64-bit version of Wraith Scheme that would run on “G5” processors, which were PowerPC processors with a 64-bit architecture. I could probably have written one, but I have never owned a G5 Macintosh and so would have had no way to test such a version, and the big-endian nature of the G5 means that nontrivial testing would have been required.



Wraith Scheme 32-bit – Detailed Documentation:


    Just to have it all in one place on the page, here are links to on-line documentation for the 32-bit version of Wraith Scheme, that you can read in your web browser. These files are also available from within Wraith Scheme itself, via its “Help” menu. (The files so provided are part of the application: You will not need Internet connectivity to read them when you are using Wraith Scheme.) The documentation files for the 32-bit version of Wraith Scheme are different from those for the 64-bit version, and there is no “Wraith Scheme Internals” file for the 32-bit version.


                Wraith Scheme Help file

                Wraith Scheme Dictionary

                The “README” File



Wraith Scheme 32-bit – Overview:





    To run Wraith Scheme 1.36 you need a Macintosh that is running at least Mac OS 10.4 (Tiger). Wraith Scheme 1.36 should run equally well on Macintoshes with Intel processors and Macintoshes with PowerPC processors. If you have a newer Macintosh, running Snow Leopard, you might also be able to run the newer, 64-bit version of Wraith Scheme. Scroll up this page to learn more about it.


    I expect to keep a 32-bit, universal binary version of Wraith Scheme available as long as there is any demand for it. That version will probably not have such new features as I introduce into the 64-bit version, but I intend to fix any major bugs that turn up.


    This release is an “R5” Scheme, with “R5” referring to the Revised5 Report on the Algorithmic Language Scheme (1998), edited by Richard Kelsey, William Clinger and Jonathan Rees. That is, this version of Wraith Scheme contains all of the required features of R5 Scheme, plus many of the optional ones, plus some enhancements. The most noticeable enhancement is for parallel processing, and is described in more detail a few paragraphs down.


    The present release comprises the Wraith Scheme 1.36 application and a README file. There is a great deal more documentation within the application, accessible via the help menu. There is no source code for the application itself, but the 64-bit version has been released open-source, as described earlier on this page.


     The reduced-size screen shot above shows a recent version of Wraith Scheme shortly after opening, running a Scheme procedure. At the top of the pale yellow main window is the “banner” that appears when Wraith Scheme starts running. Below that is a record of a few short interactions with Wraith Scheme; the text shows what the user entered and how Wraith Scheme responded. The user has just typed the line “(increment 42)”, visible near the bottom of the main window, but has not yet pressed “return” to make Wraith Scheme process it.


    Wraith Scheme has major enhancements for parallel processing, by which I mean many separate Wraith Scheme processes running at the same time, sharing Scheme memory. One privileged process — the “MomCat” — supervises a handful of less privileged processes —  “kittens”. There are low-level primitives for interprocess communication and for locking shared data structures. Below is a reduced-size screen shot showing several parallel Wraith Scheme processes, each with its own separate and differently-colored window and with its own separate and differently-colored icon.





For a link to the portion of the web-browsable Wraith Scheme Help file that discusses parallel processing, click this link: Wraith Scheme parallel processing.


    The history of Wraith Scheme is described in a little more detail earlier in this page, in the description of the 64-bit version of Wraith Scheme.


   Wraith Scheme 1.36 is a bug-fixer for the previous release; for details, see the “What’s New” section in the Wraith Scheme Help file.


    Known serious bugs in Wraith Scheme 1.36: None known at present. If you should find any, by all means send me EMail.