Well, regex-base seems to build again. And I no longer have to
split the Ghc Api instances in syb-utils, so #2438 does indeed
seem fixed, too!-)
Thanks,
Claus
----- Original Message -----
From: "Simon Peyton-Jones" <[EMAIL PROTECTED]>
To: "Claus Reinke" <[EMAIL PROTECTED]>; <[email protected]>
Sent: Monday, September 08, 2008 1:30 PM
Subject: RE: patch applied (ghc): Major change in compilation of instancedeclarations (fix Trac
#955, #2328)
An interesting and delicate point, as I mentioned. I believe I have now fixed
it.
Simon
| -----Original Message-----
| From: Claus Reinke [mailto:[EMAIL PROTECTED]
| Sent: 03 September 2008 23:22
| To: Simon Peyton-Jones; [email protected]
| Subject: Re: patch applied (ghc): Major change in compilation of
instancedeclarations (fix
| Trac #955, #2328)
|
|
| I'm not sure whether it is this patch, but regex-base is now broken.
| From the fragment of your exchange with Serge, I understand that
| overlap handling has changed in some way?
|
| Browsing through the code indicated in the first error message, it
| seems as if the implementation of method 'match' calls 'matchM'
| with exactly the same 'regex', 'source', and 'target' types, so if those
| types are sufficient to select that instance for 'match', why would
| there be an unresolved overlap when 'match' calls 'matchM'?
|
| Claus (who is still convinced that extralibs provide a good test for ghc;-)
|
|
| -- last lines of make for ghc head on windows
|
| c:/fptools/ghc/ghc/stage1-inplace/ghc.exe -package-name
| regex-base-0.72.0.1 -hide-all-packages -no-user-package-conf -i -idist/build
-i. -
| idist/build/autogen
| -Idist/build/autogen -Idist/build -optP-include
-optPdist/build/autogen/cabal_macros.h -odir
| dist/build -hidir dist/build -stubdir dist/build -package array-0.1 -package
base-3.0.3.0 -
| package
| bytestring-0.9 -O -Wall -O2 -XMultiParamTypeClasses -XFunctionalDependencies
-XCPP -
| idist/build -H32m
| -O2 -Wall -fno-warn-deprecated-flags -c Text/Regex/Base/Context.hs -o
| dist/build/Text/Regex/Base/Context.o -ohi
dist/build/Text/Regex/Base/Context.hi
|
| Text\Regex\Base\Context.hs:200:34:
| Overlapping instances for RegexContext a b (Array Int b)
| arising from a use of `matchM'
| at Text\Regex\Base\Context.hs:200:34-43
| Matching instances:
| instance (RegexLike a b) => RegexContext a b (Array Int b)
| -- Defined at Text\Regex\Base\Context.hs:199:9-57
| instance (RegexLike a b) => RegexContext a b MatchArray
| -- Defined at Text\Regex\Base\Context.hs:190:9-54
| (The choice depends on the instantiation of `a, b'
| To pick the first instance above, use -XIncoherentInstances
| when compiling the other instance declarations)
| In the third argument of `maybe', namely `(matchM r s)'
| In the expression: maybe nullArray id (matchM r s)
| In the definition of `match':
| match r s = maybe nullArray id (matchM r s)
|
| Text\Regex\Base\Context.hs:230:11:
| Overlapping instances for RegexContext a b [MatchArray]
| arising from a use of `nullFail'
| at Text\Regex\Base\Context.hs:230:11-18
| Matching instances:
| instance (RegexLike a b) => RegexContext a b [MatchArray]
| -- Defined at Text\Regex\Base\Context.hs:228:9-56
| instance (RegexLike a b) => RegexContext a b [Array Int b]
| -- Defined at Text\Regex\Base\Context.hs:248:9-57
| instance (RegexLike a b) => RegexContext a b [b]
| -- Defined at Text\Regex\Base\Context.hs:244:9-47
| (The choice depends on the instantiation of `a, b'
| To pick the first instance above, use -XIncoherentInstances
| when compiling the other instance declarations)
| In the expression: nullFail
| In the definition of `matchM': matchM = nullFail
| In the instance declaration for `RegexContext a b [MatchArray]'
|
| Text\Regex\Base\Context.hs:241:11:
| Overlapping instances for RegexContext
| a b [(MatchOffset, MatchLength)]
| arising from a use of `nullFail'
| at Text\Regex\Base\Context.hs:241:11-18
| Matching instances:
| instance (RegexLike a b) =>
| RegexContext a b [(MatchOffset, MatchLength)]
| -- Defined at Text\Regex\Base\Context.hs:239:9-71
| instance (RegexLike a b) => RegexContext a b [b]
| -- Defined at Text\Regex\Base\Context.hs:244:9-47
| (The choice depends on the instantiation of `a, b'
| To pick the first instance above, use -XIncoherentInstances
| when compiling the other instance declarations)
| In the expression: nullFail
| In the definition of `matchM': matchM = nullFail
| In the instance declaration for `RegexContext
| a b [(MatchOffset, MatchLength)]'
|
| Text\Regex\Base\Context.hs:246:11:
| Overlapping instances for RegexContext a b [b]
| arising from a use of `nullFail'
| at Text\Regex\Base\Context.hs:246:11-18
| Matching instances:
| instance (RegexLike a b) => RegexContext a b [b]
| -- Defined at Text\Regex\Base\Context.hs:244:9-47
| instance (RegexLike a b) =>
| RegexContext a b [(MatchOffset, MatchLength)]
| -- Defined at Text\Regex\Base\Context.hs:239:9-71
| instance (RegexLike a b) => RegexContext a b [MatchArray]
| -- Defined at Text\Regex\Base\Context.hs:228:9-56
| (The choice depends on the instantiation of `a, b'
| To pick the first instance above, use -XIncoherentInstances
| when compiling the other instance declarations)
| In the expression: nullFail
| In the definition of `matchM': matchM = nullFail
| In the instance declaration for `RegexContext a b [b]'
|
| Text\Regex\Base\Context.hs:250:11:
| Overlapping instances for RegexContext a b [Array Int b]
| arising from a use of `nullFail'
| at Text\Regex\Base\Context.hs:250:11-18
| Matching instances:
| instance (RegexLike a b) => RegexContext a b [Array Int b]
| -- Defined at Text\Regex\Base\Context.hs:248:9-57
| instance (RegexLike a b) => RegexContext a b [MatchArray]
| -- Defined at Text\Regex\Base\Context.hs:228:9-56
| (The choice depends on the instantiation of `a, b'
| To pick the first instance above, use -XIncoherentInstances
| when compiling the other instance declarations)
| In the expression: nullFail
| In the definition of `matchM': matchM = nullFail
| In the instance declaration for `RegexContext a b [Array Int b]'
|
| make[2]: *** [dist/build/Text/Regex/Base/Context.o] Error 1
| make[2]: Leaving directory `/cygdrive/c/fptools/ghc/libraries/regex-base'
| make[1]: *** [make.library.regex-base] Error 2
| make[1]: Leaving directory `/cygdrive/c/fptools/ghc/libraries'
| make: *** [stage1] Error 2
|
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc