Re: [GHC] #7828: RebindableSyntax and Arrow

#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 jstolarek):
There really is no alternative to generating them all
Yes, I am not questioning that.
What precisely is "above". I don't see a proposed design.
I meant storing IDs of calls necessary for desugaring in the extra fields (or extra datatypes) of the constructors of `StmtLR`. Of course this assumes that it is correct to "desugar then typecheck" the arrow do- notation. After reading "A New Notation for Arrows" I feel this should be perfectly OK, just as it is OK for monadic do, but of course that's a layman's perspective. I have a few questions about implementation in `DsArrows` - I think these go to Ross. 1. What is the purpose of the stack created in the desugaring process? 2. How do I read the notation describing each case of `dsCmd`? Eg. the `HsCmdApp` case has this comment: {{{ -- D; ys |-a cmd : (t,stk) --> t' -- D, xs |- exp :: t -- ------------------------ -- D; xs |-a cmd exp : stk --> t' -- -- ---> premap (\ ((xs),stk) -> ((ys),(e,stk))) cmd }}} What is `|-a`, `xs` and `ys`? What is the difference between `:` and `::`? Could you tell me how to read this particular comment? I should then be able to understand all the others. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/7828#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC