Index of /~leavens/ComS342/OLD/Fall2001/lib

      Name                    Last modified       Size  Description

[DIR] Parent Directory 25-Jun-2009 18:35 - [DIR] EOPL2e-sources/ 04-Jan-2006 02:44 - [   ] add1-to-each-mod.scm 04-Jan-2006 02:05 1k [   ] add1-to-each-mod.tst 04-Jan-2006 01:02 1k [   ] all-mod.scm 05-Jan-2006 17:30 1k [   ] aop-3-7.scm 25-Apr-2006 13:33 20k [   ] aop-3-7.tst 04-Jan-2006 02:44 3k [   ] arith-expr-examples.scm 05-Jan-2006 17:30 3k [   ] arith-expr-examples.tst 05-Jan-2006 17:30 4k [   ] arith-expr-mod.scm 05-Jan-2006 17:30 3k [   ] atomic-exp.scm 05-Jan-2006 17:30 3k [   ] atomic-mod.scm 04-Jan-2006 02:00 1k [   ] atomic-tree.scm 05-Jan-2006 17:30 6k [   ] bexp-mod.scm 13-Feb-2006 22:26 5k [   ] bexp-mod.tst 13-Feb-2006 22:26 1k [DIR] bin/ 05-Jan-2006 20:12 - [   ] bintree-mod.scm 31-Dec-2005 19:29 1k [   ] cell-mod.scm 05-Jan-2006 17:30 2k [   ] cell-mod.tst 05-Jan-2006 17:30 1k [   ] ch3-1-modified-in-cl..> 09-Mar-2006 17:11 8k [   ] ch3-1-modified-in-cl..> 28-Mar-2006 17:43 1k [   ] ch3-1.scm 05-Jan-2006 17:30 6k [   ] ch3-4-modified-in-cl..> 09-Mar-2006 17:11 8k [   ] ch3-4-modified-in-cl..> 28-Mar-2006 17:43 1k [   ] ch3-4.scm 05-Jan-2006 17:30 7k [   ] ch3-5-modified-in-cl..> 05-Jan-2006 17:30 10k [   ] ch3-5-modified-in-cl..> 28-Mar-2006 18:21 1k [   ] ch3-5-reducer.scm 05-Jan-2006 17:30 26k [   ] ch3-5.scm 05-Jan-2006 17:30 10k [   ] ch3-6-1-modified-in-..> 28-Mar-2006 17:16 13k [   ] ch3-6-1.scm 05-Jan-2006 17:30 12k [   ] ch3-6-2-modified-in-..> 28-Mar-2006 17:16 13k [   ] ch3-6-2-modified-in-..> 28-Mar-2006 17:43 1k [   ] ch3-6-2.scm 05-Jan-2006 17:30 12k [   ] ch3-6-3.scm 05-Jan-2006 17:30 13k [   ] ch3-7-modified-in-cl..> 05-Jan-2006 17:30 12k [   ] ch3-7.scm 05-Jan-2006 17:30 11k [   ] ch3-8name.scm 25-Apr-2006 20:11 18k [   ] ch3-8need.scm 25-Apr-2006 20:11 18k [   ] ch3-8ref.scm 25-Apr-2006 20:11 17k [   ] ch3-8ref.tst 11-Apr-2006 16:51 1k [   ] ch3-9-modified-in-cl..> 18-Apr-2006 16:44 16k [   ] ch3-9-modified-in-cl..> 18-Apr-2006 14:49 1k [   ] ch3-9.scm 05-Jan-2006 17:30 14k [   ] ch5-3.scm 29-Jan-2006 22:23 20k [   ] ch5-4-1.scm 29-Jan-2006 22:23 24k [   ] ch5-4-2.scm 29-Jan-2006 22:23 24k [   ] ch5-4-3.scm 29-Jan-2006 22:23 27k [   ] ch5-4-4.scm 29-Jan-2006 22:23 28k [TXT] code-examples.html 25-Apr-2006 13:33 21k [   ] combinator-lambda-1-..> 13-Feb-2006 22:57 2k [   ] combinator-term-mod.scm 13-Feb-2006 22:57 2k [   ] combinator-tools.scm 05-Jan-2006 17:30 5k [   ] combinators-fix-poin..> 05-Jan-2006 17:30 1k [   ] combinators.scm 05-Jan-2006 17:30 2k [DIR] compiled/ 25-Apr-2006 20:11 - [   ] count-sym-exp-mod.scm 04-Jan-2006 02:00 1k [   ] delete-even-mod.scm 05-Jan-2006 17:30 1k [   ] delete-even-mod.tst 30-Dec-2005 17:24 1k [   ] dot-notation-mod.scm 05-Jan-2006 17:30 1k [   ] dot-notation-mod.tst 30-Dec-2005 17:24 1k [   ] double-size-mod.scm 17-Jan-2006 13:24 1k [   ] double-size-mod.tst 17-Jan-2006 13:24 2k [   ] drscheme-342-teachpa..> 24-Jan-2006 00:44 1k [   ] drscheme-342-test-ho..> 14-Feb-2006 14:40 1k [   ] drscheme-342-typeche..> 14-Feb-2006 14:40 1k [   ] environment-3-7.scm 05-Jan-2006 17:30 3k [   ] environment-5-4-2.scm 05-Jan-2006 17:30 4k [   ] environment-as-ast.scm 22-Dec-2005 00:06 1k [   ] environment-as-ast.tst 05-Jan-2006 17:30 1k [   ] environment-as-proc.scm 22-Dec-2005 00:06 1k [   ] environment-as-proc.tst 05-Jan-2006 17:30 1k [   ] environment-as-ribca..> 22-Dec-2005 00:06 2k [   ] environment-as-ribca..> 05-Jan-2006 17:30 1k [   ] environment-tests.scm 05-Jan-2006 17:30 2k [TXT] ex3-7-expressed-valu..> 06-Mar-2006 21:54 2k [   ] expt-maker-mod.scm 08-Feb-2006 12:53 3k [   ] expt-maker-mod.tst 08-Feb-2006 12:53 1k [   ] fib-mod.scm 30-Dec-2005 13:40 1k [   ] fib2-mod.scm 30-Dec-2005 13:40 1k [   ] fix-mod.scm 05-Jan-2006 17:30 1k [   ] grav-force-example.scm 05-Jan-2006 17:30 1k [   ] indirect-arrays.scm 05-Apr-2006 01:44 1k [   ] indirect-arrays.tst 05-Apr-2006 01:44 1k [   ] info.ss 04-Jan-2006 02:42 1k [   ] inject-extract.scm 05-Jan-2006 17:30 1k [   ] iota-mod.scm 30-Dec-2005 16:46 1k [   ] iseq-map-mod.scm 05-Jan-2006 17:30 1k [   ] iseq-map-mod.tst 05-Jan-2006 17:30 1k [   ] iseq-mod.scm 05-Jan-2006 17:30 1k [   ] iseq-mod.tst 30-Dec-2005 16:46 1k [   ] lambda-1-exp-as-ast.scm 05-Jan-2006 17:30 3k [   ] lambda-1-exp-example..> 05-Jan-2006 17:30 3k [   ] lambda-1-exp-example..> 05-Jan-2006 17:30 3k [   ] lambda-1-exp.scm 05-Jan-2006 17:30 5k [   ] lambda-1-exp.tst 05-Jan-2006 17:30 1k [   ] lambda-1-quote-exp-a..> 05-Jan-2006 17:30 3k [   ] lambda-1-quote-exp-a..> 05-Jan-2006 17:30 1k [   ] lambda-1-quote-exp-e..> 05-Jan-2006 17:30 2k [   ] lambda-1-quote-exp-e..> 05-Jan-2006 17:30 2k [   ] lambda-1-quote-exp-t..> 05-Jan-2006 17:30 1k [   ] lambda-1-quote-exp.scm 05-Jan-2006 17:30 6k [   ] lambda-1-quote-exp.tst 05-Jan-2006 17:30 1k [   ] lambda-if-exp-exampl..> 05-Jan-2006 17:30 3k [   ] lambda-if-exp-exampl..> 05-Jan-2006 17:30 2k [   ] lambda-if-exp.scm 05-Jan-2006 17:30 8k [   ] lexical-addr-exp-mod..> 05-Jan-2006 17:30 10k [   ] lexical-addr-exp-mod..> 05-Jan-2006 17:30 5k [   ] lexical-addr-mod.scm 05-Jan-2006 17:30 2k [   ] lexical-addr-mod.tst 30-Dec-2005 16:22 1k [   ] list-copy-mod.scm 04-Jan-2006 15:28 1k [   ] list-copy-mod.tst 30-Dec-2005 18:10 1k [   ] list-index-find.scm 05-Jan-2006 17:30 1k [   ] list-length-mod.scm 05-Jan-2006 17:30 1k [   ] list-length-mod.tst 04-Jan-2006 02:42 1k [   ] list-map-mod.scm 04-Jan-2006 02:42 1k [   ] list-map-mod.tst 04-Jan-2006 02:42 1k [   ] little-schemer.scm 05-Jan-2006 17:30 1k [   ] little-schemer.tst 01-Jan-2006 13:29 1k [   ] make-all-positive-mo..> 05-Jan-2006 17:30 1k [   ] make-all-positive-mo..> 30-Dec-2005 13:50 1k [   ] mapcdr-mod.scm 05-Jan-2006 17:30 1k [   ] mapcdr-mod.tst 30-Dec-2005 13:50 1k [   ] matrix-ops.scm 05-Jan-2006 17:30 2k [   ] matrix-ops.tst 05-Jan-2006 17:30 1k [   ] nat-leq-mod.scm 05-Jan-2006 17:30 1k [   ] nat-leq-mod.tst 24-Dec-2005 17:02 1k [   ] negate-bexp-mod.scm 04-Jan-2006 02:44 1k [   ] negate-bexp-mod.tst 05-Jan-2006 17:30 1k [   ] nth-element-mod.scm 05-Jan-2006 17:30 1k [   ] nth-element-mod.tst 30-Dec-2005 13:26 1k [   ] num-of-mod.scm 05-Jan-2006 17:30 1k [   ] phone-book-as-ast.scm 05-Jan-2006 17:30 1k [   ] phone-book-as-ast.tst 05-Jan-2006 17:30 1k [   ] phone-book-as-proc.scm 05-Jan-2006 17:30 1k [   ] phone-book-as-proc.tst 05-Jan-2006 17:30 1k [   ] phone-book-as-ribcag..> 05-Jan-2006 17:30 3k [   ] phone-book-as-ribcag..> 05-Jan-2006 17:30 1k [   ] phone-book-tests.scm 05-Jan-2006 17:30 1k [   ] phone-number-mod.scm 05-Jan-2006 17:30 3k [   ] phone-number-mod.tst 03-Jan-2006 19:20 1k [   ] procval-as-proc.scm 05-Jan-2006 17:30 1k [   ] product-mod.scm 05-Jan-2006 17:30 1k [   ] product-tail-recursi..> 01-Jan-2006 13:29 2k [   ] ratl-mod.scm 04-Jan-2006 02:00 1k [   ] reference-3-7.scm 05-Jan-2006 17:30 1k [   ] remove-named-mod.scm 30-Dec-2005 13:11 2k [   ] remove-named-mod.tst 05-Jan-2006 17:30 2k [   ] remove-sym-exp-mod.scm 05-Jan-2006 17:30 1k [   ] remove-sym-exp-mod.tst 05-Jan-2006 17:30 1k [   ] remove-sym-exp-tests..> 05-Jan-2006 17:30 1k [   ] remove-sym-exp-with-..> 05-Jan-2006 17:30 1k [   ] remove-sym-exp-with-..> 05-Jan-2006 17:30 1k [   ] ribassoc-mod.scm 05-Jan-2006 17:30 1k [   ] road-map-as-ast.scm 06-Feb-2006 11:00 1k [   ] road-map-as-ast.tst 05-Jan-2006 17:30 1k [   ] road-map-as-proc.scm 05-Jan-2006 17:30 1k [   ] road-map-as-proc.tst 05-Jan-2006 17:30 1k [   ] road-map-tests.scm 05-Jan-2006 17:30 2k [   ] select-outerwear-mod..> 04-Jan-2006 02:44 1k [   ] select-outerwear-mod..> 05-Jan-2006 17:30 1k [   ] separate.scm 05-Jan-2006 17:30 1k [   ] seq-as-ast.scm 05-Jan-2006 17:30 1k [   ] seq-as-ast.tst 05-Jan-2006 17:30 1k [   ] seq-as-proc.scm 22-Dec-2005 00:06 1k [   ] seq-as-proc.tst 05-Jan-2006 17:30 1k [   ] seq-tests.scm 29-Dec-2005 19:43 1k [   ] set-equal.scm 05-Jan-2006 17:30 2k [   ] set-ops-as-vector.scm 05-Jan-2006 17:30 6k [   ] simple-arith-expr-mo..> 05-Jan-2006 17:30 1k [   ] some-mod.scm 05-Jan-2006 17:30 1k [   ] starting-part-mod.scm 29-Dec-2005 19:43 1k [   ] statement-expression..> 26-Feb-2006 11:56 7k [   ] statement-expression..> 05-Jan-2006 17:30 2k [TXT] style.css 03-Jan-2006 19:20 10k [   ] sub1-mod.scm 24-Dec-2005 17:02 1k [   ] subst-mod.scm 05-Jan-2006 17:30 1k [   ] subst-mod.tst 05-Jan-2006 17:30 1k [   ] sum-mod.scm 05-Jan-2006 17:30 1k [   ] sxml-helpers.scm 05-Jan-2006 17:30 15k [   ] sxml-helpers.tst 05-Jan-2006 17:30 16k [   ] sxml-node.scm 05-Jan-2006 17:30 6k [   ] sxml-node.tst 05-Jan-2006 17:30 6k [   ] sym-cell-mod.scm 05-Jan-2006 17:30 1k [   ] sym-cell-mod.tst 05-Jan-2006 17:30 1k [   ] sym-exp-cooked.scm 05-Jan-2006 17:30 4k [   ] sym-exp-cooked.tst 05-Jan-2006 17:30 1k [   ] sym-exp-mod.scm 05-Jan-2006 17:30 3k [   ] sym-exp-mod.tst 05-Jan-2006 17:30 1k [   ] sym-exp-tests.scm 05-Jan-2006 17:30 1k [   ] targets-mod.scm 05-Jan-2006 17:30 1k [   ] targets-mod.tst 05-Jan-2006 17:30 1k [   ] temperature-mod.scm 05-Jan-2006 17:30 1k [   ] temperature-mod.tst 04-Jan-2006 02:00 1k [   ] test-homework.scm 11-Jan-2006 18:30 3k [   ] test-homework.tst 05-Jan-2006 18:42 1k [   ] test-suite.scm 03-Jan-2006 19:20 55k [   ] unary-notation-mod.scm 24-Dec-2005 17:02 1k [   ] unary-notation-mod.tst 24-Dec-2005 17:02 1k [   ] valid-number-mod.scm 05-Jan-2006 17:30 2k [   ] valid-number-mod.tst 05-Jan-2006 17:30 1k [   ] vector-generator-mod..> 05-Jan-2006 17:30 1k [   ] vector-generator-mod..> 24-Dec-2005 17:02 1k [   ] vector-map-bang-mod.scm 05-Jan-2006 17:30 1k [   ] vector-map-mod.scm 05-Apr-2006 01:44 1k [   ] vector-map-mod.tst 24-Dec-2005 17:02 1k [   ] vector-product-mod.scm 05-Jan-2006 17:30 1k [   ] whos-on-first-mod.scm 05-Jan-2006 17:30 10k [   ] window-layout-mod.scm 17-Jan-2006 13:14 4k [   ] window-layout-mod.tst 17-Jan-2006 13:14 2k [   ] yodaize-mod.scm 04-Jan-2006 02:00 1k

        A DIRECTORY OF FILES USED TO RUN (TYPED) INTERPRETERS
                    FOR SECOND EDITION OF THE BOOK
                 ESSENTIALS OF PROGRAMMING LANGUAGES
                 (File $Date: 2006/03/02 23:00:24 $)

                           Gary T. Leavens
        Department of Computer Science, Iowa State University
                        leavens@cs.iastate.edu

