cost 324 ms
需要帮助了解 Haskell 中的修复类型 - Need help understanding Fix type in Haskell

我理解fix函数在 Haskell 中的工作原理没有任何问题,但我就是无法理解Fix数据类型。 我相信我明白了它背后的想法,但我就是无法理解Fix数据类型定义是如何在幕后工作的。 因此, Fix的定义如下: 我在脑海中解析这个定义的方式是,作为数据类型的Fix是具有一个字段unfix的记录,其类 ...

repmin 如何在 Haskell 的树中放置值? - How does repmin place values in the tree in Haskell?

我真的很喜欢repmin问题: 记下repmin :: Tree Int -> Tree Int ,它在一次传递中将树中的所有数字替换为其最小值。 如果我在 python 中写这样的东西,我会通过它们的引用传递值(假设单元素列表而不是数字就足够了): def repmin(tree, ...

不使用 monadic bind 使用循环写下 mfix 的情况 - Cases in which we shall not use monadic bind to write mfix down using loop

我一直在尝试使用Control.Arrow.loop写下mfix 。 我想出了不同的定义,并想看看哪个是mfix的实际工作相似。 因此,我认为正确的解决方案如下: 可以看到, loop. Kleisli loop. Kleisli的论点适用于Applicative实例。 我发现这是一个好兆头,因为 ...

是否可以免费写下共享修复点? - Is it possible to write down a sharing fix point-free?

编辑:这篇文章中的fix代表通常写在 Haskell 中的定点组合,而不仅仅是Data.Function.fix 。 众所周知, fix可能是非共享的,因为 GHC 并不总是消除常见的子表达式: 长话短说:“如果您关心 CSE,请亲自动手。” 使用S -combinator 可以很容易地无点写下 ...

将斐波那契数列计算为固定点的复杂性 - Complexity of computing Fibonacci sequence as a fixpoint

我已经意识到以下程序 速度惊人。 它比递归定义快得多: 我很难理解定点定义实际上归结为哪种程序算法。 仅仅是因为 Haskell 的编译器做了一些巧妙的优化,还是它本质上很快? 让我们稍微解开固定点: Haskell 编译器是否识别 x = y 和“短路保险丝”? 它会更多地了解列表 x,还是会从 ...

谈到不动点时,“最小”和“最大”指的是什么顺序? - What order do “least” and “greatest” refer to when talking about fixed point?

在 Haskell 关于不动点的文本中,经常提到最小和最大不动点。 例如在Data.Functor.Fixedpoint文档或这里。 最小和最大暗示所涉及类型的顺序(或者仅在固定点上定义它就足够了吗?)无论如何,我从来没有看到这个顺序被明确表示。 在 Haskell 中,一个固定点大于另一个固定点 ...

在递归数据类型的每个级别附加附加信息? - Attach extra information at every level of a recursive data type?

(这不是一个特别的Haskell问题。) 我有一个递归数据结构。 我想在每个级别附加一些额外的信息。 这是一个简化的示例,其中我将X或Y到树的每个级别: (对我来说, TreeF的定义是不自然的。我宁愿定义data Tree a = Leaf a | Tree a (Tree ...

修复的固定点:: Eq a =>(a-> a)-> a-> a - a fixed point for fix :: Eq a => (a -> a) -> a -> a

大家好,我正在尝试实现高阶函数修正,该修正会从初始点x计算任意函数f :: a -> a的吸引人的不动点 。 也就是说,对于给定的f和x ,形式为fᴷ(x)的不动点。 我目前的尝试是: 注意:如果函数未从起点收敛,则函数不会终止 。 有人能帮助我吗 ? 我尝试过,但没 ...

编译器如何计算出仿函数的固定点以及cata如何在叶级工作? - How does compiler figure out fixed point of a functor and how cata work at leaf level?

我觉得理解一个仿函数的固定点的抽象概念,但是,我仍然在努力弄清楚它的确切实现及其在Haskell中的变形。 例如,如果我定义,如根据“程序员类别理论”一书 - 第359页,下面的代数 根据catamorphism的定义,可以将以下函数应用于ListF的固定点,即List,以计算其长 ...

修复与ArrowLoop - fix vs. ArrowLoop

Control.Arrow的loop描述: 循环运算符表示计算,其中输出值作为输入反馈,尽管计算仅发生一次。 它以箭头符号表示rec值递归构造的基础。 它的源代码,以及(->)实例化: 这立刻让我想起了fix点,固定点组合器: 所以我的问题是: ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM