[MLton] basis library -> library project

Vesa Karvonen vesa.karvonen at cs.helsinki.fi
Wed Nov 8 05:12:33 PST 2006


Quoting Stephen Weeks <sweeks at sweeks.com>:
> One "broken link" with the versioning approach with the new library
> project is the basis library.  It can change over time, yet the
> semantics of those changes would not be reflected by version changes
> in library paths.  Those changes could then change the types/behavior
> of libraries depending on the basis, and those changes also would not
> be reflected by version changes in library paths.
> 
> What do people think about moving the basis library to the library
> project, at org/mlton/basis/, to fix this problem?

I'm not sure how big a practical problem this is (in terms of reducing
upgrade burden), because the basis library seems to be a fairly slowly
moving target.

OTOH, it would be nice if the revisions of the basis library would be
more easily accessible.

I'm not sure if others like the approach (I'd love to hear critique), but
I think it would be nice if the public interface code (of each revision)
of the basis library would be more clearly separated from the
implementation details.  Like in the extended-basis library:

  http://mlton.org/cgi-bin/viewsvn.cgi/mltonlib/trunk/com/ssh/extended-basis/unstable/public/

This kind of organization should make it particularly easy to see (diff) the
interface changes between revisions.  The main point of the organization
is to make it as easy as possible to see (just) the public interface of a
library in its entirety.  For example, in the case of the basis library,
having the interface both more explicitly spelled out at the code level
should make the page

  http://mlton.org/BasisLibrary

mostly redundant - you could just refer to the public interface directory.

-Vesa Karvonen



More information about the MLton mailing list