问题标签 [pointfree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
891 浏览

haskell - Haskell:映射函数应用

我在 Haskell 中进行的一些计算的一部分会生成一个映射FloatFloat. 我想对所有这些函数应用一个参数,如下所示:

有没有办法在不使用一次性 lambda 函数的情况下做到这一点?我已经在Hoogle上搜索了我认为签名应该是 ( [a -> b] -> a -> [b]) 的内容,但没有运气。

0 投票
3 回答
1207 浏览

haskell - 在 Haskell 中对 3 个参数进行柯里化

我在使用一个函数来删除 Haskell 中的三个参数时遇到了麻烦。

免责声明:不是课程作业,今天有人向我提出了这个问题,这一直困扰着我。

我们得到的自定义类型/功能是(只能记住类型)

我们开始:

并将其减少如下:

然后,卡住了。我们只是不知道如何避免使用最后一个参数。我知道我以前在某个地方看到过类似的情况,并且有一个解决方案。

希望一些 Haskell 天才能指出我为什么是个白痴……

0 投票
3 回答
1699 浏览

haskell - 任何函数都可以简化为无点形式吗?

许多函数可以简化为无点形式——但这对所有函数都适用吗?

例如,我看不出它是如何做到的:

0 投票
3 回答
314 浏览

haskell - Haskell:函数中的点

谁能告诉我为什么在这个函数中使用“。” ?

0 投票
2 回答
277 浏览

haskell - 使用免积分有什么好处吗?

可能重复:
函数式编程中“无点”风格的优点和缺点是什么?

当我在大学时,我不得不学习haskell。在我的一堂课中,我们学习了如何使用无点函数。除了学术观点之外,无点编程还有什么优势吗?

在效率方面有什么区别吗?在有很多代码行的应用程序中,自由点不是更难理解吗?

0 投票
2 回答
116 浏览

f# - 无点函数/闭包和类型泛型之间的困境?

似乎使其通用的唯一方法是使其明确,例如let mainAttr x = getMainAttr alignment x

但是,因此它不再使用闭包,因此每次mainAttr调用alignment都必须进行检查。

有没有办法只检查alignment一次并且是通用的?

0 投票
4 回答
6389 浏览

haskell - 如何将两个参数的 Haskell 函数重写为无点样式

我在 Haskell 中有以下功能

我正在尝试学习如何编写“惯用的”Haskell,它似乎更喜欢使用.and$而不是括号,并且在可能的情况下也更喜欢无点代码。我似乎无法摆脱提及xy明确。有任何想法吗?

我认为我会遇到同样的问题,即对两个参数的任何函数进行点释放。

BTW,这只是为了写好代码;不是一些“尽一切可能使它变得毫无意义”的家庭作业。

谢谢。


(添加评论)感谢您的回答。你已经说服我这个功能不会从 pointfree 中受益。你还给了我一些练习转换表达式的好例子。这对我来说仍然很困难,而且它们对 Haskell 来说似乎就像指针对 C 一样重要。

0 投票
2 回答
2015 浏览

haskell - 具有多参数功能的haskell中的点运算符

我想在 haskell 中编写一个无点函数,为了简单起见,可以说我想做这个函数:

我可以将其改进为

但是有没有办法摆脱a和b?

0 投票
2 回答
10845 浏览

haskell - 实现一个函数来计算列表中每个元素的频率

我尝试编写一个程序来计算列表中每个元素的频率。

您可以在以下链接中查看我的代码: http: //codepad.org/nyIECIT2 在此代码中,唯一函数的输出将是这样的

使用 unique 的输出,我们将计算目标列表的频率。您还可以在此处查看代码:

但是在 ghci 6.13 中也出现了其他类型的错误

很少有人问我使用 [(=='a'),(==',b'),(==',c')] 的目的是什么。我的期望:如果 ref="abc" 和 target="aabbaacc" 那么

将显示 ["aaaa","bb","cc"] 然后我可以使用地图长度来获取频率这里根据我使用的参考过滤列表 [(=='a'),(==' ,b'),(==',c')]

我假设一些逻辑错误在于 [(=='a'),(==',b'),(==',c')] 这里..

0 投票
1 回答
2030 浏览

haskell - 将表达式转换为无点样式(Haskell)

我写了这段代码,我必须将它重写为无点样式:

所以我这样做了:

有用。比我这样做:

而且它没有……我的思路有什么问题?