[Haskell] base libraries

Ian Lynagh igloo at earth.li
Fri Nov 24 14:35:19 EST 2006


On Fri, Nov 24, 2006 at 05:35:31PM +0000, Simon Peyton-Jones wrote:
> 
> http://hackage.haskell.org/trac/ghc/wiki/PackageReorg
> 
> I'd be interested to know whether the proposal has general support;
> what goals are omitted; and what other details are omitted.  I'm sure
> there are many, because this is a complex issue.

I'd like to see some rationale for why each of the core packages have
been chosen.

I'd have

    base, haskell98, Cabal, filepath

with the rationale that it is likely that people will want to write
Setup.hs with them (haskell98 is debatable here, but could probably be
argued in on the grounds that it's needed for lots of
books/tutorials/... to work).

I can't really think of any rationale for any others. For
userfriendliness we can have a cabal package called usefulstuff that
depends on mtl, regex, ..., but I don't see any need to bundle them all
with the compiler.

The less we force the implementations to come with, the quicker
compilation will be when developing, the smaller Debian packages (for
example) can be, the lower the disk space requirements to build GHC, the
lower the time wasted when a Debian package (for example) build fails
and the fewer packages we are tangling up with compiler release
schedules (OK, they can be upgraded independently, but it causes
headaches for package-management systems).

On quickcheck, the testsuite and GHC: we can have GHC compile any
libraries that are put in libraries/ and make ./darcs-all --get-dev grab
quickcheck too. On the other hand, you might want to run the testsuite
automatically when building debs/rpms/... but personally I'd prefer to
use a copy of QC compiled and installed under the testsuite tree for
that. This way we wouldn't suffer from the disadvantages above. We don't
need the testsuite programs to work after GHC has been installed so we
don't have to worry about providing the QC dynamic libraries in the
future.


Thanks
Ian



More information about the Libraries mailing list