paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A unified approach to solving seven programming problems (functional pearl)

一种解决七个编程问题的统一方法(函数式珍珠)
ICFP 1(ICFP)2017匹配度 2/10 · 论文属于逻辑/约束编程与函数式编程的编程挑战解法,与用户关注的 LLM/Agent 和静态分析、形式化验证、浮点程序分析或贝叶斯程序分析的交叉均无直接关系;仅在 PL 大类上有弱关联。引用 35 inbox
William E. Byrd, Michael Ballantyne, Gregory Rosenblatt, Matthew Might
dblp: 2026-09-10crossref: 2026-09-10

AI 速览

一句话:提出用 miniKanren 约束逻辑编程统一解决 Racket 中七个编程挑战的优雅方法。

本文是一篇函数式珍珠,围绕 Racket 中的七个编程挑战,提出一种统一而优雅的求解方法。作者不针对每个问题分别设计算法,而是将问题建模为约束逻辑程序,并借助嵌入 Racket 的 miniKanren 进行求解。该方法体现了约束逻辑编程在表达和复用上的优势:同一套关系式与约束求解机制可覆盖多个看似不同的编程任务。论文通过七个具体挑战展示该方法的统一性与简洁性,为函数式编程社区提供了一种以关系式编程和约束求解为核心的通用问题求解视角。

问题
如何用统一而优雅的方法解决 Racket 中的七个不同编程挑战,而非为每个问题单独设计解法。
方法
将问题表达为约束逻辑程序,并利用嵌入 Racket 的 miniKanren 进行关系式建模与求解。
评估
以七个编程挑战作为案例展示该方法的适用性与简洁性;摘要未报告量化实验。
原文摘要(Abstract)

We present seven programming challenges in Racket, and an elegant, unified approach to solving them using constraint logic programming in miniKanren.

链接与引用

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

BibTeX
@article{ByrdBRM17,
  title = {A unified approach to solving seven programming problems (functional pearl)},
  author = {William E. Byrd and Michael Ballantyne and Gregory Rosenblatt and Matthew Might},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {1},
  number = {ICFP},
  year = {2017},
  doi = {10.1145/3110252}
}