The ML Programming Language
Here are some resources for learning functional programming in ML.
ML Quickstart Notes
Sample ADTs in ML
Homepage for SML of New Jersey
A Gentle Introduction to ML
A Discussion of ML types (SMLNJ)
Notes on type restrictions