R6RS

From Gambit wiki

(Difference between revisions)
Jump to: navigation, search
(add a questions category to the page.)
(Pointing to the updated project)
Line 1: Line 1:
Using Andre van Tonder's [http://www.het.brown.edu/people/andre/macros syntax-case & library system] on Gambit
Using Andre van Tonder's [http://www.het.brown.edu/people/andre/macros 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.
+
I've updated my R6RS package for Gambit.
-
1. The Gambit libraries are where all the extensions to r5rs are put
+
1. Implemented err5rs records as an R5RS as well as R6RS library
-
2. the standard and base libraries.
+
2. Changed expander.scm and runtime.scm to use the new record system.
-
3. The srfi's that are implemented by gambit.
+
3. Updates for the compile script
-
There are some general differences:
+
The latest tarball is available at:
-
* 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:
+
[http://smyles.com/projects/r6gambit.tar.gz]
-
(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):
+
The project homepage is now
-
  (rnrs unicode)
+
 
-
  (rnrs records procedural)
+
[http://smyles.com/projects/r6gambit]
-
  (rnrs bytevectors)
+
 
-
  (rnrs io ports)
+
The darcs2 repository is available at
-
  (rnrs io simple)
+
 
-
  (rnrs arithmetic flonums)
+
[http://smyles.com/projects/r6gambit/darcs]
-
  (rnrs)
+
 
-
 
+
The err5rs records implementation can be independently used for your
-
R6RS libraries missing:
+
projects. Just copy the files:
-
  (rnrs records syntactic (6))
+
 
-
  (rnrs hashtables (6))
+
err5rs-records-inspection.scm
-
  (rnrs enums (6))
+
err5rs-records-procedural.scm
-
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
 
-
  * 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
 
Questions:
Questions:

Revision as of 17:50, 10 March 2009

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

I've updated my R6RS package for Gambit.

1. Implemented err5rs records as an R5RS as well as R6RS library 2. Changed expander.scm and runtime.scm to use the new record system. 3. Updates for the compile script

The latest tarball is available at:

[1]

The project homepage is now

[2]

The darcs2 repository is available at

[3]

The err5rs records implementation can be independently used for your projects. Just copy the files:

err5rs-records-inspection.scm err5rs-records-procedural.scm


Questions:

 * Can you add the declarations (declare (standard-binding)(extended-bindings)(block)) to the top of the file?  That would decrease the size of the .c file passed to gcc.
Personal tools
documentation