小编Joh*_*n L的帖子

在HLint的上下文中,eta减少了什么意思

我正在看教程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"在这种背景下意味着什么有所了解?

haskell lambda-calculus hlint

11
推荐指数
3
解决办法
3955
查看次数

Haskell命令行参数处理库

我一直在使用cmdargs进行参数处理,这很棒.但是,我没有看到一个带有单个连字符的长选项名称的工具,例如-option1 -option2或更难以-optx相当于--opt=x.我需要保持与现有应用程序的兼容性,因此这些格式都是必需的.

System.Console.Getopt似乎也没有.任何人都可以提供如何使用cmdargs执行此操作的示例,或者建议一个支持此功能的替代库吗?

haskell command-line-arguments

8
推荐指数
1
解决办法
831
查看次数