[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