我正在看教程http://haskell.org/haskellwiki/How_to_write_a_Haskell_program
import System.Environment
main :: IO ()
main = getArgs >>= print . haqify . head
haqify s = "Haq! " ++ s
Run Code Online (Sandbox Code Playgroud)
在HLint下运行此程序时,它会出现以下错误;
./Haq.hs:11:1: Warning: Eta reduce
Found:
haqify s = "Haq! " ++ s
Why not:
haqify = ("Haq! " ++ )
Run Code Online (Sandbox Code Playgroud)
有人能否对"Eta Reduce"在这种背景下意味着什么有所了解?
我一直在使用cmdargs进行参数处理,这很棒.但是,我没有看到一个带有单个连字符的长选项名称的工具,例如-option1 -option2
或更难以-optx
相当于--opt=x
.我需要保持与现有应用程序的兼容性,因此这些格式都是必需的.
System.Console.Getopt似乎也没有.任何人都可以提供如何使用cmdargs执行此操作的示例,或者建议一个支持此功能的替代库吗?