| Paradigms | Multi-paradigm: functional, imperative, meta |
|---|---|
| Family | Lisp |
| Designed by | Marc Feeley |
| First appeared | 1988 |
| Stable release | 4.9.6 / March 2025 [1] |
| Typing discipline | Dynamic, latent, strong |
| Scope | Lexical |
| Platform | IA-32, x86-64 |
| OS | Cross-platform |
| License | LGPL 2.1, Apache 2.0 |
| Website | gambitscheme |
| Influenced by | |
| Lisp, Scheme | |
| Influenced | |
| Gerbil Scheme, Termite Scheme | |
Gambit, also called Gambit-C, is a programming language, a variant of the language family Lisp, and its variants named Scheme. The Gambit implementation consists of a Scheme interpreter, and a compiler which compiles Scheme into the language C, which makes it cross-platform software. It conforms to the standards R4RS, R5RS, and Institute of Electrical and Electronics Engineers (IEEE), and to several Scheme Requests for Implementations (SRFIs). [2] Gambit was released first in 1988, and Gambit-C (Gambit with a C backend) was released first in 1994. They are free and open-source software released under a GNU Lesser General Public License (LGPL) 2.1, and Apache License 2.0.
By compiling to an intermediate representation, in this case portable C (as do Chicken, Bigloo and Cyclone), programs written in Gambit can be compiled for common popular operating systems such as Linux, macOS, other Unix-like systems, and Windows.
Gerbil scheme is a variant of Scheme implemented on Gambit-C. It supports current R*RS standards and common SRFIs and has a state of the art macro and module system inspired by Racket. [3]
Termite Scheme is a variant of Scheme implemented on Gambit-C. Termite is intended for distributed computing, [4] it offers a simple and powerful message passing model of concurrency, inspired by that of Erlang.
While the Gambit compiler produces C code only, it has full integration support for C++ and Objective-C compilers such as GNU Compiler Collection (GCC). Thus, software written in Gambit-C can contain C++ or Objective-C code, and can fully integrate with corresponding libraries.