Re: [GHC] #5316: ghc rejects a program at first but will accept it if one insists

2011-07-13 Thread GHC
#5316: ghc rejects a program at first but will accept it if one insists
+---
  Reporter:  jcpetruzza |  Owner:  
  Type:  bug| Status:  closed  
  Priority:  normal |  Milestone:  
 Component:  Compiler   |Version:  7.0.4   
Resolution:  duplicate  |   Keywords:  
  Testcase: |  Blockedby:  
Difficulty: | Os:  Unknown/Multiple
  Blocking: |   Architecture:  Unknown/Multiple
   Failure:  GHC rejects valid program  |  
+---
Changes (by igloo):

  * status:  new = closed
  * resolution:  = duplicate


Comment:

 Thanks for the report.

 The overlapping instance in `System.Event.Manager` has been removed in the
 HEAD and 7.2, so this particular conflict won't arise again.

 The poor handling of instances in different modules is a known problem:
 see #2356.

-- 
Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/5316#comment:1
GHC http://www.haskell.org/ghc/
The Glasgow Haskell Compiler

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #5316: ghc rejects a program at first but will accept it if one insists

2011-07-13 Thread GHC
#5316: ghc rejects a program at first but will accept it if one insists
+---
  Reporter:  jcpetruzza |  Owner:  
  Type:  bug| Status:  new 
  Priority:  normal |  Milestone:  
 Component:  Compiler   |Version:  7.0.4   
Resolution: |   Keywords:  
  Testcase: |  Blockedby:  
Difficulty: | Os:  Unknown/Multiple
  Blocking: |   Architecture:  Unknown/Multiple
   Failure:  GHC rejects valid program  |  
+---
Changes (by jcpetruzza):

  * status:  closed = new
  * resolution:  duplicate =


Comment:

 My apologies for reopening the ticket, but after going through #2356 I
 can't see the duplication. What I am reporting here is that:

 1) GHC will reject these modules only if compiled with optimizations on,
 as witnessed by:

 {{{
 $ rm *hi *o
 $ ghc --make -c  T1 T2
 [1 of 2] Compiling T2   ( T2.hs, T2.o )
 [2 of 2] Compiling T1   ( T1.hs, T1.o )
 $
 }}}

 2) GHC behaves differently if part of the program was already compiled.

 Moreover, #2356 is about a design decision that makes it accept more
 programs than the Report mandates, not less.

 Since as of #2356 GHC accepts duplicated instances as long as they don't
 conflict, I suspect that the real bug here is that the instance defined in
 System.Event.Manager shouldn't be in scope at all when compiling T1 (the
 first time).

 Am I missing something?

-- 
Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/5316#comment:2
GHC http://www.haskell.org/ghc/
The Glasgow Haskell Compiler

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [GHC] #5316: ghc rejects a program at first but will accept it if one insists

2011-07-13 Thread GHC
#5316: ghc rejects a program at first but will accept it if one insists
+---
  Reporter:  jcpetruzza |  Owner:  
  Type:  bug| Status:  new 
  Priority:  normal |  Milestone:  
 Component:  Compiler   |Version:  7.0.4   
Resolution: |   Keywords:  
  Testcase: |  Blockedby:  
Difficulty: | Os:  Unknown/Multiple
  Blocking: |   Architecture:  Unknown/Multiple
   Failure:  GHC rejects valid program  |  
+---
Changes (by conal):

 * cc: conal@… (added)


-- 
Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/5316#comment:3
GHC http://www.haskell.org/ghc/
The Glasgow Haskell Compiler

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


[GHC] #5316: ghc rejects a program at first but will accept it if one insists

2011-07-11 Thread GHC
#5316: ghc rejects a program at first but will accept it if one insists
-+--
Reporter:  jcpetruzza|   Owner:   
Type:  bug   |  Status:  new  
Priority:  normal|   Component:  Compiler 
 Version:  7.0.4 |Keywords:   
Testcase:|   Blockedby:   
  Os:  Unknown/Multiple  |Blocking:   
Architecture:  Unknown/Multiple  | Failure:  GHC rejects valid program
-+--
 Consider these two modules (boiled down example from the checkers
 package):

 {{{
 {-# LANGUAGE ScopedTypeVariables, FlexibleContexts #-}

 module T1

 where

 import Test.QuickCheck
 import Text.Show.Functions ()


 f :: forall m a b.  ( Arbitrary (a-b) ) = m (a,b) - Property
 f = const $ property (undefined :: (a-b) - Bool)
 }}}

 {{{
 module T2  where

 import Control.Concurrent

 g = threadDelay maxBound
 }}}

 I see the following interaction:

 {{{
 $ rm *hi *.o
 $ ghc --make -c -O  T1 T2
 [1 of 2] Compiling T2   ( T2.hs, T2.o )
 [2 of 2] Compiling T1   ( T1.hs, T1.o )

 T1.hs:12:13:
 Overlapping instances for Show (a - b)
   arising from a use of `property'
 Matching instances:
   instance Show (a - b) -- Defined in Text.Show.Functions
   instance Show base:System.Event.Manager.IOCallback
 -- Defined in base:System.Event.Manager
 (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 second argument of `($)', namely
   `property (undefined :: (a - b) - Bool)'
 In the expression: const $ property (undefined :: (a - b) - Bool)
 In an equation for `f':
 f = const $ property (undefined :: (a - b) - Bool)
 $ ghc --make -c -O  T1 T2
 [2 of 2] Compiling T1   ( T1.hs, T1.o )
 $ ghc --make -c -O  T1 T2
 $ ls
 T1.hi T1.hs T1.o  T2.hi T2.hs T2.o
 }}}

 I see this consistent behaviour in versions 7.0.{1,2,3,4} but not with
 6.12.1

-- 
Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/5316
GHC http://www.haskell.org/ghc/
The Glasgow Haskell Compiler

___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs