天天看點

Scheme R5RS 1.概論語義文法命名約定

語義文法

  1. Scheme 是一種靜态作用域的程式設計語言.對變量的每一次使用都對應于該變量在詞法上的一個明顯的綁定.
  2. Scheme 中采用的是隐式類型而非顯式類型.類型與值 (也稱對象)相關聯,而非與變量相關聯.
  3. Scheme 的實作必須支援嚴格尾遞歸.
  4. Scheme 過程在本質上都是對象.
  5. Scheme 過程的參數總以值的方式傳遞,即無論過程是否需要實參的值,實參表達式都會在過程獲得控制權之前被求值.
  6. Scheme 的算術模型被設計為盡量獨立于計算機内數值的特定表示方式.
  7. Scheme 區分精确算術和非精确算術的概念,前者對應于數學上的理想情況, 後者則用于表達近似值.

命名約定

  1. 傳回布爾值的過程名字通常以”?”結尾. 這樣的過程被稱為謂詞 (Predicate).
  2. 将值存入先前配置設定的存儲位置的過程名字通常以”!”結尾.這樣的過程被稱為改變過程(Mutation procedure).
  3. 改變過程的傳回值是未定義的.
  4. 以某個類型的對象為參數,傳回另一個類型的相應對象的過程名字中間包含”->”.
    例如,過程 list->vector以一個表為參數,傳回一個向量,該向量中的元素與表中的元素相同.

繼續閱讀