To clarify my comments in this thread around desugaring: I was referring to the 
concrete Haskell code as written in GHC, not at all to an abstract desugaring 
algorithm. The implementation of arrows in GHC uses fixM, which is a nuisance. 
And I don't understand the code well enough to be able to untie the knot. I 
have a solid workaround for the time being, but it's indeed a workaround.

Richard

> On Dec 21, 2016, at 5:09 PM, Tom Ellis 
> <[email protected]> wrote:
> 
> On Wed, Dec 21, 2016 at 01:49:33PM -0600, [email protected] wrote:
>> Additionally, Opaleye uses Arrow syntax pretty heavily iirc.
> 
> If I were writing the Opaleye tutorial today (and if I rewrite it) I will
> shy away from arrows and encourage users to use applicative style.  There's
> only one operator where applicative is not enough, 'restrict', and that can
> be wrapped up as a different combinator so that no one knows they're ever
> using arrows.
> 
> Tom
> 
> _______________________________________________
> ghc-devs mailing list
> [email protected]
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

_______________________________________________
ghc-devs mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to