[MLton-devel] integrating multiple basis libs

Stephen Weeks MLton@mlton.org
Thu, 21 Nov 2002 11:28:53 -0800


> basis-library/libs/build-basis
>                    basis-2002/bind-basis
>                               suffix-basis
>                    basis-1997/bind-basis
>                               suffix-basis
>                    none/bind-basis
>                         suffix-basis

I would go for this one.  I like knowing that all the bases are built
from the same code, and are just different wrappers.  I think having
multiple build-basis files could get confusing.

> From the code, though, it looks like the Elaborate.Env.t structures
> are mutable, so I'm not sure that I can get the right behaviour from
> one basisEnv shared between all libraries.

That is correct.  Environments are implemented with hash tables and
extension mutates the hash table, so you can not extend an environment
along several different branches.  The best solution I can see is to
elaborate the build-basis and save that in the world.  Then, depending
on which basis is being used, process the bind-basis and suffix-basis
at compile time.  I don't think that will be a substantial performance
hit.


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel