Peter Gavin | 3 Sep 05:56

rebinding arrow notation

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
Simon Peyton-Jones | 3 Sep 09:43

RE: rebinding arrow notation

| 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
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users <at> haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Peter Gavin | 5 Sep 01:13

Re: rebinding arrow notation

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

Gmane