[GHC] #7887: panic when playing with pipes

GHC cvs-ghc at haskell.org
Sun May 5 02:19:14 CEST 2013


#7887: panic when playing with pipes
---------------------------------+------------------------------------------
    Reporter:  bfr               |        Owner:                  
        Type:  bug               |       Status:  closed          
    Priority:  normal            |    Component:  Compiler        
     Version:  7.6.3             |   Resolution:  fixed           
    Keywords:                    |           Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |      Failure:  None/Unknown    
   Blockedby:                    |     Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------
Changes (by monoidal):

  * status:  new => closed
  * resolution:  => fixed


Comment:

 It's fixed in HEAD. Here's a stripped version without dependency on pipes:

 {{{
 {-# LANGUAGE RankNTypes #-}

 hoist :: (forall a. m a -> n a) -> t m b -> t n b
 hoist = hoist

 test :: () -> a
 test = test

 lift :: m a -> t m a
 lift = lift

 x = hoist (hoist lift) test
 }}}

 7.6 panicks, but HEAD gives

 {{{
 C.hs:12:24:
     Couldn't match type ‛t1 m’ with ‛()’
     Expected type: t (t1 m) a
       Actual type: () -> a
     Relevant bindings include x :: t (t1 (t2 m)) a (bound at C.hs:12:1)
     In the second argument of ‛hoist’, namely ‛test’
     In the expression: hoist (hoist lift) test
 }}}

 which is a correct error. (I opened #7888 as a leftover of debugging.)

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



More information about the ghc-tickets mailing list