[Haskell-cafe] Gluing pipes

Matt Hellige matt at immute.net
Thu Dec 4 13:21:03 EST 2008

On Thu, Dec 4, 2008 at 12:07 PM, Matt Hellige <matt at immute.net> wrote:
> Finally, there's a further disadvantage to both of these approaches:
> it seems to me that neither approach allows us to "cross pipes". For
> instance, we can't define flip using these techniques, or any "deep
> flip":
>  \ x y z -> f x z y
> Is it true in general that operads cannot express pipe-crossing
> compositions? Or is it just a shortcoming of this particular
> implementation? Of course this is getting farther afield, and I don't
> believe that my approach can express this either.

This is not exactly true. It's possible in my scheme to express a deep
flip, as long as it's the last thing you want to do:
  \ f x y z -> f x z y == id ~> flip

It's not clear to me whether your operad class can express this (or
whether operads in general can express this), or whether my scheme can
express more general permutations of arguments.


More information about the Haskell-Cafe mailing list