On Thu, Dec 4, 2008 at 12:07 PM, Matt Hellige <[EMAIL PROTECTED]> 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. Matt _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe