Actions

Difference between revisions of "Documentation"

From Gambit wiki

(→‎User Documentation: Fixed broken documentation links as they are now 'gambit' not 'gambit-c')
(26 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
== User Documentation ==
 
== User Documentation ==
  
There is a user manual for Gambit in [http://www.iro.umontreal.ca/~gambit/doc/gambit-c.html HTML]
+
There is a user manual for Gambit in [http://www.iro.umontreal.ca/~gambit/doc/gambit.html HTML]
and [http://www.iro.umontreal.ca/~gambit/doc/gambit-c.pdf PDF] formats.
+
and [http://www.iro.umontreal.ca/~gambit/doc/gambit.pdf PDF] formats.
  
General documentation about Scheme in various formats can be found at [http://www.schemers.org/ Schemers.org].
+
See the [[Scheme]] page for documentation on Scheme in general.
We've collected together on a single page some [[External links]]
 
  
== Using a Prebuilt Distribution ==
+
== Prebuilt Distributions ==
  
 
Some prebuilt distributions are [[Distributions | available]].
 
Some prebuilt distributions are [[Distributions | available]].
  
 
== Building Gambit from Source ==
 
== Building Gambit from Source ==
 
Various [[Distributions | distributions]] of Gambit have been made available.
 
  
 
To build Gambit from source, one must first run the configure script, which has a number
 
To build Gambit from source, one must first run the configure script, which has a number
Line 20: Line 17:
 
There are various [[Make targets | make targets]] of which you should be aware.
 
There are various [[Make targets | make targets]] of which you should be aware.
  
== Packages ==
+
== Packages, modules, libraries and driving systems ==
  
[http://snow.iro.umontreal.ca/ Snow] is a package system for R4RS and R5RS Scheme. I suspect that nearly
+
See the [[Packages]] page.
all such packages will run on Gambit. Snow has its own
+
 
[http://snow.iro.umontreal.ca/?tab=Documentation documentation] for those who want
+
=== SRFI support ===
to develop new packages, but users can simply download and install
+
The Scheme community has accumulated a set of common libraries and conventions called Scheme Requests for Implementation, publicly collected on [http://srfi.schemers.org/ srfi.schemers.org].
[http://snow.iro.umontreal.ca/?tab=Packages existing packages]. There is an informal listing of sourcecode on the [[Dumping Grounds]].
+
 
 +
Gambit [[SRFI:s | natively implements]] a number of SRFIs.
 +
[[Black Hole]] includes several popular SRFIs not natively supported,
 +
while still others may be downloaded from [http://snow.iro.umontreal.ca/?listcat=srfi Snow].
  
 
== Editor/IDE Support ==
 
== Editor/IDE Support ==
  
Gambit provides a powerful development environment through [http://www.iro.umontreal.ca/~gambit/doc/gambit-c.html#SEC28 Emacs].  
+
Gambit provides a powerful development environment through [http://www.iro.umontreal.ca/~gambit/doc/gambit-c.html#Emacs-interface Emacs].  
  
For those running Windows you can [http://ftp.gnu.org/pub/gnu/emacs/windows/ download Emacs here]. You may want to read the [http://www.gnu.org/software/emacs/windows/ntemacs.html Emacs FAQ for Windows] before customizing Emacs for use with Gambit.
+
For those running MS Windows you can [http://ftp.gnu.org/pub/gnu/emacs/windows/ download Emacs here]. You may want to read the [http://www.gnu.org/software/emacs/windows/ntemacs.html Emacs FAQ for Windows] before customizing Emacs for use with Gambit. In order to use Emacs' inferior scheme mode on Windows, you may need to run gsi/gsc in raw stdin/stdout mode (see section "Emacs interface" in the manual for details).
  
Alternatively, you may be interested in editors such as [http://www.eclipse.org/ Eclipse] with the [http://schemeway.sourceforge.net/ SchemeWay] extension, or just about any text editor with Scheme syntax highlighting, such as [http://www.vim.org VIM or GVIM].
+
Editors such as [http://www.eclipse.org/ Eclipse] with the [http://schemeway.sourceforge.net/ SchemeWay] extension, or just about any text editor with Scheme syntax highlighting, such as [http://www.vim.org VIM or GVIM], may prove valuable as well.
  
 
== Termite ==
 
== Termite ==
Line 45: Line 45:
 
the Termite source code has been distributed with Gambit, so we point to the Termite web site
 
the Termite source code has been distributed with Gambit, so we point to the Termite web site
 
from here.
 
from here.
 +
 +
== Tutorials ==
 +
[[A Tour of Scheme in Gambit]] gives a general introduction to Scheme and Gambit to people with experiences of general programming languages. Available in [[media:A_Tour_of_Scheme_in_Gambit.pdf|PDF]], [[media:A_Tour_of_Scheme_in_Gambit.odf|Open Office]] and [[media:A_Tour_of_Scheme_in_Gambit.doc|Microsoft Word]] formats.
  
 
== Internals Documentation ==
 
== Internals Documentation ==
 +
[[Design guide]]
  
 
People who want to [[How to Contribute | contribute]] to Gambit development will need to learn something about how the Gambit-C
 
People who want to [[How to Contribute | contribute]] to Gambit development will need to learn something about how the Gambit-C
Line 60: Line 64:
  
 
See the [[Debugging]] page.
 
See the [[Debugging]] page.
 +
 +
== More ==
 +
The [http://mailman.iro.umontreal.ca/pipermail/gambit-list mailing list archive] covers many topics at depth. You can make Google search queries limited to the mailing list by clicking "advanced settings" on www.google.com.
 +
 +
[[Dumping Grounds]]
 +
 +
[[Compiling Gambit software for different target environments]]
 +
 +
[[Wish list]]
 +
 +
[[External links]]

Revision as of 19:23, 28 September 2015

User Documentation

There is a user manual for Gambit in HTML and PDF formats.

See the Scheme page for documentation on Scheme in general.

Prebuilt Distributions

Some prebuilt distributions are available.

Building Gambit from Source

To build Gambit from source, one must first run the configure script, which has a number of important options.

There are various make targets of which you should be aware.

Packages, modules, libraries and driving systems

See the Packages page.

SRFI support

The Scheme community has accumulated a set of common libraries and conventions called Scheme Requests for Implementation, publicly collected on srfi.schemers.org.

Gambit natively implements a number of SRFIs. Black Hole includes several popular SRFIs not natively supported, while still others may be downloaded from Snow.

Editor/IDE Support

Gambit provides a powerful development environment through Emacs.

For those running MS Windows you can download Emacs here. You may want to read the Emacs FAQ for Windows before customizing Emacs for use with Gambit. In order to use Emacs' inferior scheme mode on Windows, you may need to run gsi/gsc in raw stdin/stdout mode (see section "Emacs interface" in the manual for details).

Editors such as Eclipse with the SchemeWay extension, or just about any text editor with Scheme syntax highlighting, such as VIM or GVIM, may prove valuable as well.

Termite

Termite is an Erlang-like distributed programming system written in Scheme.

Distributed computing hot right now, and Termite has been noticed in blogs and elsewhere.

Termite depends on specific features of Gambit, and at one time or another the Termite source code has been distributed with Gambit, so we point to the Termite web site from here.

Tutorials

A Tour of Scheme in Gambit gives a general introduction to Scheme and Gambit to people with experiences of general programming languages. Available in PDF, Open Office and Microsoft Word formats.

Internals Documentation

Design guide

People who want to contribute to Gambit development will need to learn something about how the Gambit-C runtime and compiler are organized. While we intend that source code documentation be included in the source itself (currently there is very little documentation), we intend that descriptions of program design or algorithms used in the runtime and compiler could be included on the Internal Documentation page.

Working with External Libraries

With Gambit's C FFI (Foreign Function Interface), one can easily use standard C and C++ libraries with your code; this wiki has some examples of and practices on using Gambit with external libraries. See Using Gambit with External Libraries.

Debugging

See the Debugging page.

More

The mailing list archive covers many topics at depth. You can make Google search queries limited to the mailing list by clicking "advanced settings" on www.google.com.

Dumping Grounds

Compiling Gambit software for different target environments

Wish list

External links