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

GHC ghc-devs at haskell.org
Sat Mar 14 05:27:42 UTC 2015


#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:
 Type of failure:  None/Unknown      |  Unknown/Multiple
      Blocked By:                    |               Test Case:
 Related Tickets:                    |  simplCore/should_compile/T8848,
                                     |  T8848a
                                     |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by 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
 }}}
 ?

 My program seems to hang after trying it, but GHC does not throw <<loop>>.

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


More information about the ghc-tickets mailing list