Es hängt viel davon ab, was Sie mit "Unicode" meinen, eine Sammlung vieler Standards für viele Dinge. Ich habe keine Sprache oder kein System gesehen, das Unicode vollständig unterstützt, und ich weiß nicht einmal, was das in allen Details bedeuten würde.
Sie können sicher mit UTF-8 in SML arbeiten: diese Codierung wurde erfunden, um es ASCII-Anwendungen zu erleichtern, Unicode zu unterstützen. Dies könnte zu einer besseren und effizienteren Darstellung von Unicode als z.B. UTF-16 in Java gesehen, die "Unicode" offiziell unterstützt, aber dann gibt es viele praktische Probleme (wie Ersatzzeichen).
Mit UTF-8 in SML-Strings, eine Frage ist, wie man mit String-Literalen arbeiten. Systeme wie Poly/ML ermöglichen es, den ML-Toplevel-Pretty-Drucker für type string
neu zu definieren, und es ist auch möglich, den Compiler so zu verpacken, dass String-Literale Unicode-freundlich verarbeitet werden. Beides geschieht in Isabelle/ML, die auf Poly/ML basiert. Wenn Sie also diese große Theorem-Testumgebung als ML-Entwicklungsplattform verwenden, haben Sie eine Art von Unicode-Unterstützung eingebaut (über sogenannte "Isabelle-Symbole").
Atleast [MLton] (http://mlton.org/Unicode) unterstützt derzeit Unicode nicht vollständig. Wie auch immer, sie behaupten, daran zu arbeiten, also könnten wir zwischen jetzt und der Apokalypse eine neue Version sehen, die das unterstützt :) –