Gambit (Scheme implementation)

{{Infobox programming language

| name = Gambit

| logo =

| logo caption =

| screenshot =

| screenshot caption =

| paradigms = Multi-paradigm: functional, imperative, meta

| family = Lisp

| designer = Marc Feeley

| developer =

| released = {{Start date and age|1988}}

| latest release version = 4.9.6

| latest release date = {{Start date and age|2025|03|}}{{cite web |url=https://github.com/gambit/gambit/releases/tag/v4.9.6 |title=Gambit Scheme - Gambit 4.9.6 |author= |website= github.com |access-date=2025-04-22}}

| latest preview version =

| latest preview date =

| typing = Dynamic, latent, strong

| scope = Lexical

| programming language =

| platform = IA-32, x86-64

| operating system = Cross-platform

| license = LGPL 2.1, Apache 2.0

| file ext =

| file format =

| website =

| implementations =

| dialects =

| 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).{{cite web |url=http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Documentation |title=Documentation |work=Gambit wiki |access-date=2010-03-06 |archive-date=2021-02-26 |archive-url=https://web.archive.org/web/20210226191750/http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Documentation |url-status=dead }} 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

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.{{cite AV media |people=Dimitris Vyzovitis |date=2017-12-11 |title=Lightning Talk: Gerbil on Gambit, as they say Racket on Chez |language=en |url=https://www.youtube.com/watch?v=C3rzbs_8gNc |archive-url=https://ghostarchive.org/varchive/youtube/20211213/C3rzbs_8gNc |archive-date=2021-12-13 |url-status=live|access-date=2019-03-08 |location=Oxford, England |publisher=YouTube }}{{cbignore}}

Termite Scheme

Termite Scheme is a variant of Scheme implemented on Gambit-C. Termite is intended for distributed computing,{{cite conference |title=Concurrency oriented programming in Termite Scheme |last1=Germain |first1=Guillaume |last2=Monnier |first2=Stefan |last3=Feeley |first3=Marc |url=http://www.schemeworkshop.org/2006/09-germain.pdf |date=2006-09-17 |book-title=Scheme and Functional Programming 2006 |conference=Scheme and Functional Programming 2006 |conference-url=http://www.schemeworkshop.org/2006/ |location=Portland, Oregon |access-date=2019-03-08}} it offers a simple and powerful message passing model of concurrency, inspired by that of Erlang.

C++ and Objective-C integration

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.

See also

References

{{Reflist}}