[GHC] #7905: Type checker barfs on nonsensical expression

GHC cvs-ghc at haskell.org
Sat May 11 17:34:58 CEST 2013


#7905: Type checker barfs on nonsensical expression
---------------------------------+------------------------------------------
  Reporter:  jpaugh              |          Owner:         
      Type:  bug                 |         Status:  closed 
  Priority:  normal              |      Milestone:         
 Component:  Compiler            |        Version:  7.6.2  
Resolution:  fixed               |       Keywords:         
        Os:  Linux               |   Architecture:  x86    
   Failure:  Compile-time crash  |     Difficulty:  Unknown
  Testcase:                      |      Blockedby:         
  Blocking:                      |        Related:         
---------------------------------+------------------------------------------
Changes (by simonpj):

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


Comment:

 HEAD is happy:
 {{{
 T7905.hs:18:5:
     Couldn't match type    (->) s0    with    [Char]
     Expected type: [Char] -> ZT IO ()
       Actual type: t0 ((->) s0) (ZT IO ())
     The function    lift    is applied to two arguments,
     but its type    (s0 -> ZT IO ()) -> t0 ((->) s0) (ZT IO ())
     has only one
     In the expression: lift gPrint "a"
     In an equation for    d   : d = lift gPrint "a"

 T7905.hs:18:10:
     Couldn't match type    Identity    with    IO
     Expected type: s0 -> ZT IO ()
       Actual type: s0 -> ZT Identity ()
     In the first argument of    lift   , namely    gPrint
     In the expression: lift gPrint "a"
 }}}
 (I had to import `Identity` from `Data.Functor` rather than
 `Control.Monad.Identity`.)  So I think this is already fixed.  Reopen if
 you disagree.

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



More information about the ghc-tickets mailing list