SML# Document Version 4.1.0
3 Overview of SML#

3.2 History of SML#

The origin of the SML# can be traced back to the proposal of Machiavelli published in [11]. This paper showed that ML with record polymorphism can be extended with SQL and reported a implementation of a prototype interpreter.

In 1993, Atsushi Ohori extended the Standard ML of New Jersey compiler at Kansai Laboratory of Oki Electric, and named the experimental prototype SML# of Kansai. The Internet still remembers the posting of SML# of Kansai to the types mailing list (http://www.funet.fi/pub/languages/ml/sml%23/description).

The name SML# of Kansai symbolized the field selector #label, which was given a polymorphic type for the first time by this compiler. This compiler was reported in the ACM TOPLAS article on record polymorphism [9] as SML#.

To support not only record polymorphism but also inseparability and other practically important features, we decided to develop a new SML-style language from scratch, and in 2003, we started the SML# compiler project at Japan Advanced Institute of Science and Technology as a part of the e-Society project ( http://www.tkl.iis.u-tokyo.ac.jp/e-society/index.html ) funded by the Japan ministry of science, education and technologies

In 2006, the project moved to Tohoku University.