There are also some Miranda texts on reserve in the Engineering Library.
We won't be using these languages in 341 this year, but if you're interested, here are some links. (Other 341 instructors typically use ML rather than Miranda.)
Haskell is another pure functional language, with normal-order evaluation and a similar syntax, which drew on Miranda for its design. A big advantage is that it is freely available for download on a variety of platforms. However, it is more complex than Miranda, and 341 students in the past found it a struggle to deal with its type system.
ML has a polymorphic type system as well. Unlike Miranda, it uses call-by-value semantics. It is also not a pure functional language - it has an imperative component (which is pretty isolated from the pure functional parts, however).
The two main sites for SMLNJ are smlnj.org and standardml.org. To install SMLNJ on your own machine, go to the main page on smlnj.org. Tutorials can be found at http://smlnj.org/doc/literature.html#tutorials and documentation can be found at http://www.standardml.org/Basis. However, the documentation is fairly advanced.