base libraries

Bulat Ziganshin bulat.ziganshin at
Thu Nov 23 03:40:22 EST 2006

Hello Neil,

Thursday, November 23, 2006, 4:17:19 AM, you wrote:

>> * base libs are libs, which is guaranteed to be shipped with *every*
>> haskell distribution.

> That sounds fine, and when this work has been done, bytestring and
> filepath both deserve to live in this second ring. Only modules which
> are deeply tied to the compiler should live in that core ring.

> However, for the moment, base (as we know it) is the first two layers
> of your proposal. As such, both bytestring and filepath belong in the
> base library.

so, the only reason why you want to include FilePath in Base is to
make it available for any haskeller? i consider this as one more
argument for GHC HQ to accept my proposal ;)

> There is also the question of Cabal, your second layer is not
> guaranteed to be installed on all systems,

reread first line of message, please :)

> so Cabal setup programs
> cannot use them. This means that all Cabal setup programs will have to
> keep randomly string hacking at FilePath's.

> This definitely sounds like the way to go for the future - it will
> make library porting to other compilers much easier. It is important
> to realise that this is the future, not the present, so to reject
> things from the base library on the basis they need moving to a place
> that doesn't currently exist is probably the wrong solution.

> I know Bulat is investigating this, are the GHC team/Igloo aiming to
> split up base with any particular target timeframe?

actually i investigate(d) another problem - splitting ghc.* into the
simple ghc-specific and complex compiler-independent parts, i.e.
reorganizing the future-coming Core library in a way that facilitate
adding support of new compilers. this really needs rather complex
rewriting of existing code

what i proposed in this letter is an *independent* task. even two
tasks - first, make a decision that filepath and fps modules may
become a part of base libs if peoples want to have them with any ghc
installation and this don't need much time ;)  second - split base
into GHC.* and remaining parts and see how this construction will fly :)
sorry, i can't try it myself without recompiling GHC

Best regards,
 Bulat                            mailto:Bulat.Ziganshin at

More information about the Libraries mailing list