Help needed: Restrictions of proc-notation with RebindableSyntax

Simon Peyton Jones simonpj at
Tue Nov 29 12:41:53 UTC 2016


Type checking and desugaring for arrow syntax has received Absolutely No Love for several years.  I do not understand how it works very well, and I would not be at all surprised if it is broken in corner cases.

It really needs someone to look at it carefully, document it better, and perhaps refactor it – esp by using a different data type rather than piggy-backing on HsExpr.

In the light of that understanding, I think rebindable syntax will be easier.

I don’t know if you are up for that, but it’s a rather un-tended part of GHC.



From: ghc-devs [mailto:ghc-devs-bounces at] On Behalf Of Richard Eisenberg
Sent: 28 November 2016 22:30
To: Jan Bracker <jan.bracker at>
Cc: ghc-devs at
Subject: Help needed: Restrictions of proc-notation with RebindableSyntax

Jan’s question is a good one, but I don’t know enough about procs to be able to answer. I do know that the answer can be found by looking for uses of `tcSyntaxOp` in the TcArrows module.... but I just can’t translate it all to source Haskell, having roughly 0 understanding of this end of the language.

Can anyone else help Jan here?


On Nov 23, 2016, at 4:34 AM, Jan Bracker via ghc-devs <ghc-devs at<mailto:ghc-devs at>> wrote:


I want to use the proc-notation together with RebindableSyntax. So far what I am trying to do is working fine, but I would like to know what the exact restrictions on the supplied functions are. I am introducing additional indices and constraints on the operations. The documentation [1] says the details are in flux and that I should ask directly.


ghc-devs mailing list
ghc-devs at<mailto:ghc-devs at>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list