fixpoint-combinators相关内容

修复OCaml中的数据类型

如何使用OCaml或SML表示来自Haskell的以下数据类型? newtype Fix f = In (f (Fix f)) 推荐答案 我已经answered this question on the mailing-list了(我必须说,您在两个不同的地方问这个问题没有几天的好时间,我有点不高兴,因为这可能会引起重复的努力),但是让我们在这里重复一下。 这里有一个困难,因为O ..
发布时间:2022-03-04 15:12:08 其他开发

为什么 GHC 使修复如此令人困惑?

查看 GHC 源代码我可以看到 fix 的定义是: fix :: (a -> a) ->一个修正 f = let x = f x in x 在一个例子中 fix 是这样使用的: fix (\f x -> let x' = x+1 in x:f x') 这基本上产生了一个从一增加到无穷大的数字序列.为了实现这一点,修复 必须将它接收到的函数柯里化为它的第一个参数.我不清楚上面列出的修复的定义 ..
发布时间:2021-12-14 11:58:21 其他开发

我如何使用修复,它是如何工作的?

我对 fix 的文档有点困惑(虽然我想我现在明白它应该做什么),所以我查看了源代码.这让我更加困惑: fix :: (a -> a) ->一个修正 f = let x = f x in x 这究竟如何返回一个固定点? 我决定在命令行尝试一下: Prelude Data.Function>修复 ID... 它就挂在那里.公平地说,这是在我的旧 macbook 上,有点慢.然而,这个函数 ..
发布时间:2021-12-14 11:43:44 其他开发

修复与ArrowLoop

Control.Arrow中loop的描述: 尽管运算仅发生一次,但循环运算符表示将输出值作为输入反馈的运算.它是箭头表示法的rec值递归构造的基础. 它的源代码及其对(->)的实例化: class Arrow a => ArrowLoop a where loop :: a (b,d) (c,d) -> a b c instance ArrowLoop (->) wh ..
发布时间:2020-11-22 07:00:34 其他开发

什么是定点?

我正在重新观看有关 SICP 的一些早期讲座.定点的概念让我有些困惑.定点过程:我应该这样考虑吗,“这是找到给定函数的定点的方法."那么给定f(2) = 2呢? 为什么在此讲座中,那么映射到x / y的新功能y是一个固定点吗? 解决方案 正义者的答案解决了一个固定点,但这仍然留下您问题的另一部分: 为什么新函数y映射到x/y是一个固定点? 讲师在您提到的那一点上讲得很快, ..

Haskell:修复或不修复

我最近了解了 Data.Function.fix ,现在我想将其应用于所有地方.例如,每当我看到递归函数时,我都想"fix"它.所以基本上我的问题是我应该在何时何地使用它. 使其更具针对性: 1)假设我有以下代码用于n的因式分解: f n = f' n primes where f' n (p:ps) = ... -- if p^2 ..
发布时间:2020-07-22 23:06:53 其他开发