
You want something like:
f x = x 4
main = do
print $ f $ (<) 3
print $ f $ (<) 5
=> True
False
(< 3) 4 translates to (4 < 3)
-deech
On Tue, Jan 25, 2011 at 2:00 PM, Xavier Shay
Hello, I am confused by the following code. I would expect results of True, False.
$ ghci *Main> let f x = x 4 *Main> f(<) 3 False *Main> f(<) 5 True
This came about because I was trying to refactor a sort function I wrote:
mySort [] = [] mySort (h:t) = (f (<= h)) ++ [h] ++ (f (> h)) where f x = mySort (filter x t)
I came up with this, which appears to work, though the comparison operators are backwards.
mySort [] = [] mySort (h:t) = f(>) ++ [h] ++ f(<=) where f x = mySort (filter (x h) t)
Cheers, Xavier
_______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners