語義文法
- Scheme 是一種靜态作用域的程式設計語言.對變量的每一次使用都對應于該變量在詞法上的一個明顯的綁定.
- Scheme 中采用的是隐式類型而非顯式類型.類型與值 (也稱對象)相關聯,而非與變量相關聯.
- Scheme 的實作必須支援嚴格尾遞歸.
- Scheme 過程在本質上都是對象.
- Scheme 過程的參數總以值的方式傳遞,即無論過程是否需要實參的值,實參表達式都會在過程獲得控制權之前被求值.
- Scheme 的算術模型被設計為盡量獨立于計算機内數值的特定表示方式.
- Scheme 區分精确算術和非精确算術的概念,前者對應于數學上的理想情況, 後者則用于表達近似值.
命名約定
- 傳回布爾值的過程名字通常以”?”結尾. 這樣的過程被稱為謂詞 (Predicate).
- 将值存入先前配置設定的存儲位置的過程名字通常以”!”結尾.這樣的過程被稱為改變過程(Mutation procedure).
- 改變過程的傳回值是未定義的.
- 以某個類型的對象為參數,傳回另一個類型的相應對象的過程名字中間包含”->”.
例如,過程 list->vector以一個表為參數,傳回一個向量,該向量中的元素與表中的元素相同.