Actions

Difference between revisions of "R6RS"

From Gambit wiki

m (Categorization)
 
(11 intermediate revisions by 3 users not shown)
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.
 
  
1. The Gambit libraries are where all the extensions to r5rs are put
+
The latest tarball is available at:
2. the standard and base libraries.
 
3. The srfi's that are implemented by gambit.
 
  
There are some general differences:
+
[http://smyles.com/projects/r6gambit.tar.gz r6gambit.tar.gz]
* 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:
+
The project homepage is now
(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):
+
[http://smyles.com/projects/r6gambit http://smyles.com/projects/r6gambit]
  (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:
+
The darcs2 repository is available at
(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:
+
[http://smyles.com/projects/r6gambit/darcs http://smyles.com/projects/r6gambit/darcs]
  * Finish importing all gambit api into gambit libraries.
+
 
  * Implement all R6RS api
+
General Discussion mailing list:
   * Remove warnings when loading the R6RS compiled library
+
 
   * Create a error handler that prints R6RS conditions in repl.
+
[http://smyles.com/mailman/listinfo/r6gambit http://smyles.com/mailman/listinfo/r6gambit]
  * Integrate gambit and r6rs repl
+
 
  * Create R6RS mode for Gambit that loads this library
+
The err5rs records implementation can be independently used for your
  * Implement a compile-library and compile-program functions.
+
projects. Just copy the files:
  * Implement a packaging standard
+
 
 +
srfi-99.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.
 +
   *''I've added what you asked in the latest version.''
 +
 
 +
I'm having trouble getting things installed. Could you please add a couple of paragraphs of user guide here? I followed the installation instructions (modifying my .gambcini); then I did gsc -i compile. At this point, everything got compiled and copied to my ~/.gambit/lib directory. I then went to that directory, and did gsc -i, followed by (load "r6rs"). No joy, it did not recognize the library or import special forms. Any suggestions? Thanks! (This is a very cool project, though, and I'm sure I'm just doing something dumb.) Oh yes: Gambit-C 4.4.1 on OS X Leopard.  
 +
 
 +
''Sorry for the late reply. I just noticed your message now. To answer your question. There is a function called (r6rs) which will load the base library for you. Then you can use the (program ...) special form. Also, when you use the repl it is still the gambit repl. You can't use import or library. I sometimes lurk on #gambit (I'm atsmyles) irc channel so if you see me we can work through it.
  
 
[[Category: Code]] [[Category: Languages]]
 
[[Category: Code]] [[Category: Languages]]

Latest revision as of 21:41, 17 April 2010

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


The latest tarball is available at:

r6gambit.tar.gz

The project homepage is now

http://smyles.com/projects/r6gambit

The darcs2 repository is available at

http://smyles.com/projects/r6gambit/darcs

General Discussion mailing list:

http://smyles.com/mailman/listinfo/r6gambit

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

srfi-99.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.
 *I've added what you asked in the latest version. 

I'm having trouble getting things installed. Could you please add a couple of paragraphs of user guide here? I followed the installation instructions (modifying my .gambcini); then I did gsc -i compile. At this point, everything got compiled and copied to my ~/.gambit/lib directory. I then went to that directory, and did gsc -i, followed by (load "r6rs"). No joy, it did not recognize the library or import special forms. Any suggestions? Thanks! (This is a very cool project, though, and I'm sure I'm just doing something dumb.) Oh yes: Gambit-C 4.4.1 on OS X Leopard.

Sorry for the late reply. I just noticed your message now. To answer your question. There is a function called (r6rs) which will load the base library for you. Then you can use the (program ...) special form. Also, when you use the repl it is still the gambit repl. You can't use import or library. I sometimes lurk on #gambit (I'm atsmyles) irc channel so if you see me we can work through it.