What does eta reduce mean in the context of HLint
问题 I'm looking at the tutorial http://haskell.org/haskellwiki/How_to_write_a_Haskell_program import System.Environment main :: IO () main = getArgs >>= print . haqify . head haqify s = "Haq! " ++ s When running this program under HLint it gives the following error; ./Haq.hs:11:1: Warning: Eta reduce Found: haqify s = "Haq! " ++ s Why not: haqify = ("Haq! " ++ ) Can someone shed some light on what exactly "Eta Reduce" means in this context? 回答1: Eta reduction is turning \x -> f x into f as long