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

      Name                    Last modified       Size  Description

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