R6RS

From Gambit wiki

Revision as of 22:30, 22 March 2008 by Atsmyles (Talk | contribs)
Jump to: navigation, search

Using Andre van Tonder's syntax-case & library system on gambit

There is a R6RS distribution located at gambit-r6rs.tgz. There is a compile script written in gambit scheme that will compile all the libraries together into a loadable library. The libraries are divided into 3 layers; each layer being dependent on the previous layer.

1. The gambit libraries are where all the extensions to r5rs are put
2. the standard and base libraries.
3. The srfi's that are implemented by gambit.

There are some general differences:

* You can't use Gambit's extended lambda syntax. Instead use srfi-89

Gambit libraries:

(gambit threads)
(gambit exceptions)
(gambit extensions)
(gambit files)
(gambit io)
(gambit io readtable)
(gambit programs)
(gambit time)
(gambit will)
(gambit debug)
(gambit bytevectors)

R6RS libraries implemented:

(rnrs syntax-case)
(rnrs r5rs)
(rnrs sorting)
(rnrs mutable-strings)
(rnrs mutable-pairs)
(rnrs arithmetic ...)
(rnrs conditions)
(rnrs exceptions)
(rnrs control)
(rnrs files)
(rnrs lists)
(rnrs base)
(rnrs records procedural)
(rnrs records inspection)

R6RS libraries (incomplete):

 (rnrs unicode)
 (rnrs io ports)
 (rnrs io simple)
 (rnrs bytevectors)
 

SRFI libraries:

(srfi-2)
(srfi-4)
(srfi-6)
(srfi-8)
(srfi-9)
(srfi-18)
(srfi-21)
(srfi-23)
(srfi-27)
(srfi-39)
(srfi-88)
(srfi-89)

TODO:

 * Finish importing all gambit api into gambit libraries
 * Implement all R6RS api
 * Implement a compile-library and compile-program functions.
 * Implement a packaging standard
Personal tools
documentation