Lobsters | 📄 原文链接 | 2026-07-22 collected

Joy 编程语言入门教程:无变量的函数式编程

source: kevinalbrecht.com — 2026-07-21

概述

Joy 是一种基于函数组合而非函数应用的函数式编程语言。它不使用 lambda 抽象,而是使用引号(quotation)和组合子(combinators)实现高阶函数。程序采用后缀表示法(类似 PostScript/Forth),完全无变量——因为没有形参替换。教程覆盖了基本数据类型、列表操作、引号与组合子、递归消除、聚合操作等核心概念,展示了如何用极简语法写出紧凑而强大的程序。

核心要点

  • Joy 的核心范式:函数组合替代函数应用,引号(quotation)替代 lambda 抽象。
  • 采用 后缀表示法(2 3 + 而非 + 2 3),内部基于栈操作——dup、swap、pop 等栈操纵器。
  • 组合子实现高阶函数效果,多种组合子可 消除递归定义的依赖。
  • 由于没有 形式参数替换,编写和推理程序变得直观——变量不存在,作用域不存在。

金句

Writing programs and reasoning about them is made easy because there is no substitution of actual for formal parameters.
back to Lobsters