/thunderchez

libraries for chez scheme productivity

Primary LanguageCommon Lisp

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

SRFI

Based on surfage with minor changes

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

Fmt

Original site

(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. Needs some testing.

(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

(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 nanomsg-examples