Gambit (Scheme實現)
外觀
編程範型 | 多范型: 函數式, 指令式, 元編程 |
---|---|
語言家族 | Lisp/Scheme |
設計者 | Marc Feeley |
面市時間 | 1988年 |
當前版本 |
|
型態系統 | 動態, 潛在, 強類型 |
作用域 | 詞法 |
系統平台 | IA-32, x86-64 |
作業系統 | 跨平台 |
許可證 | LGPL 2.1, Apache 2.0 |
網站 | http://gambitscheme.org/ |
啟發語言 | |
Lisp, Scheme | |
影響語言 | |
Gerbil Scheme, Termite Scheme |
Gambit也叫做Gambit-C,是Lisp程式語言家族的Scheme方言一個實現。Gambit實現包括一個Scheme解釋器,和將Scheme編譯成C的編譯器,這使得它成為了跨平台軟體。它遵循了標準R4RS、IEEE 1178和R5RS,和一些Scheme實現要求(SRFI)[3]。Gambit最初在1988年發行,而Gambit-C(具有C後端的Gambit)最初在1994年發行。它們是在GNU寬通用公共許可證(LGPL) 2.1和Apache許可證 2.0下發行的自由及開放原始碼軟體。
通過編譯成中間表示,這裡採用了可移植的C語言代碼(Chicken、Bigloo和Cyclone亦如此),用Gambit書寫的程序可以編譯於常見的流行作業系統,比如Linux、macOS、其他類Unix系統和Windows。
Gerbil Scheme
[編輯]Gerbil scheme是在Gambit-C上實現的Scheme變體。它支持當前的R*RS標準和常見的SRFI,並且擁有受Racket語言啟發的先進的宏和模塊系統[4]。
Termite Scheme
[編輯]Termite Scheme是在Gambit-C上實現的Scheme變體。Termite意圖用於分布式計算[5],它提供受Erlang語言啟發的一個簡單而強力的並發性的消息傳遞模型。
C++和Objective-C集成
[編輯]儘管Gambit編譯器只產生C代碼,它支持完全集成於C++和Objective-C編譯器,比如GCC。因此,用Gambit-C寫成的軟體可以包含C++或Objective-C代碼,並可以完全集成於相應的庫。
參見
[編輯]引用
[編輯]- ^ Release 4.9.5. 2023年7月26日 [2023年8月3日].
- ^ Gambit Scheme - Gambit 4.9.4. [1]. [2022-10-25]. (原始內容存檔於2022-05-27).
- ^ Documentation. Gambit wiki. [2010-03-06]. (原始內容存檔於2021-02-26).
- ^ Dimitris Vyzovitis. Lightning Talk: Gerbil on Gambit, as they say Racket on Chez. Oxford, England: YouTube. 2017-12-11 [2019-03-08]. (原始內容存檔於2021-11-09) (英語).
- ^ Germain, Guillaume; Monnier, Stefan; Feeley, Marc. Concurrency oriented programming in Termite Scheme (PDF). Scheme and Functional Programming 2006. Scheme and Functional Programming 2006. Portland, Oregon. 2006-09-17 [2019-03-08]. (原始內容 (PDF)存檔於2021-09-20).