1. OVERVIEW

The files in this directory go with the second edition of the book
Essentials of Programming Languges,book by Friedman, Wand, and Haynes
(MIT Press, 2001). They work under DrScheme (MzScheme) and Chez Scheme.

This document describes some conventions and installation procedures.

Note that the files can be browsed starting from the file:

    code-examples.html

using your favorite web browser.

2. INSTALLATION

2.1. Installation Under DrScheme

To work with DrScheme, you must install this directory under
PLT/collects in a subdirectory named lib342.  So this directory
would be PLT/collects/lib342 (or plt/collects/lib342 on Linux).

To be able to test homework, you should make sure that the files

   drscheme-342-teachpack.scm 
   drscheme-342-test-homework-teachpack.scm 
   drscheme-342-typechecker-teachpack.scm 

are present in PLT/teachpack/ (or plt/teachpack on Linux).

You must also download and install the Typedscm language, which should
be located in ../typedscm/.  See ../typedscm/README.txt for more about
installation of that language.

The files can all be put in their proper directories by unzipping the
provided lib342.zip into the DrScheme PLT directory.  But you will
still have to properly install the Typedscm language
(see ../typedscm/README.txt).

2.2 Installation Under Chez Scheme

If you are using this with Chez Scheme, you can place the directory
anywhere.

