函数式编程 问答列表

将闭包表示为有限项

作者:rwallace 提问时间:7/2/2021

我正在为一个语言片段开发一个元解释器,该片段需要足够丰富以支持高阶函数,并遇到了闭包问题。 具体来说,我需要所有值都可以表示为有限项;没有无限的重复,没有相互指向的物体。这适用于大多数类型的值、数字...

是否有可行且类型安全的替代方法,以替代 1:1 类型/类型类实例关系?

作者: 提问时间:7/8/2021

这个问题最初是在我研究动态 JS 类型验证器时出现的,该验证器依赖于字典传递样式作为相当简单的类型类机制,但我认为它也适用于 Haskell 或其他具有类型类机制的语言。 起初,我认为在具有字典传递...

在 Groovy 中嵌套多个闭包

作者:Jazzschmidt 提问时间:8/20/2021

我在 Groovy 中嵌套多个 Closure 时遇到问题。只嵌套一个就像一个魅力: def nestedClosure = { Closure cl -> doSomething { cl() }...

受 clojure 启发的换能器可以用 HM 型系统打字吗?

作者: 提问时间:7/30/2021

我在 Javascript 中有一个纯功能传感器实现,它支持环路融合和短路。请注意,虽然我使用的是 JS,但这不是理解问题的必要条件。只有类型才重要。 // ((a -> r) -> r) -> C...

python 闭包何时进行捕获?

作者:artemonster 提问时间:8/23/2021

这是 python 中一个相当不言自明的代码片段: globl = 1 def foo(): def bar(): return free+capture capture = globl #...

如果我们使用闭包,如何提高功能的纯度

作者:Isaac 提问时间:9/20/2021

我有一个伪函数,如下所示 let counter = 0; function createNewFile() { const fileName = `book_${counter++}`; ...

我们可以说函数闭包是将状态保存给函数,每次我们给函数分配一个新状态时,它都会产生一个新函数吗?

作者:Gaurav Singh 提问时间:12/2/2021

在以下函数中,在 Scala 中调用 inc,它执行增量操作。 def inc(more:Int) = { def helper(x:Int) = x+more helper _ } 每当调...

什么时候应该使用函数咖喱?

作者:overexchange 提问时间:7/22/2014

我什么时候应该以 cured 形式编写我的函数?不符合我的想法,需要纠正自己。 作为我学习链接的一部分,这就是我从函数咖喱中理解的。下面是一个示例: def curry2(f): """Retu...

在Haskell中使用函数作为字段从数据类型派生Eq时出现的问题

作者:Javier Sánchez Castro 提问时间:3/10/2022

我正在尝试使用函数作为字段从数据类型派生 Eq,但没有按预期工作。 我也尝试编写te实例,但仍然不起作用 data Conf = Conf { rule :: ([Char] -> Char),...

什么是尾递归?

作者: 提问时间:8/29/2008

在开始学习 lisp 时,我遇到了术语 tail-recursive。这究竟意味着什么?...


共74条 当前第7页