Thunderchez
Not logged in

thunderchez

Libraries for Chez Scheme productivity

Be sure to put thunderchez path on your library path,

By example:

(library-directories "/path/to/thunderchez")

or set the `CHEZSCHEMELIBDIRS` environment variable:

    CHEZSCHEMELIBDIRS=/path/to/thunderchez

Checkout: You'll need fossil

fossil clone https://pizzahack.eu/fossil/thunderchez thunderchez.fossil
mkdir thunderchez && cd thunderchez && fossil open ../thunderchez.fossil

There is a also a mirror on github.com

git clone https://github.com/ovenpasta/thunderchez.git

You can also download the latest code as a tarball: thunderchez-latest.tar.gz

To follow news subscribe to RSS feed

For any question you can find me on IRC server freenode.net nickname ovenpasta

Or write me an email: ovenpasta (at) pizzahack (point) eu

SRFI

Based on surfage with minor changes

    (import (srfi s1 lists))
    (import (srfi s13 strings))
    (import (srfi s14 char-sets))
    etc...

Fmt

Original site(http://synthcode.com/scheme/fmt/)
    (import (fmt fmt)) 
    (import (fmt fmt-c)) 
    (import (fmt fmt-js)) 

Matchable

Based on matchable egg
    (import (matchable))

Sqlite3

Based partially on chicken sqlite3 egg but slightly different. In particular the functions that require keyword arguments must use symbols instead because Chez Scheme does not support keywords. For example (execute db "insert into table1 (x,y) values (:x,:y)" 'x 1 'y 2)
    (import (sqlite3))

USB

Library website
    (import (usb))

SDL2

Library website

    (import (sdl2))	

Cairo

Library website
    (import (cairo))

See test.ss for examples

Json parser

Uses lalr.ss
    (import (json))


    (string->json "[{ \"name\" : \"my-name\" , \"age\" : 120 , \"children\" : [{ \"name\" : \"my-son\", \"age\" : 1 }, { \"name\" : \"my-son2\", \"age\" : 2 }] }]" )
    	=> #((name . "my-name")
    	    (age . 120)
    	    (children .
                        #(((name . "my-son") (age . 1))
                          ((name . "my-son2") (age . 2)))))

NanoMsg

Library website
 (import (nanomsg))

Some tests from https://github.com/dysinger/nanomsg-examples