[GHC] #7828: RebindableSyntax and Arrow

GHC ghc-devs at haskell.org
Tue Jul 1 11:29:38 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:  #1537,
                                              |  #3613
----------------------------------------------+----------------------------

Comment (by jstolarek):

 Replying to [comment:17 ross]:
 > Here's a different suggestion for rebinding that is perhaps more
 analogous to the expression case.  We could consider do and if commands as
 sugar for more primitive commands:
 > {{{
 > do { rec { ss }; ss' } =
 >     do { vs <- (| fixA (\ ~vs -> do { ss; returnA -< vs })|); ss' }
 > }}}

 Can the desugaring of `rec` be viewed as:

 > {{{
 > do { rec { ss }; ss' } =
 >     (| fixA (\ ~vs -> do { ss; returnA -< vs })|) `bind` \ vs -> ss' }
 > }}}

 ?

 I'm working on this new desugaring now, but I'm unable to give any
 estimates of how long it might take.

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


More information about the ghc-tickets mailing list