pointfree

pointfree

文章 0 浏览 3

在 Haskell 中对布尔函数执行“and”和“or”

我刚刚编写了以下两个函数: fand :: (a -&gt Bool) -&gt (a -&gt Bool) -&gt a -&gt Bool fand f1 f2 x = (f1 x) &amp&amp (f2 x) f_or :: (a -&gt B…

躲猫猫 2024-11-02 01:16:21 2 0

“无积分”的优点和缺点是什么?函数式编程的风格?

我知道在某些语言(Haskell?)中,努力是实现无点风格,或者从不按名称显式引用函数参数。这对我来说是一个非常难以掌握的概念,但它可能会帮助我理…

忘年祭陌 2024-11-01 02:25:48 1 0

如何使用 Monad 的 (->) 实例以及关于 (->) 的困惑

在不同的问题上,我在评论中找到了有关使用 Monad 的 (-&gt) 实例的提示,例如用于实现无点样式。 对于我来说,这有点太抽象了。好的,我在 (-&gt) 上…

还给你自由 2024-10-22 18:03:59 1 0

什么时候使用无意义的风格?

许多 haskell 程序员,包括我,都喜欢毫无意义的风格,尤其是在编写复杂的解析器时。它们使代码更具可读性并且更简洁。但有时,情况恰恰相反(例如,…

岁月无声 2024-10-21 19:28:42 1 0

从更大的矩阵中找到唯一的矩阵

我对函数式编程相当陌生,所以我正在进行一些练习。我想编写一个函数,给定一个唯一自然数矩阵(假设为 5x5),返回较小尺寸(假设为 3x3)的唯一矩阵…

所谓喜欢 2024-10-16 01:25:08 3 0

“重用”的技巧Haskell 中的争论?

有时我会偶然发现我想要表达的问题“请使用最后一个参数两次”,例如为了编写 pointfree 风格或避免 lambda。例如 sqr x = x * x 可以写成 sqr = doub…

故人的歌 2024-10-05 09:38:08 4 0

摆弄无点代码?

我一直在学习 Factor 和 J 语言来尝试无点编程。这些语言的基本机制似乎很清楚,但了解如何进行算法设计是一个挑战。 对我来说,一个特别令人困惑的地…

难如初 2024-09-16 12:37:18 5 0

为什么这个函数的 pointfree 版本看起来像这样?

我一直在使用 Haskell,包括练习以无点形式编写函数。这是一个示例函数: dotProduct :: (Num a) =&gt [a] -&gt [a] -&gt a dotProduct xs ys = sum (…

等风也等你 2024-09-07 07:21:16 2 0

从函数应用到函数组合的 Haskell 类型错误

这个问题与antal sz回答的函数组合VS函数应用相关。 你怎么能得到这个? map has type (a -&gt b) -&gt [a] -&gt [b] head has type [a] -&gt a map h…

话少情深 2024-09-07 07:12:36 6 0

Haskell 中的无点

我有这段代码,我想使其成为无点的; (\kt -&gt chr $ a + Flip mod 26 (ord k + ord t -2*a)) 我该怎么做? 除了“思考这个并想出一些东西”之外,还…

最单纯的乌龟 2024-08-25 03:36:50 6 0

翻转/反转 fmap (<$>)?

我发现定义以下内容 (%) = flip fmap 我可以编写这样的代码: readFile "/etc/passwd" % lines % filter (not . null) 对我来说,它比替代方案更有意…

灰色世界里的红玫瑰 2024-08-10 06:39:16 2 0

什么是“无积分”? 风格(在函数式编程中)?

我最近注意到的一个短语是“point free”风格的概念...... 首先,有 这个问题,以及还有这个。 然后,我发现这里他们提到“另一个可能值得讨论的主题…

薄荷港 2024-07-23 11:54:36 5 0

函数应用:这里为什么用$?

不久前,我问了一个问题关于 $,并得到了有用的答案——事实上,我认为我理解如何使用它。 看来我错了:( 这个例子出现在教程中: instance Monad [] w…

无畏 2024-07-11 10:21:04 10 0
更多

推荐作者

linfzu01

文章 0 评论 0

可遇━不可求

文章 0 评论 0

枕梦

文章 0 评论 0

qq_3LFa8Q

文章 0 评论 0

JP

文章 0 评论 0

更多

友情链接

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文