This is a small reply to clarify the regular expression situation:

Bulat Ziganshin wrote:
> Hello libraries,
> 
> after analyzing the situation, i concluded that source of problem, at
> least partially, is GHC HQ's policy of packaging libraries with GHC.
> The list of such libraries is *closed* and odd at first look. why, for
> 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.

> [...snip...]
> 
> and while we are here - splitting of Base library should be very easy
> task. its ghc version specific part is in GHC.* modules. these modules
> should be moved into the new Core library. plus a few modules from
> Data.* or System.* hierarchy they imports. plus a few modules imported
> by Hugs/NHC Prelude. the rest of Base library should be pretty portable, at
> least between various GHC versions.
> 
> and independent on this work, we can always look into moving pieces of
> Base into independent libs. as a rule of thumb, everything not used in
> Base lib may be moved outside of it. of course, these new libs should
> be included in base libs set

The regex-* modules that are installed with GHC are not in the "base" package.
They are in "regex-base" and "regex-posix" and "regex-compat" because I took
excellent design advice and finely split the modules.  I see no reason one could
not by able to upgrade these on top of the GHC versions.

> in particular, my hottest hope is that ghc 6.6.1 will be shipped with
> fps 0.8 as separate library that will provide both backward
> compatibility with 6.6 and will allow to upgrade fps without recompiling
> ghc itself :D

By separate library you really mean using a separate package name instead of
"base".  The Text.XHtml is already separate into the "xhtml" package.

You are correct: as far as I can see the only module that is in "base" which
might need to be split out is Data.ByteString.  The same may or may not apply to
Data.Sequence.

Cheers,
  Chris
_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to