A TYPE CHECKER FOR SCHEME TAILORED TO FOR SECOND EDITION OF THE BOOK ESSENTIALS OF PROGRAMMING LANGUAGES (File $Date: 2006/01/18 23:17:27 $) Brian Dorn and Gary T. Leavens dorn@cc.gatech.edu leavens@cs.iastate.edu The files in this directory are a type checker for a dialect of R5RS Scheme that is tailored to go with the second edition of the book Essentials of Programming Languges by Friedman, Wand, and Haynes (MIT Press, 2001). They work under DrScheme (MzScheme) and Chez Scheme. The documentation for this language is found in the file typedscm.texinfo. The Makefile can be used to produce HTML output (which ends up in typedscm/typedscm.html) and PDF (or postscript, etc.). 0. LACK OF WARRANTY Typedscm is provided without warranty of any kind. See the file LesserGPL.txt in this directory for details. 1. COPYRIGHT Most of Typedscm, except for a few files described below, is copyright by Iowa State University under the GNU Lesser general public license. See the file LesserGPL.txt in this directory for details. The exceptions to the LGPL copyright described above are as follows: 1. Code taken from the book Essentials of Programming Languages Friedman, Wand, and Haynes (MIT Press, 2001), found in the files chez/define-datatype.scm, chez/sllgen.scm, chez/r5rs.scm, test-harness.scm, and displayln-mod.scm, and 2. code taken from SLIB, found in the files slib-hashtab.scm, slib-hash.scm, and slib-alist.scm. These exceptions retain their original copyright. 2. INSTALLATION 2.1. Installation Under DrScheme To work with DrScheme, you must install this directory under PLT/collects in a subdirectory named typedscm. So this directory would be PLT/collects/typedscm (or plt/collects/typedscm on Linux). After doign this, you have to run the "Setup PLT" program, which is "PLT/Setup PLT.exe" on Windows, and "plt/bin/setup-plt" on Unix. Then, to use this language, select the Typedscm language from the DrScheme Language menu. (With this installation, you can also use use the batch files named mzscheme-* in the bin directory, provided you have MzScheme.exe or a shortcut in your path.) 2.2 Installation Under Chez Scheme If you are using this with Chez Scheme, you can place the directory anywhere. However, to tell the type checker where you have installed it, you must create a file chez/localize.scm. You can copy the example in chez/localize-example.scm to use that as a template: cd chez cp localize-example.scm localize.scm Then edit localize.scm, following the directions in the file. To run the type checker from the command line, use a (Unix shell) script or DOS batch file like the ones named scheme-typed* in the bin directory. 3. NOT USING THE TYPE CHECKER If you don't want to use the type checker, you can still work with files written in typedscm, by using the files drscheme/tc-ignore-types-at-runtime.scm and chez/tc-ignore-types-at-runtime.scm. There are also scripts in the bin directory named *untyped* to facilitate this. 4. GETTING HELP Write to Gary Leavens (leavens@cs.iastate.edu) if you have a problem with Typedscm that you need help with.