Actions

Difference between revisions of "Documentation"

From Gambit wiki

m
(→‎User Documentation: Fixed broken documentation links as they are now 'gambit' not 'gambit-c')
(10 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.
  
 
See the [[Scheme]] page for documentation on Scheme in general.
 
See the [[Scheme]] page for documentation on Scheme in general.
Line 19: Line 19:
 
== Packages, modules, libraries and driving systems ==
 
== Packages, modules, libraries and driving systems ==
  
=== The Snow package system ===
+
See the [[Packages]] page.
[http://snow.iro.umontreal.ca/ Snow] is a package system for R4RS and R5RS Scheme.  Nearly
 
all Snow packages run on Gambit.  Users can simply download and install
 
[http://snow.iro.umontreal.ca/?tab=Packages existing packages]. For those who want
 
to develop new packages, Snow has its own
 
[http://snow.iro.umontreal.ca/?tab=Documentation documentation].
 
  
=== Black Hole module system ===
+
=== SRFI support ===
[[Black Hole]] is a module system that enables Gambit with features for incremental development and making sharing code easy. It is bundled with a set of standard libraries, that serve a general purpose in Scheme software development.
 
 
 
=== SRFI:s ===
 
 
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].
 
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].
  
Gambit has SRFIs [http://srfi.schemers.org/srfi-0/ 0],  [http://srfi.schemers.org/srfi-4/ 4], [http://srfi.schemers.org/srfi-6/ 6], [http://srfi.schemers.org/srfi-8/ 8], [http://srfi.schemers.org/srfi-9/ 9], [http://srfi.schemers.org/srfi-18/ 18], [http://srfi.schemers.org/srfi-21/ 21], [http://srfi.schemers.org/srfi-22/ 22], [http://srfi.schemers.org/srfi-23/ 23], [http://srfi.schemers.org/srfi-27/ 27], and  [http://srfi.schemers.org/srfi-39/ 39] built-in.
+
Gambit [[SRFI:s | natively implements]] a number of SRFIs.
 
+
[[Black Hole]] includes several popular SRFIs not natively supported,
Snow as well as Black Hole feature certain SRFI:s. Also, there are SRFI:s that remain to be ported to Gambit.
+
while still others may be downloaded from [http://snow.iro.umontreal.ca/?listcat=srfi Snow].
 
 
=== Dumping grounds ===
 
There is an informal listing of sourcecode on the [[Dumping Grounds]].
 
  
 
== 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).
  
 
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.
 
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.
Line 61: Line 50:
  
 
== 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 77: Line 67:
 
== More ==
 
== 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.
 
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]]
 
[[Compiling Gambit software for different target environments]]

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