[added docs
atsmyles@earthlink.net**20080829192722] adddir ./docs
addfile ./docs/index.html
hunk ./docs/index.html 1
+
+
R6RS for Gambit
+
+
+ Using Andre van Tonder's syntax-case & library system on Gambit
+
+
+There is a R6RS distribution located at [[media:gambit-r6rs.tgz|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.
+
+
+- The Gambit libraries are where all the extensions to r5rs are put
+- the standard and base libraries.
+- 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 base)
+- (rnrs lists)
+- (rnrs sorting)
+- (rnrs control)
+- (rnrs records inspection)
+- (rnrs conditions)
+- (rnrs exceptions)
+- (rnrs files)
+- (rnrs programs)
+- (rnrs arithmetic fixnums)
+- (rnrs arithmetic bitwise)
+ - (rnrs syntax-case)
+- (rnrs eval)
+- (rnrs mutable-pairs)
+- (rnrs mutable-strings)
+- (rnrs r5rs)
+
+
+
+R6RS libraries (incomplete):
+
+- (rnrs unicode)
+- (rnrs records procedural)
+- (rnrs bytevectors)
+- (rnrs io ports)
+- (rnrs io simple)
+- (rnrs arithmetic flonums)
+- (rnrs)
+
+
+
+R6RS libraries missing:
+
+- (rnrs records syntactic (6))
+- (rnrs hashtables (6))
+- (rnrs enums (6))
+
+
+
+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)
+- (srfi :99)
+
+
+
+TODO:
+
+ - Finish importing all gambit api into gambit libraries.
+ - Implement all R6RS api
+ - Remove warnings when loading the R6RS compiled library
+ - Create a error handler that prints R6RS conditions in repl.
+ - Integrate gambit and r6rs repl
+ - Create R6RS mode for Gambit that loads this library
+ - Implement a compile-library and compile-program functions.
+ - Implement a packaging standard
+
+