FLINT
Paul Hudak et al, CS Dept, Yale University
A typed intermediate language, designed to provide a common back end for higher order typed languages. Comes with the SML/NJ distribution.
http://flint.cs.yale.edu