<< 计算机系首页

Scheme主要是一个函数式语言,并支持其他程序设计范式,其语法主要基于S表达式,是Lisp的两大主要方言之一。Scheme强调极简主义设计与简约而可扩展的语言特性,并因其精简性与优雅的语法广受计算机科学教育者以及语言设计学者的欢迎,并经常被用于基础计算机科学教育上。

Scheme的哲学是:设计计算机语言不应该进行功能的堆砌,而应该尽可能减少弱点和限制,使剩下的功能显得必要。Scheme是第一个使用静态而非动态变量区域的Lisp方言,也是第一个引入“干净宏”和第一类续延的编程语言。

  • 表达式

Scheme中所有的表达式都有返回值,最基本的表达式是一个基本数据如:

42
"Hello, world"

这些表达式返回其自身。除此以外的一切表达式都是过程调用或者环境设定,它们都用后缀表达式表达:

(+ 1 1)
(* (+ 1 2)
   (+ 3 4))

这两个表达式分别表示 1 + 1 和 (1 + 2) * (3 + 4)。

  • 命名

命名是为一个对象指定一个别名,如:

(define pi 3.14159)
(define answer-to-life-universe-and-everything 42)
  • 过程

定义一个过程与命名一个对象类似:

(define (square x) (* x x))

过程定义的一般形式是:

(define (<name> <parameters>) <body>)

可以像下面这样调用这个过程:

(square 3)
9

(square (+ 5 7))
144