Joy语言的内涵编程:用一个操作符实现内省
2025-02-12
本文探讨了如何在基于堆栈的函数式编程语言Joy中实现内涵编程。Joy语言本身是外延的,无法“分解”代码块。作者提出两种内涵操作符:“map”和“quota”,并证明它们可以互相表达。尽管行为上等效,但内涵程序可以区分单个操作符和多个命令的子程序。这为研究内涵语言中更弱的等价性概念提供了新的思路,也证明了在Joy等极简语言中引入内涵性的方法是稳健的。
本文探讨了如何在基于堆栈的函数式编程语言Joy中实现内涵编程。Joy语言本身是外延的,无法“分解”代码块。作者提出两种内涵操作符:“map”和“quota”,并证明它们可以互相表达。尽管行为上等效,但内涵程序可以区分单个操作符和多个命令的子程序。这为研究内涵语言中更弱的等价性概念提供了新的思路,也证明了在Joy等极简语言中引入内涵性的方法是稳健的。