我想在Haskell中快速正确地减少函数以指向自由格式。我更愿意产生相当可读的结果。我应该怎么做呢?
答案 0 :(得分:10)
实际上有一个名为“pointfree”的程序
这样做
cabal install pointfree
然后在命令行
> pointfree "\x -> x+1"
(1 +)
警告 - 虽然一些无点的结果很棒,但其他的却非常可怕....
答案 1 :(得分:4)
Haskell wiki涵盖了pointfree refactoring here的工具。它主要涵盖Lambdabot,一个执行无点和有意义重构的IRC机器人:
@pl \x y -> EQ == compare x y
((EQ ==) .) . compare
[1]来自http://ircbrowse.net/browse/haskell?id=19908612×tamp=1421726397#t1421726397
的示例