thunderchez
Libraries for Chez Scheme productivityBe 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
(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))