
On Mon, Mar 05, 2007 at 03:51:47PM +0000, Chris Kuklewicz wrote:
I would like to announce new versions of the regex-* packages. [...] Porting the backends to other Haskell compilers should be possible, though they may not support the polymorphic type class API that regex-base provides.
Some of the instances in regex-base rely on late overlapping resolution, which is a GHC-only feature. That is, instances overlap, with neither subsuming the other, but they're only used outside of the overlap. The overlap occurs in the following groups of instances: instance (RegexLike a b) => RegexContext a b (Array Int b) instance (RegexLike a b) => RegexContext a b MatchArray instance (RegexLike a b) => RegexContext a b [Array Int b] instance (RegexLike a b) => RegexContext a b [MatchArray] instance (RegexLike a b) => RegexContext a b [b] instance (RegexLike a b) => RegexContext a b [MatchArray] instance (RegexLike a b) => RegexContext a b [(MatchOffset,MatchLength)] (MatchArray is a synonym for Array Int (MatchOffset, MatchLength)) Apart from that, this package (and thus the others, with a few #ifdef's) would work with Hugs. How about eliminating the above overlaps?