
Section 8.3.5 of the documentation says: Arrow notation (see Section 8.9, “Arrow notation ”) uses whatever arr, (>>>), first, app, (|||) and loop functions are in scope. But unlike the other constructs, the types of these functions must match the Prelude types very closely. Details are in flux; if you want to use this, ask! I want to do this. Is there anything special I should know? Pete

| Section 8.3.5 of the documentation says: | | Arrow notation (see Section 8.9, “Arrow notation ”) uses whatever arr, (>>>), | first, app, (|||) and loop functions are in scope. But unlike the other | constructs, the types of these functions must match the Prelude types very | closely. Details are in flux; if you want to use this, ask! | | I want to do this. Is there anything special I should know? To be honest I believe I wrote those words some years ago, so I no longer have a clue what the "flux" was. My suggestion would be to try it, starting with small examples, and we can go from there. The other thing to say is that the arrow code is Ross Patterson's, and regret to say that it's one part of GHC's code base that I do not grok in fullness. So before you commit to really needing this feature, check that either (a) it works or (b) Ross is willing to fix it (I'll help of course). Simon

Simon Peyton-Jones wrote:
| Section 8.3.5 of the documentation says: | | Arrow notation (see Section 8.9, “Arrow notation ”) uses whatever arr, (>>>), | first, app, (|||) and loop functions are in scope. But unlike the other | constructs, the types of these functions must match the Prelude types very | closely. Details are in flux; if you want to use this, ask! | | I want to do this. Is there anything special I should know?
To be honest I believe I wrote those words some years ago, so I no longer have a clue what the "flux" was. My suggestion would be to try it, starting with small examples, and we can go from there.
The other thing to say is that the arrow code is Ross Patterson's, and regret to say that it's one part of GHC's code base that I do not grok in fullness. So before you commit to really needing this feature, check that either (a) it works or (b) Ross is willing to fix it (I'll help of course).
Ok. I guess I'm basically going to write the arrow version of the rmonad library on hackage. I'll let you know if I have any problems along the way. If it turns out I don't have any problems, I'll let you know that, too :) Pete
participants (2)
-
Peter Gavin
-
Simon Peyton-Jones