Moscow ML is a light-weight implementation of Standard ML (SML), a strict functional language used in teaching and research
The current version 2.10.1 of Moscow ML
Substring.app more efficientMosmlcookieMsp.ahrefaOption wasn’t available at top-levelPolyhash.filterSocket library returned only first 16 bytes of UDP datagramString and Substring: added concatWith, isSuffix, isSubstring, fullListPair: added zipEq, appEq, mapEq, foldlEq, foldrEq, allEqArraySlice and VectorSlice structures, also for Char and Word8find, findi, all, exists, collate to vector, array and
slice structurescollate to Listupdate to vector structuresPath.{mkRelative,mkAbsolute} now take record argumentsTime.time values allowedOS.Process: new functions sleep and isSuccess; status not eqtypeListsort: added eqclasses, merge, mergeUniqPath: added functions isRoot, fromUnixPath, toUnixPath, and
exception InvalidArc (bug report by Henning Niss)TextIO: inputLine now have type instream -> string optionArray: added type abbreviation vector (bug report by Andrzej
Wasowski)FileSys: type access renamed to access_mode (bug report by
Henning Niss)Byte: unpackString{,Vec} now uses vector slices (bug report by
Henning Niss)Unix: added functions fromStatus, textInstreamOf, binInstreamOf,
textOutstreamOf, binOutstreamOf, exit, and added phantom types
to proc (bug report by Henning Niss)Timer: added function checkCPUTimesWord and Word8: added functions toLarge, toLargeX, and fromLarge
(bug report by Martin Elsman)General: added exception Span and made the type of the function
before less general (bug report by Henning Niss)Buffer: mutable string buffers for fast and efficient
concatenation of stringsHashset: sets implemented by hash-tablesRbset: ordered sets implemented by red-black treesRedblackmap: maps implemented by red-black treesCompilation under Unix is best done using GNU make, gcc, and Perl. A binary installation requires 5 MB disk space; a source installation requires 25 MB disk space.
Go to the the releases page at GitHub and grab the latest release, and build Moscow ML from source.
Or your can use one of the binary distributions:
/usr/local.For version 2.10.
Moscow ML was created by Sergei Romanenko at the Keldysh Institute of Applied Mathematics, Russian Academy of Sciences, Moscow, Claudio Russo (then at Edinburgh University, now at Microsoft Research, Cambridge UK), Niels Kokholm at the IT University of Copenhagen (Moscow ML for .Net), Ken Friis Larsen at Department of Computer Science, University of Copenhagen, Denmark, and Peter Sestoft at the IT University of Copenhagen formerly at the Royal Veterinary and Agricultural University, Copenhagen, Denmark.
Moscow ML uses the entire runtime system and many other ideas from the Caml Light implementation created by Xavier Leroy and Damien Doligez.
Doug Currie created the MacOS port and considerably improved the bytecode interpreter.