[GHC] #7828: RebindableSyntax and Arrow

GHC ghc-devs at haskell.org
Tue Jun 3 17:44:04 UTC 2014


#7828: RebindableSyntax and Arrow
----------------------------------------------+----------------------------
        Reporter:  AlessandroVermeulen        |            Owner:
            Type:  bug                        |  jstolarek
        Priority:  normal                     |           Status:  new
       Component:  Compiler (Type checker)    |        Milestone:  7.10.1
      Resolution:                             |          Version:  7.6.2
Operating System:  Unknown/Multiple           |         Keywords:
 Type of failure:  GHC rejects valid program  |     Architecture:
       Test Case:                             |  Unknown/Multiple
        Blocking:                             |       Difficulty:  Unknown
                                              |       Blocked By:
                                              |  Related Tickets:
----------------------------------------------+----------------------------

Comment (by ross):

 Replying to [comment:15 jstolarek]:
 > Thanks Ross. I think I still don't understand the stk thing. What are
 the "anonymous inputs to the arrow"? Is that described in any of the arrow
 papers?

 They are command arguments, the arrow analogue of function arguments.  But
 with arrows they have to be tupled up with the local environment as the
 input to the arrow.  In the notation paper (section 3.2) these arguments
 are attached to the environment with a series of pairings, but before 7.8
 I had to change the representation to fit with GHC's constraint-based
 typechecker.  Now the environment and stack are separate tuples, combined
 in a pair.

 > > The simplifier reduces that to an identity using rules in
 Control.Arrow
 >
 > How can I observe that? Using `-ddump-simpl` only shows that this huge
 expression is split into many smaller functions but it doesn't look like
 anything gets simplified. Using `-ddump-rules` and `-ddump-rule-rewrites`
 I see that some rules fire but none of them seems to optimize the above
 expression.

 I used -O as well (this is with GHC 7.8.2).

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


More information about the ghc-tickets mailing list