Infinite loops may safely be expressed using recursion; as mentioned before, Standard ML optimises tail calls away.
(* examples/inf.sml *)