Index of /~leavens/ComS342/lib342
Name Last modified Size Description
Parent Directory 25-Jun-2009 18:35 -
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
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
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
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
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
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.