[MLton-user] Basic and Pervasive

Stephen Weeks MLton-user@mlton.org
Mon, 4 Oct 2004 18:32:05 -0700


> Can someone comment on the future of "pervasive" and some nice
> utility code currently found in mlton/basic.

For readers of the list unfamiliar with the MLton sources, Ray is
referring to a collection of internal libraries that are part of the
MLton sources and are not distributed with MLton binary packages.

> In fact there are a number of useful things in mlton/basic, however,
> most of them are written atop of "pervasive".

The purpose of the Pervasive structure is to collect together Standard
Basis Library structures that the MLton library redefines, so that the
Basis Library originals can be used when necessary.

> Q. What is the future of "pervasive"? 

It will remain in use internally to the MLton library.

> Q. Will pervasive be phased out (at least where there is overlap) in
> lieu of the latest standard basis?

There is no plan to make Pervasive public, as the Standard Basis
already makes available everything that is in Pervasive.

> Q. If I were to attempt to write some generic utility code that would be
> useful for using MLton to develop applications, should the
> utility/library code be written to pervasive or the standard basis?

Write to the Standard Basis.

> Q. Should useful utilities that application developers would find useful
> like layout.sml be pulled out (copied/forked) into an "application
> level" library and re-targeted to the standard basis?  

Yes, this is an excellent idea.  We would like to see the internal
MLton libraries be more widely used. 

> [I am assuming here that pervasive and utility code in mlton/basic must
> remain as is as the compiler and platform porting needs necessitate it.]

Actually not -- much of the internal MLton libraries could be pulled
out as general application libraries.  

The MLton developers plan to make libraries a major focus *after* our
upcoming release.  This will include pulling out application libraries
from the internal MLton library.