Index of /~leavens/ComS342/OLD/Spring2006/typedscm
Name Last modified Size Description
Parent Directory 25-Jun-2009 19:04 -
LesserGPL.txt 18-Jan-2006 17:33 26k
Makefile 07-Jan-2006 17:36 4k
adjust-html-file.pl 23-Dec-2005 17:32 2k
bin/ 14-Aug-2006 13:13 -
chez/ 14-Aug-2006 13:13 -
collect-grammar.sh 12-Mar-2005 21:44 1k
collected-grammar.te..> 17-Feb-2006 18:34 5k
displayln-mod.scm 18-Jan-2006 18:21 1k
drscheme/ 14-Aug-2006 13:13 -
info.ss 18-Jan-2006 18:21 2k
maybe.scm 29-Jan-2006 22:23 3k
maybe.tst 29-Jan-2006 22:23 2k
relax-type-checking.scm 29-Jan-2006 22:13 3k
slib-alist.scm 25-Apr-2006 13:33 7k
slib-hash.scm 18-Jan-2006 18:21 3k
slib-hashtab.scm 25-Apr-2006 13:33 8k
tc-attrib-pair.scm 29-Jan-2006 22:23 2k
tc-bugs.txt 07-Mar-2006 03:48 6k
tc-char-seq-as-list.scm 06-Feb-2006 11:00 2k
tc-char-seq-as-strea..> 06-Feb-2006 11:00 2k
tc-compute-cxr-types..> 18-Jan-2006 18:21 6k
tc-compute-global-va..> 18-Jan-2006 18:21 2k
tc-env.scm 05-Feb-2006 15:29 6k
tc-env.tst 10-Feb-2006 01:06 5k
tc-error-output.scm 04-Apr-2006 14:38 16k
tc-global-var-output..> 04-Apr-2006 14:38 49k
tc-global-var-types.scm 05-Feb-2006 15:29 2k
tc-hash-table.scm 25-Apr-2006 13:33 7k
tc-hash-table.tst 10-Feb-2006 01:06 4k
tc-logical-variables..> 02-Feb-2006 01:01 3k
tc-output-type-expr.scm 09-Feb-2006 19:44 16k
tc-parsing-stream.scm 06-Feb-2006 11:00 4k
tc-position.scm 18-Jan-2006 18:21 7k
tc-qq-depth-stack.scm 18-Jan-2006 18:21 2k
tc-scheme-abstract-s..> 17-Feb-2006 11:02 44k
tc-scheme-annotate.scm 04-Apr-2006 14:38 84k
tc-scheme-annotate.tst 06-Feb-2006 11:00 15k
tc-scheme-parser-bad..> 18-Jan-2006 18:21 1k
tc-scheme-parser.scm 06-Feb-2006 11:00 98k
tc-scheme-parser.tst 10-Feb-2006 01:06 26k
tc-scheme-scanner.scm 06-Feb-2006 11:00 23k
tc-scheme-scanner.tst 18-Jan-2006 18:21 2k
tc-scheme-token.scm 06-Feb-2006 11:00 3k
tc-scheme-unparser.scm 10-Feb-2006 01:06 29k
tc-subst.scm 05-Feb-2006 15:29 21k
tc-subst.tst 05-Feb-2006 15:29 5k
tc-test-suite.tst 10-Feb-2006 00:23 2k
tc-token-seq-as-list..> 06-Feb-2006 11:00 3k
tc-token-seq-as-stre..> 06-Feb-2006 11:00 3k
tc-tracing.scm 18-Jan-2006 18:21 2k
tc-tree.scm 18-Jan-2006 18:21 3k
tc-type-check-and-ev..> 04-Feb-2006 09:45 10k
tc-type-helpers.scm 06-Feb-2006 11:00 21k
tc-type-helpers.tst 09-Feb-2006 18:45 15k
tc-type-translate.scm 13-Feb-2006 21:32 23k
tc-type-translate.tst 10-Feb-2006 01:06 7k
tc-types.scm 04-Apr-2006 14:38 59k
tc-types.tst 05-Feb-2006 15:29 7k
tc-util.scm 29-Jan-2006 15:18 8k
test-harness.scm 03-Jan-2006 16:31 10k
testing.scm 18-Jan-2006 18:21 5k
tests/ 14-Aug-2006 13:13 -
type-check-infer-bad..> 22-Jan-2004 01:26 9k
type-check-infer-bad..> 22-Jan-2004 01:26 9k
type-check-infer.out..> 22-Jan-2004 01:26 4k
typedscm-icon-small.gif 29-Mar-2005 18:46 1k
typedscm-icon.gif 30-Mar-2005 01:48 1k
typedscm-tool.ss 29-Jan-2006 15:18 8k
typedscm.pdf 04-Feb-2006 09:47 179k
typedscm.ss 18-Jan-2006 18:21 4k
typedscm.texinfo 17-Feb-2006 11:02 75k
typedscm/ 26-Apr-2006 12:20 -
writeln-mod.scm 18-Jan-2006 18:21 1k
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.