1975年由Guy Steele和Gerald Sussman在MIT设计的Lisp方言,以极简主义著称——核心语言规范仅数十页,却能推导出完整的计算能力,是计算机科学教育史上影响最深远的语言之一。

| 首次发布 | 1975年 |
| 设计者 | Guy L. Steele Jr., Gerald Jay Sussman |
| 范式 | 函数式、元编程、多范式 |
Lisp在1958年由John McCarthy发明,括号嵌套的S表达式语法让不少人望而却步,但它的核心思想——代码即数据(code as data)、函数是一等公民——在1960年代就已相当超前。Lisp演化出了许多方言,Common Lisp走向大而全,Scheme走向另一个极端:用最少的原语(primitives)表达最完整的计算。
1975年,Gerald Sussman和Guy Steele在MIT撰写了一系列被称为「Lambda Papers」的技术报告,描述了Scheme的核心设计。与Common Lisp不同,Scheme的函数调用遵循词法作用域(lexical scoping),这让闭包的行为可预测;它要求解释器实现尾调用优化(tail call optimization),让递归可以替代循环而不爆栈;call/cc(call-with-current-continuation)让你能捕获并操纵程序的执行控制流,实现协程、异常处理等高级控制结构。[1]
MIT在1980-2008年间以Scheme为主要教学语言,配套教材《计算机程序的构造与解释》(SICP,1985年)成为计算机科学史上最具影响力的教科书之一。书中用Scheme演示了元循环求值器、惰性求值、流、逻辑编程等概念,这些章节让无数学生第一次意识到编程语言本身可以成为研究对象。
Scheme的规范历经多次修订(R5RS在1998年、R6RS在2007年、R7RS在2013年),各版本之间有时有争议,这也导致实现碎片化。Racket(2010年前称PLT Scheme)是最活跃的Scheme衍生语言,加入了类型系统、宏系统扩展、图形界面库和完整的包生态,形成了独立的语言生态。Chicken Scheme则专注于编译效率和嵌入式场景。

| 首次发布 | 1975年 |
| 设计者 | Guy L. Steele Jr., Gerald Jay Sussman |
| 范式 | 函数式、元编程、多范式 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