
23 Oct
2009
23 Oct
'09
11:23 a.m.
Am Freitag 23 Oktober 2009 16:25:57 schrieb pl:
filter ((<=0.5) . abs) xs
Would be filter ((< 0.5) . abs). Yes, it's fine. However, if the range is not symmetrical about 0, this is not so nice anymore: cap lo hi = filter (\x -> lo < x && x < hi) cap lo hi = filter (liftM2 (&&) (lo <) (< hi)) cap lo hi = filter ((&&) <$> (lo <) <*> (< hi)) cap lo hi = filter ((< halflength) . abs . subtract mid) where mid = (lo+hi)/2 halflength = (hi-lo)/2
On Mon, Oct 19, 2009 at 10:49 AM, Michael Mossey
wrote: Is there a nifty way to write
filter (\x -> x < 0.5 && x > -0.5) xs
without explicitly using x?
Maybe arrows? I have a vague understanding that arrows can "send" an argument to more than one computation.
-Mike