Running Scheme, SML, and Haskell


Setting your path

We will be using the instructional linux machines: ceylon, fiji, sumatra, and tahiti. Implementations of the three languages (and some others) are located in /cse/courses/misc_lang/linux.

To use the languages, you should add /cse/courses/misc_lang/linux/mit-scheme/bin, /cse/courses/misc_lang/linux/sml/bin, and /cse/courses/misc_lang/linux/hugs/bin to your path (in your .cshrc file).

If you don't already have a path, then the line to add is
set path = ($path /cse/courses/misc_lang/linux/mit-scheme/bin /cse/courses/misc_lang/linux/sml/bin /cse/courses/misc_lang/linux/hugs/bin).


Running Scheme

You can run Scheme interactively by typing scheme in a shell. To load a bunch of functions from a file myfile.scm into the interpreter, type (load "myfile.scm") at the interpreter prompt.


Running SML

You can run SML interactively by typing sml in a shell. To load a bunch of functions from a file myfile.sml into the interpreter, type use "myfile.sml"; at the interpreter prompt.


Running Haskell

You can run Haskell interactively by typing hugs in a shell. Unlike the Scheme and SML implementations, hugs does not let you type functions directly at the interpreter prompt -- you can only evaluate expressions. To load a bunch of functions from a file myfile.hs into the interpreter, type :load "myfile.hs" at the interpreter prompt.


Don't like Linux?

The /cse/courses/misc_lang/ directory has implementations of these languages for several operating systems other than linux.

You can download and install MIT Scheme yourself.

You can download and install SML yourself.

You can download and install Hugs yourself.