paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Heterogeneous binary random-access lists

异构二叉随机访问列表
JFP vol.302020匹配度 3/10 · 论文属于依赖类型与函数式编程中的数据结构/求值器实现,与用户核心关注的静态分析、LLM/Agent 交叉、浮点程序分析和贝叶斯程序分析没有直接关联;仅在更广泛的 PL 与形式化验证基础设施层面有微弱联系。引用 2 inbox
WOUTER SWIERSTRA
dblp: 2026-09-10crossref: 2026-09-10

AI 速览

一句话:提出按类型索引的异构二叉随机访问列表,为依赖类型求值器提供支持随机访问的环境表示。

论文以 simply typed lambda calculus 的依赖类型求值器为背景:为表示项中自由变量对应的值,通常需要按变量类型列表索引的异构环境,并通过 lookup 按引用查找取值。标题与摘要指向的核心是将二叉随机访问列表推广到异构、按类型索引的情形,使环境在保持依赖类型安全的同时支持随机访问,而不再局限于线性异构列表。摘要主要给出经典求值器示例与异构列表定义,未展开具体复杂度、定理或实验评估;因此其贡献可理解为面向依赖类型编程的环境数据结构设计与实现。

问题
在依赖类型编程中,为 simply typed lambda calculus 编写求值器需要表示自由变量类型上下文中的值环境,传统异构列表的查找需沿结构递归,难以随机访问。
方法
论文将二叉随机访问列表推广到异构、按类型索引的设定,用上下文索引环境并保持类型安全。
评估
摘要未给出实验或复杂度评估;以经典求值器示例和数据结构定义进行说明。
原文摘要(Abstract)

Writing an evaluator for the simply typed lambda calculus is a classic example of a dependently typed program that appears in numerous tutorials (McBride, 2004; Norell, 2009, 2013; Abel, 2016). The central idea is to represent the well-typed lambda terms over some universe U using an inductive family (Figure 1). Before writing the evaluator for such terms, we need to define a type of environments, capturing the values associated with the free variables in a term. This is typically done using a heterogeneous list, indexed by a list of the free variables’ types: data Env : Ctx → Setwhere Nil : Env Nil Cons : Val u → Env ctx → Env (u :: ctx) lookup : Env ctx → Ref ctx u → Val u lookup (Cons x ctx) Top = x lookup (Cons x ctx) (Pop ref) = lookup ctx ref

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@article{Swierstra20,
  title = {Heterogeneous binary random-access lists},
  author = {WOUTER SWIERSTRA},
  journal = {Journal of Functional Programming},
  volume = {30},
  year = {2020},
  doi = {10.1017/s0956796820000064}
}