Haskell实用程序使函数点免费

时间:2015-01-24 21:43:50

标签: haskell lambda-calculus pointfree combinatory-logic

我想在Haskell中快速正确地减少函数以指向自由格式。我更愿意产生相当可读的结果。我应该怎么做呢?

2 个答案:

答案 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&timestamp=1421726397#t1421726397

的示例