For this course, we recommend using Chez Scheme Version 7.4d (which is installed on CS department machines) or Petite Chez Scheme Version 7.4d (which you can download here). Version 7.9.3 is the current prerelease of Chez Scheme/Petite Chez Scheme with complete support for R6RS Scheme. However, if you use Version 7.9.3, be aware that some of the tools we use in this course may be incompatible with R6RS.
Fair warning: although it's up to you which Scheme you use, a few of the tools we use in this course may be incompatible with implementations other than Chez Scheme.
(test "factorial-5" (fact 5) 120)
If you're interested in miniKanren development, check out the project site on Google Code!
The course staff use and endorse the Emacs text editor.
.emacsbefore using it.
.emacsfile, you must download the dot_emacs_dot_d.zip file, unzip the file, and rename the resulting directory
.emacs.d. You must then update the load-path in your
.emacsfile to point to the location of the
.emacs.ddirectory. Contact the AIs if you cannot unzip the
dot_emacs_dot_d.zipfile, or otherwise have problems configuring Emacs.
productprocedure written three ways: in accumulator-passing style, in continuation-passing style, and in direct style using