[Haskell] base libraries

Benjamin Franksen benjamin.franksen at bessy.de
Thu Nov 23 12:39:37 EST 2006


Bulat Ziganshin wrote:
> what is the base 
> library now? is it about data structures, I/O, concurrency or monads?
> there is no answer - this lib contains everything developed by peoples
> having accounts at darcs.haskell.org. why it's impossible to use
> Applicative class with ghc 6.4? because Ross Paterson was so kind to
> include this in a base lib. why peoples get a problems with their
> mutable arrays in 6.6? because arrays interface was changed and there
> is no way to use old lib in 6.6. why ForeignPtrs in 6.4 are slow?
> because it's a part of base lib and it's impossible to use faster
> ForeignPtr implementation without upgrading entire compiler. and so
> on, so on
> 
> inflation of base library and inability to upgrade it have cumulative
> effect. i think that our ultimate goal is a set of ghc-independent
> concrete libs: arrays, control, files, concurrency... and any step in
> this direction will simplify upgrading to next ghc version

I think Bulat has a made very convincing argument here. These problems with
upgrading (or downgrading, for compatibility) of base library have bitten
me too sometimes.

> Chris:
> >> example, it includes 2 of 4 regexp libs? at last end, we can learn
> >> that this is the list of libs required to build ghc itself!
> 
> > Some of the other regex-* libraries are interfaces to c-library backends
(pcre
> > and tre) and it is not GHC's place to come with copies of those
libraries.  But
> > GHC used regex internally, so it must come with at least a single
backend.
> 
> what means "used internally"? you mean compiler sources? i don't see
> reasons why each copy of ghc should be able to compile ghc itself

In the improbable case that Haskell compiler has been installed without some
basic libraries, I think it would be okay if ghc build would complain that
it needs library X or Y. It should say from where these can be downloaded
and the installation should be straight forward.

Ben



More information about the Libraries mailing list