[MLton] Re: [Smlnj-dev-list] Evolving SML
John Reppy
jhr@cs.uchicago.edu
Tue, 25 Oct 2005 15:51:16 -0500
I think that this is a great idea. In fact, as I was walking home
yesterday
I was drafting a proposal in my head for "\alpha{}ML" :). I like the
idea of
structuring the process as addenda to the definition. Here are a few
ideas
for short-term (and medium-term) features that I'd like to see:
1. functional record-update syntax. There is a partial implementation
of
this feature for SML/NJ, but it hasn't made it out of CVS yet.
2. standardization on integer types. I'd like to see implementations
agree
to support 32-bit, 64-bit, and arbitrary precision integers, and to
agree on what the type "int" means. I think that the biggest
mistake
we made in the Basis design was failing to standardize on a fixed
set of well-defined numeric types.
3. or-patterns (SML/NJ has supported these since '92 or '93)
4. conditional patterns.
5. an standard notation for specifying the build process, so that
libraries
would be portable.
6. a standard low-level mechanism for specifying FFI. Ssomething like
the
Haskell FFI layer (http://www.cse.unsw.edu.au/~chak/haskell/ffi/)
that
tools like nlffigen can target.
7. records with mutable fields.
8. standard support for lazy evaluation. Wadler and MacQueen's
proposal
is a good starting place. Supporting lazy fields in records might
be nice.
9. polymorphic recursion.
10. a standard model of concurrency.
- John