CS655 information for students
Course description
Here is a description of the course .
The textbook is online
if you would like to read it that way. It costs you 2c/page to print the online
version.
You can read my daily class
notes, updated after each class session (but generally not available
before).
Appendix to the textbook
Here is the appendix to the textbook.
Other resources
A nice list of other web-accessible resources can be found
here.
Intercal
I mentioned Intercal in class. Here is a book
section on this marvelous language.
Notes on iterators
You can get iters.h from here.
You might need this before the #include line:
# define bcopy(s, d, n) memcpy ((d), (s), (n))
Debugging hints: Make sure you place IterSTART at the start of every procedure
that includes IterYIELD or IterFOR. Don't put IterSTART in any other
procedures.
Make sure you place IterDONE at
the end of every procedure that uses IterYIELD.
Don't put IterDONE anywhere else.
You must use IterSUB to invoke procedures
from any procedure that includes IterYIELD.
Io
Amalthea, an Io interpreter, for M$ computers
|
documentation
A brief discussion of AND and OR in Io
ML
Here are the ML examples from class.
Here are some web materials on ML:
first
second.
If my ML source file is called "foo.ml", I like to put the following function in
that file:
val reload = fn _ => use "foo.ml"; (* helps during repeated runs *)
Currying
This page shows
some details on how ML implements first-class functions in the context of
Currying.
Haskell
Here are my notes.
Lisp examples
Here are the lisp examples discussed in class.
Here are varieties of mapcar discussed in class,
written in CLisp.
Lisp evaluator
Here is a working Lisp evaluator in CLisp to
start you off, courtesy of Bill Dieter.
Here is the Lisp evaluator discussed in class.