On 5 September 2011 15:49, Sebastian Fischer <fisc...@nii.ac.jp> wrote: > > 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?
Good point. I can't find the original post, so I don't know what exactly the issue was (or maybe I'm misremembering). -- Push the envelope. Watch it bend. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe