Dumping Grounds

From Gambit wiki

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

Here you will find packages of Gambit code contributed by users. This page is meant as a simple repository where random code snippets as well as complex systems can easily be stored so that other users can get to them. This is not a substitute for a repository that is closely coupled with the Gambit system's module system (which is under development). It is meant to foster the sharing of code by making it extremely easy to publish code in a publicly accessible place. Sharing a piece of code that is incomplete, undocumented, and unreliable is better than not sharing it, because others can correct the deficiencies, learn from the code, or avoid the bugs. Hence the name Dumping Grounds for this page.

The code need not follow a specific structure. It could simply be a Scheme source file (with a .scm extension). However, if you are packaging your code specifically for storing it here, it is best if the name of the package contains a revision number (so that many revisions can be stored) and is a gzip compressed tar file (.tgz extension) containing the code and documentation (for example file Sort-r1.tgz containing the files Sort-r1/Sort.scm and possibly Sort-r1/Sort.html and other related files). For some reason the wiki insists on the package name starting with an upper-case letter. The code is assumed to be in the public domain unless you add licensing information in the package itself or the documentation.

To add a new package you must add an entry for it to this page (copy-paste an existing entry), update the file name in the [[media:Sort-r1.tgz|Sort-r1.tgz]] link, save the page and click on the link to upload your file. If you upload a new revision don't forget to change the revision number, and keep the link to the old revisions.

A list of the packages and other files with statistics is available here: Special:Imagelist

Packages

  1. Sort: Provides a simple sorting procedure for lists and vectors. The mergesort algorithm is used.
    Author: Marc Feeley
    Package: Sort-r1.tgz
  2. Pi: Compute pi to arbitrary precision.
    Author: Marc Feeley
    Package: Pi-r3.tgz (old: Pi-r2.tgz) (old: Pi-r1.tgz)
  3. Oops: Object Oriented Programming for Scheme -- Dylan/Clos-like but different
    Author: Ken Dickey
    Package: oops33.tgz
  4. TinyTalk: Self-like object system with selector [Smalltalk like] dispatch.
    Author: Ken Dickey
    Package: gambitTT.tgz
  5. MySQL FFI: FFI for mysql. Unsure about thread-safety, and needs more work
    Author: Jonathan Arkell
    Package: (svn repository) http://bunny.jonnay.net/zengarden/trunk/lib/mysql/
  6. Bunny Test: A simple unit testing framework.
    Author: Jonathan Arkell
    Package: (svn repository) http://bunny.jonnay.net/zengarden/trunk/lib/test/
  7. Octave: A simple plotting interface using octave and gnuplot.
    Author: Pierre-Alexandre Fournier
    Package: (web page) http://carretechnologies.com/scheme/octave/octave.html
  8. Jss: JavaScriptScheme: a multithreaded Scheme to JavaScript compiler
    Author: Marc Feeley and Catherine Gaudron
    Package: Jss-r1.tgz
  9. Schemeray: A simple (and as of yet, unoptimized) raytracer
    Author: James Long
    Package: schemeray-0.2.tgz
  10. Mparser: A combinatorial parser
    Author: Francesco Bracchi
    Package: Mparser-r1.tgz
  11. Opengl FFI: A simple opengl, glu and glut ffi which supports opengl up to version 1.1.
    Author: David St-Hilaire
    Package: Opengl-ffi-r1.tgz
  12. Perlin Noise: A simple opengl demonstration of a sub-optimal 2d Perlin noise implementation.
    Author: David St-Hilaire
    Package: Perlin-noise-2d-r1.tgz
  13. R6RS on Gambit:Allows R6RS programs to be run on Gambit.
    Maintainer: Arthur Smyles
    Package: gambit-r6rs.tgz
Personal tools
documentation