[MLton] MLton library project

Stephen Weeks sweeks at sweeks.com
Tue Sep 26 08:34:12 PDT 2006


I fully support the idea of a MLton library project.  I think such a
project could solve the biggest problem with MLton/SML.  I am happy to
set up and maintain supporting infrastructure at mlton.org.  I think
there should be a new toplevel project in the MLton SVN repo,
something like

  svn://mlton.org/mltonlib

There are many issues that need to be resolved with such a project,
but I don't think any of them should hold up things, so I propose to
create the above directory ASAP and let commits start.  I am happy to
create a new mailing list (MLton-library) whenever people want.


Now for some issues and thoughts.

* I'm fine with distributing more libraries with MLton, but I think
  that it is essential that there be a trivial way, independent of
  MLton, to install new libraries and update existing ones.  MLton is
  very slow moving -- release seem to come about once a year these
  days -- and this project will be very fast moving, so any libraries
  that come with MLton will rapidly become out of date.

* Contributors must agree to release under the MLton license (BSD).

* A documentation standard and tool is essential.

* I don't think we should be hamstrung by the basis library style.  I
  would much prefer the MLton style (e.g. type t, tupled arguments,
  object first).

* I don't think we should be hamstrung by basis library compatibility.
  I am fine with producing our own replacements for basis library
  modules that are not compatible with the basis.  With MLBs, it is
  easy for people to mix and match to get what they need.  In the long
  run, I think it would be best if people could simply use

    $(SML_LIB)/mltonlib/mltonlib.mlb 

  and get enough libraries to write useful code.

* I like portability across implementations, but I don't think we
  should go to the same extremes as the basis library did.  As a
  guiding principle, I value making MLton users' lives easier more
  than the idea of portability.

* As another source for libraries, there are a ton that are part of
  MLton.

    svn://mlton.org/mlton/trunk/lib/mlton/basic

  Many of these could be cleaned up and moved to the library project.



More information about the MLton mailing list