- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Fixed-point combinators为匿名函数提供一种引用自身或构建相互递归结构的方法。虽然它们在 lambda 演算中很有用,但在现代编程语言中本质上是多余的,因为大多数(如果不是全部)都支持递归、lambda 和闭包。
此外,定点组合器可以使递归结构(如左递归语法解析器)终止。考虑Lickman 1995 ,他证明了他的实现的终止,但从未真正提到它是如何工作的(这只是从格理论到 haskell 实现的逐步推导)以及他为什么需要定点组合器采用已经原生支持递归的语言。
它是如何工作的以及为什么他需要定点组合器?
最佳答案
通过快速扫描,Lickman 在 5.3 结尾写道“正如上面所定义的,fixS 确保在所有连续输入上都具有足够的生产力。”
关键是让定点运算符产生足够的输出,以便解析可以继续。您不能对一般的 fix::(a -> a) -> a
执行此操作,而是将 a
专门用于 Set a
,或者后来的解析器a
给出了足够的结构(即格子的结构)来使用。
同样,我只是粗略地浏览了这篇论文,但我认为“h::Parser a -> Parser a
”语句的证明(在第 5.5 节)保持了生产力的属性==> fixP h
富有成效”是关键。
关于parsing - 定点组合器如何使递归构造终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26762713/
当我在定点 Z3Py 中启用解释生成选项时,我收到包含以下消息的核心转储。 Error setting 'DL_GENERATE_EXPLANATIONS', reason: unknown opti
我正在开发一些代码,可以从 HW 获取浮点或定点数据。目前我们将其作为 float 。 底层API都是定点的。所以我们必须将数据作为定点传回。我们使用的算法是 Cholesky。我想知道为什么我们必须
我有一个关于在 MATLAB 中为 Texas Instruments TMS320C64xx DSP 编写算法的问题: 我在 MATLAB 中草率地实现了我的过滤器。我的目标是使用 MATLAB E
我需要将 float 转换为Q31定点,Q31表示1个符号位,0位表示整数部分,31位表示小数部分。这意味着 Q31 只能表示 [-1,0.9999] 范围内的数字。 根据定义,从浮点转换为定点时,会
我正在使用第 3 方定点 antilog() 函数来计算分贝 out_mag = 10^( in_db/20 ) 的幅度。 antilog() 采用 Q6.25 格式作为输入,并在输出时提供 Q16.
我想将一个定点数(Q31/int32 表示具有 31 个小数位的小数)除以另一个 Q31/int32。我想计算z = y/x,知道abs(x)>abs(y)。因此,z<1,因此可以表示为另一个Q31/
我是一名优秀的程序员,十分优秀!