[MLton] mlb integration

Matthew Fluet fluet@cs.cornell.edu
Tue, 27 Jul 2004 17:07:06 -0400 (EDT)

I think all of the major hurdles with .mlbs are out of the way.  Here are
the few outstanding issues:
 1) documentation:
    The formalism is mostly done.  I'd like to say something intelligent
    on the treatment of infix status of identifiers.  I've got to bring
    the grammar up to speed with the implementation, including some derived

    A "working programmer" treatment still needs to be written.

 2) basis library:
    I've provided basis{,-2002,-2002-strict,-1999,-none}.mlb which are
    mostly derived from the appropriate build and bind files.  I've
    reworked things a little to avoid some spurious unused warnings.  So,
    for the most part, the behavior is consistent with that of HEAD.

    With the rebindEquals annotation, the _basis_done declaration is only
    serving to fix the MLtonFFI structure.  It may be worth migrating this
    declaration into an annotation.

    In any case, all of the basis*.mlb files pull in build.mlb, which
    suffices to install the top-level suffix and handler.  However, an
    .mlb file that doesn't pull in any basis will raise the uninstalled
    error (at runtime).

 3) SML/NJ MLton:
    Still no "pre-parse/elaborate" of the basis library with SML/NJ.  It
    ought not be too difficult, but the behavior will necessarily be a
    little funny with respect to -disable-ann, -warn-unused, etc.

However, I've got everything working and I'd like to give everyone the
chance to preview it.  When I get the documentation into a slightly better
situation, I'm planning to commit things on a CVS branch.