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
