$ cd ~/scheme # Where '~/scheme' is the path to your Scheme libraries $ git clone git://github.com/dharmatech/surfage.git $ bzr branch lp:~derick-eddington/scheme-libraries/xitomatl $ git clone git://github.com/dharmatech/dharmalab.git $ git clone git://github.com/dharmatech/agave.git
Run a demo in Ypsilon
$ ypsilon ~/scheme/agave/demos/flexi-line.scm
Run a demo in Chez
$ chez --program ~/scheme/agave/demos/flexi-line.scm
Run a demo in Ikarus
$ ikarus --r6rs-script ~/scheme/agave/demos/flexi-line.scm
Make a demo load faster in Ikarus
$ ikarus --compile-dependencies ~/scheme/agave/demos/flexi-line.scm
Agave started out as a collection of OpenGL demos written for R6RS Scheme. Eventually it grew to include libraries which support basic OpenGL programming idioms.
All of the demos run in Ikarus and Ypsilon.
Some of the libraries are:
| library | notes | |-----------------------------------+-------| | (agave glamour window) | | | (agave glamour mouse) | | | (agave glamour misc) | | | (agave glamour frames-per-second) | | | (agave color rgba) | | | (agave color hsva) | | | (agave color conversion) | | | (agave geometry pt) | | | (agave geometry pt-3d) | |
The rest of the libraries are mostly support for the demos.
A few demo highlights.
Long before Sodaplay existed, Doug DeCarlo wrote xspringies. Springies is an implementation of the engine in xspringies. Note that this is not a binding to any C library; this is an honest to goodness mass and spring simulation written in pure Scheme. To me, this is a demonstration that Scheme can be a high-performance language.
An implementation of the Context Free Art semantics. It also renders the models. :-) Only a subset of the full ContextFree language is supported, but I picked a subset which allows for some nice pieces to be rendered.
Simulator for the generations family of cellular automata.