Actions

Difference between revisions of "Main Page"

From Gambit wiki

(update for v4.7.9)
(Update section about downloading the latest release)
 
(18 intermediate revisions by 2 users not shown)
Line 6: Line 6:
 
resources are collected and where users can exchange information related to Gambit.
 
resources are collected and where users can exchange information related to Gambit.
  
'''Download latest release (v4.7.9):'''
+
=== Download latest release (v4.9.4) ===
[http://www.iro.umontreal.ca/~gambit/download/gambit/v4.7/source/gambc-v4_7_9-devel.tgz Development Sources],
+
 
[http://www.iro.umontreal.ca/~gambit/download/gambit/v4.7/prebuilt/gambc-v4_7_9-macosx-intel32.dmg Mac OS X installer (for Intel 32)],
+
Source code: [https://gambitscheme.org/latest/gambit-v4_9_4.tgz gambit-v4_9_4.tgz]
[http://www.iro.umontreal.ca/~gambit/download/gambit/v4.7/prebuilt/gambc-v4_7_9-macosx-intel64.dmg Mac OS X installer (for Intel 64)],
+
 
 +
==== Install from a package manager ====
 +
 
 +
{| class="wikitable"
 +
|Windows || <code>choco install gambit</code>
 +
|-
 +
|macOS || <code>brew install gambit-scheme</code>
 +
|-
 +
|Ubuntu Linux / Debian Linux || <code>sudo apt install gambc</code>
 +
|-
 +
|Fedora Linux || <code>sudo yum install gambit-c</code>
 +
|-
 +
|Arch Linux || <code>sudo pacman install gambit-c</code>
 +
|-
 +
|NixOS || <code>nix-env -i gambit</code>
 +
|-
 +
|FreeBSD / DragonFly BSD || <code>sudo pkg install gambit-c</code>
 +
|-
 +
|OpenBSD || <code>sudo pkg_add gambit-c</code>
 +
|-
 +
|NetBSD || <code>sudo pkg_add gambc</code>
 +
|}
 +
 
 +
==== Install from the iOS App Store ====
 +
 
 +
* [https://apps.apple.com/us/app/gambit-repl/id434534076 Gambit REPL]
 +
* [https://apps.apple.com/us/app/not-emacs/id948330589 Not Emacs]
 +
 
 +
=== Download previous release (v4.9.3) ===
 +
[http://www.iro.umontreal.ca/~gambit/download/gambit/v4.9/source/gambit-v4_9_3-devel.tgz Development Sources],
 +
[http://www.iro.umontreal.ca/~gambit/download/gambit/v4.9/prebuilt/gambit-v4_9_3-macosx-intel32.dmg Mac OS X installer (for Intel 32)],
 +
[http://www.iro.umontreal.ca/~gambit/download/gambit/v4.9/prebuilt/gambit-v4_9_3-macosx-intel64.dmg Mac OS X installer (for Intel 64)],
 
[http://itunes.apple.com/us/app/gambit-repl/id434534076?mt=8&ls=1 iPhone/iPod touch/iPad],
 
[http://itunes.apple.com/us/app/gambit-repl/id434534076?mt=8&ls=1 iPhone/iPod touch/iPad],
[http://www.iro.umontreal.ca/~gambit/download/gambit/v4.7/prebuilt/gambc-v4_7_9-windows-mingw32.exe Windows installer (for MinGW32)]
+
[http://www.iro.umontreal.ca/~gambit/download/gambit/v4.9/prebuilt/gambit-v4_9_3-windows-mingw32.exe Windows installer (for MinGW32)]
[http://www.iro.umontreal.ca/~gambit/download/gambit/v4.7/prebuilt/gambc-v4_7_9-windows-mingw64.exe Windows installer (for MinGW64)]
+
[http://www.iro.umontreal.ca/~gambit/download/gambit/v4.9/prebuilt/gambit-v4_9_3-windows-mingw64.exe Windows installer (for MinGW64)]
 
(for other releases see the [[distributions]]). Libraries and module systems are installed separately.
 
(for other releases see the [[distributions]]). Libraries and module systems are installed separately.
  
'''[https://gitter.im/feeley/gambit Click here to join the Gambit chatroom]'''
+
'''[https://gitter.im/gambit/gambit Click here to join the Gambit chatroom]'''
 
 
'''[https://github.com/feeley/gambit Click here to visit the Gambit source code repository on github]'''
 
  
'''[http://gambitscheme.org/wordpress Click here to order an awesome Gambit T-Shirt!]'''
+
'''[https://github.com/gambit/gambit Click here to visit the Gambit source code repository on github]'''
  
 
==What's Gambit?==
 
==What's Gambit?==
Line 32: Line 61:
 
* '''Portability.'''  Because the system is mostly written in Scheme and the compiler generates portable C code, it is easy to port the system as well as programs compiled with it to any platform with a decent C or C++ compiler.  There is no reliance on a particular C compiler, although the system can take advantage of some '''gcc'''-specific constructs.  The C code generated is oblivious to the endianness and word size of the target environment (32 and 64 bit architectures are currently supported). There are no external library dependencies, and OS API dependencies can be removed so as to run directly on the bare metal. The system includes high-performance bignum support utilizing sophisticated algorithms, implemented in Scheme.
 
* '''Portability.'''  Because the system is mostly written in Scheme and the compiler generates portable C code, it is easy to port the system as well as programs compiled with it to any platform with a decent C or C++ compiler.  There is no reliance on a particular C compiler, although the system can take advantage of some '''gcc'''-specific constructs.  The C code generated is oblivious to the endianness and word size of the target environment (32 and 64 bit architectures are currently supported). There are no external library dependencies, and OS API dependencies can be removed so as to run directly on the bare metal. The system includes high-performance bignum support utilizing sophisticated algorithms, implemented in Scheme.
 
* '''Performance.'''  The compiler includes several powerful program transformations such as user procedure inlining, partial-evaluation, and lambda-lifting.  With appropriate declarations in the source code the executable programs generated by the compiler run roughly as fast as equivalent C programs.  Programs containing no declarations are also optimized without compromising the Scheme semantics by speculatively inlining predefined procedures (see the [[benchmarks]] page for a comparison with other Scheme implementations and other languages).  Thanks to an efficient implementation of continuations, the thread system is very efficient and can support millions of concurrent threads.
 
* '''Performance.'''  The compiler includes several powerful program transformations such as user procedure inlining, partial-evaluation, and lambda-lifting.  With appropriate declarations in the source code the executable programs generated by the compiler run roughly as fast as equivalent C programs.  Programs containing no declarations are also optimized without compromising the Scheme semantics by speculatively inlining predefined procedures (see the [[benchmarks]] page for a comparison with other Scheme implementations and other languages).  Thanks to an efficient implementation of continuations, the thread system is very efficient and can support millions of concurrent threads.
* '''Reliability.'''  Stable releases typically have very few bugs.  Bug tracking is done with the [https://github.com/feeley/gambit/issues issue tracker on github].  Gambit-C has been used to develop large-scale [[Real-world software and services | real-world software and services]] in academic and commercial settings.
+
* '''Reliability.'''  Stable releases typically have very few bugs.  Bug tracking is done with the [https://github.com/gambit/gambit/issues issue tracker on github].  Gambit-C has been used to develop large-scale [[Real-world software and services | real-world software and services]] in academic and commercial settings.
  
An overview of the Gambit system was presented by Marc Feeley at the [http://www.international-lisp-conference.org/2010/index 2010 International Lisp Conference].  The slides of the "Gambit Scheme: Inside Out" talk are [http://www.iro.umontreal.ca/~gambit/Gambit-inside-out.pdf here].
+
An overview of the Gambit system was presented by Marc Feeley at the [http://www.international-lisp-conference.org/2010/index 2010 International Lisp Conference].  The slides of the "Gambit Scheme: Inside Out" talk are [http://www.iro.umontreal.ca/~gambit/Gambit-inside-out.pdf here]. The slides for the talk "Compiling for Multi-language Task Migration" given at DLS 15 are [http://www.iro.umontreal.ca/~gambit/migrate-dls15-talk.pdf here].  The slides for the talk "Tail Calling Between Code Generated by C and Native Backends" given at the Scheme Workshop 2018 are [http://www.iro.umontreal.ca/~gambit/SW2018-talk.pdf here]. The slides for the talk "An R7RS Compatible Module System for Termite Scheme" given at the European Lisp Symposium 2020 are [https://www.european-lisp-symposium.org/static/2020/hamel-feeley-slides.pdf here].
  
 
==Getting Gambit==
 
==Getting Gambit==
  
Gambit is available as prebuilt and source code [[distributions]].  There are prebuilt distributions for Mac OS X, iPhone/iPod touch/iPad (on Apple App Store), Microsoft Windows, and other operating systems.  The source code distributions must be compiled with a C or C++ compiler.  The latest sources are available at the [https://github.com/feeley/gambit Gambit repo on github].
+
Gambit is available as prebuilt and source code [[distributions]].  There are prebuilt distributions for Mac OS X, iPhone/iPod touch/iPad (on Apple App Store), Microsoft Windows, and other operating systems.  The source code distributions must be compiled with a C or C++ compiler.  The latest sources are available at the [https://github.com/gambit/gambit Gambit repo on github].
  
 
==Documentation==
 
==Documentation==
  
 
[[Documentation]] is available.
 
[[Documentation]] is available.
 
==Support==
 
 
Come chat with us in the #gambit channel on [http://www.mibbit.com Freenode IRC].
 
  
 
==Contributing==
 
==Contributing==
Line 54: Line 79:
 
===Reporting bugs===
 
===Reporting bugs===
  
Please use the [https://github.com/feeley/gambit/issues issue tracker on github].  Note that the bugzilla bug tracker previously used ([http://www.iro.umontreal.ca/~gambit/bugzilla/ Gambit bugzilla bug tracker]) will be phased out in favour of the github issue tracker.
+
Please use the [https://github.com/gambit/gambit/issues issue tracker on github].  Note that the bugzilla bug tracker previously used ([http://www.iro.umontreal.ca/~gambit/bugzilla/ Gambit bugzilla bug tracker]) will be phased out in favour of the github issue tracker.
  
 
===Source repository===
 
===Source repository===
  
[https://github.com/feeley/gambit Gambit repo on github]
+
[https://github.com/gambit/gambit Gambit repo on github]
  
 
==License==
 
==License==
  
Gambit is Copyright &copy; 1994-2013 by Marc Feeley.
+
Gambit is Copyright &copy; 1994-2020 by Marc Feeley.
 
It is released under a dual LGPL and Apache 2 license. You
 
It is released under a dual LGPL and Apache 2 license. You
 
can choose whichever license you prefer:
 
can choose whichever license you prefer:

Latest revision as of 18:57, 24 July 2022

The Gambit Scheme system is a complete, portable, efficient and reliable implementation of the Scheme programming language.

This web site is intended for users of the Gambit Scheme system. It is a place where various resources are collected and where users can exchange information related to Gambit.

Download latest release (v4.9.4)

Source code: gambit-v4_9_4.tgz

Install from a package manager

Windows choco install gambit
macOS brew install gambit-scheme
Ubuntu Linux / Debian Linux sudo apt install gambc
Fedora Linux sudo yum install gambit-c
Arch Linux sudo pacman install gambit-c
NixOS nix-env -i gambit
FreeBSD / DragonFly BSD sudo pkg install gambit-c
OpenBSD sudo pkg_add gambit-c
NetBSD sudo pkg_add gambc

Install from the iOS App Store

Download previous release (v4.9.3)

Development Sources, Mac OS X installer (for Intel 32), Mac OS X installer (for Intel 64), iPhone/iPod touch/iPad, Windows installer (for MinGW32) Windows installer (for MinGW64) (for other releases see the distributions). Libraries and module systems are installed separately.

Click here to join the Gambit chatroom

Click here to visit the Gambit source code repository on github

What's Gambit?

Gambit consists of two main programs: gsi, the Gambit Scheme interpreter, and gsc, the Gambit Scheme compiler. The interpreter contains the complete execution and debugging environment. The compiler is the interpreter extended with the capability of generating executable files. The compiler can produce standalone executables or compiled modules which can be loaded at run time. Interpreted code and compiled code can be freely mixed.

Gambit-C is a version of the Gambit programming system in which the compiler generates portable C code. The main features of Gambit-C are:

  • Conformance. The Gambit-C system conforms to the R4RS, R5RS and IEEE Scheme standards and implements all optional features. Tail calls and first class continuations conform to the Scheme semantics. The full numeric tower is implemented, including: arbitrary precision integers (bignums), rationals, inexact reals (floating point numbers), and complex numbers. Several extensions to Scheme are provided, including: lightweight threads, a foreign-function interface (FFI), and extended I/O capabilities (Unicode, networking, subprocesses, ...).
  • Portability. Because the system is mostly written in Scheme and the compiler generates portable C code, it is easy to port the system as well as programs compiled with it to any platform with a decent C or C++ compiler. There is no reliance on a particular C compiler, although the system can take advantage of some gcc-specific constructs. The C code generated is oblivious to the endianness and word size of the target environment (32 and 64 bit architectures are currently supported). There are no external library dependencies, and OS API dependencies can be removed so as to run directly on the bare metal. The system includes high-performance bignum support utilizing sophisticated algorithms, implemented in Scheme.
  • Performance. The compiler includes several powerful program transformations such as user procedure inlining, partial-evaluation, and lambda-lifting. With appropriate declarations in the source code the executable programs generated by the compiler run roughly as fast as equivalent C programs. Programs containing no declarations are also optimized without compromising the Scheme semantics by speculatively inlining predefined procedures (see the benchmarks page for a comparison with other Scheme implementations and other languages). Thanks to an efficient implementation of continuations, the thread system is very efficient and can support millions of concurrent threads.
  • Reliability. Stable releases typically have very few bugs. Bug tracking is done with the issue tracker on github. Gambit-C has been used to develop large-scale real-world software and services in academic and commercial settings.

An overview of the Gambit system was presented by Marc Feeley at the 2010 International Lisp Conference. The slides of the "Gambit Scheme: Inside Out" talk are here. The slides for the talk "Compiling for Multi-language Task Migration" given at DLS 15 are here. The slides for the talk "Tail Calling Between Code Generated by C and Native Backends" given at the Scheme Workshop 2018 are here. The slides for the talk "An R7RS Compatible Module System for Termite Scheme" given at the European Lisp Symposium 2020 are here.

Getting Gambit

Gambit is available as prebuilt and source code distributions. There are prebuilt distributions for Mac OS X, iPhone/iPod touch/iPad (on Apple App Store), Microsoft Windows, and other operating systems. The source code distributions must be compiled with a C or C++ compiler. The latest sources are available at the Gambit repo on github.

Documentation

Documentation is available.

Contributing

Learn how to contribute to Gambit's development.

Reporting bugs

Please use the issue tracker on github. Note that the bugzilla bug tracker previously used (Gambit bugzilla bug tracker) will be phased out in favour of the github issue tracker.

Source repository

Gambit repo on github

License

Gambit is Copyright © 1994-2020 by Marc Feeley. It is released under a dual LGPL and Apache 2 license. You can choose whichever license you prefer: