學科:Scheme

來自維基學院

<< 計算機系首頁

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