You still need to download and install the Typedscm language, which should
be located in ../typedscm/.  See ../typedscm/README.txt for more about
installation of that language.  In particular, you must
create a file ../typedscm/chez/localize.scm, as described in more
detail in ../typedscm/README.txt.

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
directory ../typedscm/bin.  If you wish, you can also add
a load of test-homework.tst into these scripts; that will make it so
you don't have to require test-homework.scm each time you wish to
test homework.

2.3. USE WITHOUT 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
../typedscm/drscheme/tc-ignore-types-at-runtime.scm and
../typedscm/chez/tc-ignore-types-at-runtime.scm.

There are scripts in the ../typedscm/bin directory named *untyped* to
facilitate this.

3. CONVENTIONS

The interpreter files for each section of the book are named after the
chapter and section of the book, or occasionally, after a figure.

        FILE            FOR SECTION (OR FIGURE)
        -----------------------------
        ch3-1.scm       3.1
        ch3-4.scm       3.4
        ch3-3.scm       3.5
                (etc.)

For our type checker to work on the EOPL interpreters, we have to
include in the code the define-datatype declarations instead of just
having SLLGEN generate them.

To accomodate PLT Scheme and to facilitate better checking, every 
file with suffix ".scm" in this directory is a PLT Scheme module.  A
file containing a function X is thus often found in a file named
X-mod.scm.  Tests are often found in files named *.tst; for example,
tests for all-mod.scm are found in all-mod.tst.

4. CAVEATS

Not all files type check at present, but most do.

See ../typedscm/tc-bugs.txt for bugs in the type checker.