#3787: GHC 6.12.1 panic
----------------------------------------+-----------------------------------
    Reporter:  blamario                 |        Owner:  simonpj                
           
        Type:  bug                      |       Status:  infoneeded             
           
    Priority:  normal                   |    Milestone:  7.0.1                  
           
   Component:  Compiler (Type checker)  |      Version:  6.12.1                 
           
    Keywords:  panic                    |     Testcase:  
indexed-types/should_compile/T3787
   Blockedby:  4232                     |   Difficulty:                         
           
          Os:  Linux                    |     Blocking:                         
           
Architecture:  x86_64 (amd64)           |      Failure:  Compile-time crash     
           
----------------------------------------+-----------------------------------

Comment(by blamario):

 I've tested the original test case with HEAD from 2010-09-15, and there's
 no panic any more. I guess the bug can be closed. The only thing I find
 mildly alarming is that the module doesn't compile with HEAD, while it
 compiles with GHC 6.12.1. Even the current version of SCC doesn't compile
 with HEAD. Is this a known problem or should I be worried? Here is the
 error message I get on the current version of SCC from Darcs repository at
 http://code.haskell.org/SCC/:

 {{{
 Control/Concurrent/SCC/Streams.hs:387:28:
     Couldn't match type `d' with `d1'
       because this skolem type variable would escape: `d1'
     This skolem is bound by
       the polymorphic type
       `forall (d :: * -> *).
        AncestorFunctor a d =>
        Int -> Coroutine d m [x]'
     The following variables have types that mention d
       repeat :: Int -> Coroutine d m [y]
         (bound at Control/Concurrent/SCC/Streams.hs:388:10)
     In the `getChunk' field of a record
     In the expression: Source {getChunk = repeat}
     In an equation for `retryWhileEmpty':
         retryWhileEmpty f source
           = Source {getChunk = repeat}
           where
               repeat n
                 = getChunk source n >>= apply
                 where
                     apply input = test input =<< f input
                     test (_ : _) [] = repeat n
                     test _ output = return output
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3787#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to