[GHC] #7611: Rewrite rules application prevented by type variable application (map id vs. map (\x -> x))

GHC cvs-ghc at haskell.org
Mon Jan 21 09:30:39 CET 2013


#7611: Rewrite rules application prevented by type variable application (map id
vs. map (\x -> x))
-----------------------------+----------------------------------------------
Reporter:  nomeata           |          Owner:                  
    Type:  bug               |         Status:  new             
Priority:  normal            |      Component:  Compiler        
 Version:  7.6.1             |       Keywords:                  
      Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple
 Failure:  None/Unknown      |      Blockedby:                  
Blocking:                    |        Related:                  
-----------------------------+----------------------------------------------
 I’m moving the discussion from
 http://www.haskell.org/pipermail/glasgow-haskell-
 users/2013-January/023522.html (with reply at
 http://www.haskell.org/pipermail/glasgow-haskell-
 users/2013-January/023531.html) here, as a reminder for myself to work on
 it someday:

 Short summary: a rule "map (\x -> x) = id" will not match "map id" because
 the latter has (in Core) an application of a type variable, despite the
 matcher looking through the definition of id. Doing beta-reduction (of
 type applications) in the matcher could fix this.

 I’ll attach a test case.

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



More information about the ghc-tickets mailing list