Index of /~leavens/ComS342/OLD/Spring2004/lib
Name Last modified Size Description
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
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
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
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
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.