抽象 λ 演算机器与 Ωmega 语言编程
1. 抽象 λ 演算机器相关
1.1 变量检索与 η - 扩展机制
在将程序的所有 λ 抽象转换为等价的无名 Λ 抽象以进行归约之前,变量 { vk + 1 … vn } 会从持久结构中检索出来,这些持久结构保存了程序中所有 λ 抽象的完整参数集。η - 扩展机制利用了未应用的抽象器总是会出现在一个前置的 λ 序列中的事实,这个序列不会再进行进一步的 β - 归约,但会成为完全范式的一部分。相同变量的不同实例通过下标来区分,这些下标枚举了引入它们的 η - 扩展步骤。
1.2 抽象机器设计与测试
为了传达从著名的弱规范化 secd 机器出发,通过补充一些状态转换规则来对未应用的抽象进行 η - 扩展,就可以得到完全规范化机器这一基本信息,设计了两种抽象机器。执行这些 η - 扩展的关键在于使用 ULC 索引而非绑定索引,这样可以用非常简单的更新操作将从环境中检索到的 ULC 转换为 deBruijn 索引,这些索引会出现在(头部)规范化的 Λ 表达式中。
fn secd 机器和 fn se(m)cd 机器都用大约 25 个示例 λ 表达式进行了测试,这些表达式在各种上下文中都包含需要 η - 扩展的未应用抽象。测试发现这两种机器都能将这些表达式正确归约为完全范式,虽然这并不能证明它们对所有 Λ 表达式都能正确工作,但大大提高了可信度。
2. Ωmega 语言介绍
2.1 语言概述
Ωmega 是一种具有无限计算层次结构的语言,包括值、类型、种类、排序等层次。数据和操作数据的函数可以在任何层次引入。数据通过声明构造函数的类型引入,函数通过编写(可能
超级会员免费看
订阅专栏 解锁全文

3110

被折叠的 条评论
为什么被折叠?



