Code for book
Code of interpreters, examples, and transcripts for the book is
available here.
Some direct links
Software
You may want to include
~dimock/public_html/courses/languages/software/bin
in your path variable.
There are instructions on the net for setting the path variable:
in bash,
in csh.
Here is a link to the software
directory containing x86 / Linux versions of software.
If homework requires programing using one of the interpreters from
the book, an executable of the interpreter will be available in the
software/bin directory.
The software is built for Linux on an x86 processor.
Use any C compiler for C code, but make sure that your resulting code
compiles with
gcc -Wall -pedantic
and produces no errors,
warnings, or suggestions. gcc should be available
on any of our Linux or OSF/1 systems.
We use several different Standard ML interpreters and compilers.
-
SML/NJ is
available on the OSF/1 systems.
It should be available on mercury as
~dimock/bin/smlnj.
If your are working on another x86/Linux system that doesn't
recorgnize ~dimock but which has the right disk mounted in
nsf, you could try
/nfs/earth/faculty/fac1/dimock/bin/smlnj
-
Moscow ML is available on the Linux systems as
~dimock/public_html/courses/languages/software/bin/mosmlc.
mosmlc is a compiler. There is also an
interpreter:
~dimock/public_html/courses/languages/software/bin/mosml.
The interpreter is a bit annoying in that it requires the user to
explicitly load parts of the SML standard library.
The compiler does not seem to require loading the library.
Generally use
mosml -P full to load
most of the necessary libraries. You still may need to load
some libraries by hand, for instance:
To use the Typed Impcore interpreter:
mosml -P full
- load "IO";
> val it = () : unit
- use "typesys.sml";
[opening file "typesys.sml"]
...
[closing file "typesys.sml"]
> val it = () : unit
- runInterpreter(true);
->
To use the Typed MicroScheme interpreter:
mosml -P full
- load "IO";
> val it = () : unit
- use "tuscheme.sml";
[opening file "tuscheme.sml"]
...
[closing file "tuscheme.sml"]
> val it = () : unit
- runInterpreter(true);
->
To use the Micro ML interpreter:
mosml -P full
- load "IO";
> val it = () : unit
- use "ml.sml";
[opening file "ml.sml"]
...
[closing file "ml.sml"]
> val it = () : unit
- runInterpreter(true);
->
All submitted Standard ML code should compile under
mosmlc with no error or warning messages.
We use SWI Prolog
for our Prolog programming.
It is installed on the Linux system mercury.cs.uml.edu.