OK I believe I've fixed this (+ validated).  Give it a try.  Too late to 
compile all of extralibs

Simon

| -----Original Message-----
| From: Simon Peyton-Jones
| Sent: 04 September 2008 17:59
| To: 'Claus Reinke'; [email protected]
| Subject: RE: patch applied (ghc): Major change in compilation of 
instancedeclarations (fix
| Trac #955, #2328)
|
| Good point, Claus.  Having thought I was done, I have, sadly, spent the 
entire day trying to
| unravel the subtle consequences of the way regex-base (and DoCon in fact) use 
overlapping
| instances.
|
| I think I've fixed that now, but am chasing a specialiser bug -- I can't 
think how my last
| nofib run went so well.  Sigh
|
| Ian also points out that a couple of test fail. One (tc192) is because of the 
change to
| 'pure'; I'm pushing a patch for that.   The other (tc176) I need to look at 
more.  It's odd
| because I did validate.
|
| So I will not commit tonight.  You'll find that the odd test fails; I'll try 
to finish this
| off tomorrow.
|
| 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

Reply via email to