MLton 20100608 LanguageChanges
Home  Index  
We are sometimes asked to modify MLton to change the language it compiles. In short, we are very conservative about making such changes. There are a number of reasons for this.

Despite these drawbacks, we have extended SML in a couple of cases.

We allow these language extensions because they provide functionality that is impossible to achieve without them. The Definition does not define a foreign function interface. So, we must either extend the language or greatly restrict the class of programs that can be written. Similarly, the Definition does not provide a mechanism for namespace control at the module level, making it impossible to deliver packaged libraries and have a hope of users using them without name clashes. The ML Basis system addresses this problem. We have also provided a formal specification of the ML Basis system at the level of the Definition.

Also see


Last edited on 2007-08-15 22:06:40 by MatthewFluet.