gpt4 book ai didi

functional-programming - 什么是 "point free"风格(在函数式编程中)?

转载 作者:行者123 更新时间:2023-12-03 05:02:06 28 4
gpt4 key购买 nike

我最近注意到的一个短语是“无点”风格的概念......

首先,有 this问题,以及 also this one .

然后,我发现here他们提到“另一个可能值得讨论的话题是作者对无点风格的厌恶。”

什么是“无点”风格?有人可以给出简洁的解释吗?它与“自动”柯里化(Currying)有关吗?

为了了解我的水平 - 我一直在自学Scheme,并编写了一个简单的Scheme解释器...我理解什么是“隐式”柯里化(Currying),但我不知道任何Haskell或ML。

最佳答案

看看 Wikipedia article得到你的定义:

Tacit programming (point-free programming) is a programming paradigm in which a function definition does not include information regarding its arguments, using combinators and function composition [...] instead of variables.

Haskell 示例:

常规(您明确指定参数):

sum (x:xs) = x + (sum xs)
sum [] = 0

无点(sum 没有任何显式参数 - 它只是以 0 开头的 + 的折叠):

 sum = foldr (+) 0

或者更简单:您可以只写 g = f,而不是 g(x) = f(x)

所以是的:它与柯里化(Currying)(或函数组合等操作)密切相关。

关于functional-programming - 什么是 "point free"风格(在函数式编程中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/944446/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com