【发布时间】:2013-01-25 21:19:06
【问题描述】:
在我的程序上运行 hlint 时,它报告了一个 错误 for
\x -> [x]
并建议了替代形式
(: [])
根据 hlint 关于第一种形式有什么错误,因此我为什么要使用(可读性较差的)第二个选项?
编辑
(在问题中明确添加了 hlint)
我的问题不在于从词汇的角度来看有什么区别(我确实理解它们)。我的问题是我不明白为什么 hlint 将其标记为 错误。例如,懒惰有什么不同吗?此外,为什么之前的想法被 hlint 视为错误,而 \x -> Just x 只提出警告。
【问题讨论】:
-
是的
(:[])(“机器人”)对初学者来说很奇怪;当我第一次看到它时,它确实让我绊倒了。但现在它只是我词汇表中的另一个习语——就像复数一个变量名(例如xs)或使用一个部分来翻转一个函数(例如(`Map.member` m))