Simon Marlow wrote:
Chris Kuklewicz wrote:

Simon Marlow wrote:
 > Here is what I propose to do regarding the libraries we ship with GHC
 > 6.6.  Comments are appreciated, since we need to finalise this story
 > before the release candidate at the end of this week.
 >

I have a small comment...

 > So here's what I propose:
 >
 >  - A "GHC source tree" will contain a core set of packages.  This is
 >    what you will get if you download ghc-6.6-src.tar.bz2, or do
 >    "sh darcs-all get" in a darcs repo.  The core packages are:
 >
> base, haskell98, template-haskell, readline, stm, Cabal, unix, Win32 > plus hopefully regex-base and regex-posix if I integrate them this
 >    week.  These are the packages required to bootstrap GHC, or those
 >    with deep GHC dependencies (template-haskell & stm).
 >

You will also want regex-compat if you want to keep the old Text.Regex module API. (Renaming Text.Regex.New to Text.Regex)

I have just gone over the stable repository [1] for regex-base,posix,compat and tweaked the cabal files to better match the packages they actually depend upon. The latest version of these is now 0.71

Is it ok if I take this code and turn it into separate repositories on darcs.haskell.org? Would you like to adopt the new repositories as the canonical location? I can set you up with a darcs.haskell.org account, just send me an SSH public key.

Of course it is okay. All the regex-* packages are in a single darcs repository right now. Do you need a separate repository which only includes the parts that GHC will include? I am still gaining proficiency with darcs, and so I am not sure if the canonical repositories should be separate trees or not.

The cabal packages all depend on (fps >= 0.7) to supply Data.ByteString. Currently there are:
  regex-base   (everything below depends on this)
  regex-compat (depends on regex-posix and replaces Text.Regex)
  regex-posix  (depends in regex in posix c library, must supply for Windows)
  regex-pcre   (depends on libpcre, which is BSD)
  regex-tre    (depends in libtre, which is LGPL)
  regex-parsec (no c dependency, but needs Parsec)
  regex-dfa    (no c dependency, but needs Parsec) (Note: Engine is LGPL)
  regex-devel  (depends on everything above)

I will email you an SSH public key.


How is the Haddock documentation? I noticed some of the modules didn't have Haddock headers on, this is standard practice in the libraries.

I have not added the boilerplate haskell headers to everything. I will go through them and add it, probably tonight, to at least regex-base/posix/compat.

But I suspect you don't use cabal to build these for GHC.

The posix c library is slow, but at least it is what people have been using. Note that Text.Regex.New from regex-compat is so close to Text.Regex that it shares the same "bugs", such as splitting or substituting with a pattern that matches an empty string and going into an infinite loop.

Should I sacrifice a little backwards compatibility and catch these "bugs"?

I'd say that would be fine, replacing _|_ in a library API with something useful can't be a bad thing (unless you do it non-deterministically ;-).

Okay, I will feel free to remove a few _|_ conditions.
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to