[Haskell] base libraries

Bulat Ziganshin bulat.ziganshin at gmail.com
Fri Nov 24 11:29:09 EST 2006


Hello Malcolm,

Friday, November 24, 2006, 6:36:03 PM, you wrote:

>> In 6.6 you can, in theory, upgrade the base package.

> This, I think, is the heart of Bulat's complaint: namely, that until
> recently it was not possible to upgrade the 'base' package in ghc.

as i many times said, the problem is two-sided: first, Base can't be
upgraded without upgrading ghc. second, Base contains many different
functionality which is artificially tied together. this has cumulative
effect. for example, i want to use old arrays and new foreign ptrs
both with 6.4 and 6.6. there are no technical problems here - both
arrays and fptrs implementations don't rely on compiler version
specific apis. but due to this tieing, i should use old arrays and old
array with 6.4 and new ones with 6.6. this leads to #ifdefs in program
as far as i want to support both ghc versions and to poor performance
with 6.4


> All the other implementations of Haskell do permit the base package to be
> upgraded (or downgraded) separately from upgrading the compiler itself.

never known about it! but it is only theoretical advantage - while
Base developed as all-in-one package, we don't have any real upgrade
offers on this market


> All of the questions about whether such-and-such a library belongs in
> the 'base' package or in some separate package, are questions of policy.
> The answers really don't matter quite so much, provided the mechanism
> exists to choose to install whatever version of whatever packages you
> like.

unfortunately, it's not enough. it easy part of problem, but we
should also work on splitting Base into natural parts. currently, it's
more than 2 megs. maintainable parts should be about 100-300k, i
think. rather obvious splitting is at upper level of module names:
Control, Data, so on. Another possible criterion is that everything
which can be detached from Base should be extracted and put into
separate library


-- 
Best regards,
 Bulat                            mailto:Bulat.Ziganshin at gmail.com



More information about the Libraries mailing list