cvs commit: hugs98/libraries Prelude.hs

Ross Paterson ross@soi.city.ac.uk
Sun, 8 Sep 2002 15:08:38 +0100


On Sun, Sep 08, 2002 at 05:50:26AM -0700, Sigbjorn Finne wrote:
> 
> "Ross Paterson" <ross@soi.city.ac.uk> writes:
> >
> ...
> > 
> > Having multiple modules under the Prelude makes it possible to share
> > more with the hierarchical libraries.  I was using the Prelude out of
> > fptools/libraries/base, so at startup Hugs loads
> > 
> > {Hugs}/libraries/Hugs/Base.hs
> ...dozen modules deleted..
> > {Hugs}/libraries/Prelude.hs
> > 
> > That also makes it possible to cut about 100 lines from Hugs.Base, and
> > remove some #ifndef __HUGS__ stuff from fptools/libraries.
> 
> ..forcing all users to pay for this very slight internal improvement by way
> of increased startup times each time Hugs is loaded. Didn't/doesn't look
> like a Win to me.

Yes, It is slower.  Some times for hugs </dev/null on a P120:

	PrelImpl+Prelude: 1.01user 0.09system
	base/Prelude.hs:  1.32user 0.13system

Of course then loading Maybe, List, Monad or IO is free.  If the import
of Data.List is dropped from Prelude (for Hugs) the extra cost is halved.