[GHC] #8848: Warning: Rule too complicated to desugar

GHC ghc-devs at haskell.org
Thu Dec 1 22:18:41 UTC 2016


#8848: Warning: Rule too complicated to desugar
-------------------------------------+-------------------------------------
        Reporter:  carter            |                Owner:
            Type:  bug               |               Status:  closed
        Priority:  normal            |            Milestone:  7.10.1
       Component:  Compiler          |              Version:  7.8.1-rc2
      Resolution:  fixed             |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
                                     |  simplCore/should_compile/T8848,
                                     |  T8848a
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by nfrisby):

 Replying to [comment:12 yongqli]:
 > It is possible that
 >
 >
 > {{{
 > {-# RULE map2 = map2_spec #-}
 > map2_spec :: (a->b->c)-> (Shape Z a )-> Shape Z b -> Shape Z c
 > map2_spec = inline map2
 > }}}
 >
 > creates an infinite loop, because we end up with
 >
 >
 > {{{
 > map2_spec = inline map2_spec
 > }}}
 > ?

 I noticed this happening with GHC 7.10.2. The RULE must not be in-
 scope/active during the definition of {{{map2_spec}}} (e.g. put it in a
 downstream module.)

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


More information about the ghc-tickets mailing list