On Mon, Sep 5, 2011 at 10:19 PM, Thomas Schilling <nomin...@googlemail.com>wrote:
> a >>= \p -> f <$> b -- 'free p' and 'free b' disjoint >> --> >> ((\p -> f) <$> a) <*> b >> > > Will there also be an optimisation for some sort of simple patterns? I.e., > where we could rewrite this to: > > liftA2 (\pa pb -> f ...) a b > > I think I remember someone saying that the one-at-a-time application of <*> > inhibits certain optimisations. > liftA2 is defined via one-at-a-time application and cannot be redefined because it is no method of Applicative. Do you remember more details? > I find (a << b) confusing. The intended semantics seem to be "effect a", > then "effect b", return result of "a". > Sorry, I didn't know that << doesn't exist. I meant an operator with the meaning of <* . Sebastian
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe