I want to write a function point-free in haskell, to keep things simple lets say I want to make this function:
maxmin :: Ord a => a -> a -> a ->
I wouldn't say this is simplier but here you go:
maxmin :: Ord a => a -> a -> a -> a maxmin = (. min) . (.) . max
(Generated with pl tool from lambdabot http://www.haskell.org/haskellwiki/Pointfree)
pl
lambdabot
lambdabot> pl maxmin a b c = max a (min b c) maxmin = (. min) . (.) . max