Index of /~leavens/ComS342/OLD/Spring2006/typedscm

      Name                    Last modified       Size  Description

[DIR] Parent Directory 25-Jun-2009 19:04 - [TXT] 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 [DIR] bin/ 14-Aug-2006 13:13 - [DIR] 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 [DIR] 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 [TXT] 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 [DIR] 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 [TXT] type-check-infer.out..> 22-Jan-2004 01:26 4k [IMG] typedscm-icon-small.gif 29-Mar-2005 18:46 1k [IMG] 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 [DIR] 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.