Simple-life is a project mainly written in OCaml, it's free.
ML example using Conway's Game of Life
Simple Game of Life in OCaml
Implements Conway's Game of Life, the original cellular automaton: http://en.wikipedia.org/wiki/Conway's_Game_of_Life
To run:
$ ./life
The implementation is based on arrays, but they're used in a mostly functional style; the world is updated by mapping the step function over the universe to get the next universe.
Potential portability issue: we use Unix.select to get sub-second sleeps.