我目前正在阅读Learn You a Haskell for Great Good,我发现了#34; point-free style"在第85页上,如下所示。但是,fn
功能已满点!这让我很困惑。
为什么这种写作风格被称为"无点"几时 完整有分数?
我应该如何理解这个概念? "点 - 自由"在什么意义上?
术语"无点样式"起源于?也许来自一个 函数组成用空格表示的语言?
答案 0 :(得分:18)
但是免费积分更多!
一个常见的误解是 无点样式的“点”是(。)运算符(函数 组成,作为ASCII符号),使用相同的标识符 小数点。这是错的。该术语起源于拓扑,a 数学分支,它与由点组成的空间一起工作,和 这些空间之间的功能。所以一个'无点'的定义 函数是没有明确提到点(值)的函数 功能作用的空间。在Haskell,我们的“空间”是 某种类型,'点'是值。在声明中f x = x + 1我们 根据对任意点x的动作来定义函数f。 与无点版本对比:f =(+ 1)其中有 没有提到函数的作用值。
答案 1 :(得分:7)
基本上,每个局部变量都是一个“点”。因此,没有局部变量的函数是“无点”的。