19 Oct
2009
19 Oct
'09
9:05 a.m.
On Mon, Oct 19, 2009 at 10:49, Michael Mossey <mpm@alumni.caltech.edu> 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.
You can do that with arrows like this: Prelude Control.Arrow> let rangeA x y = ((>x) &&& (<y)) >>> (uncurry (&&)) Prelude Control.Arrow> :t rangeA rangeA :: (Ord a) => a -> a -> a -> Bool Prelude Control.Arrow> filter (rangeA 4 8) [0..10] [5,6,7] Best regards Krzysztof Skrzętnicki