Hi List
I've been playing around with Gambit for the past little while, and I really like it. Congrats and thanks to Marc Feeley (and others) for all their hard work.
I have just finished putting together an alpha-quality MySQL FFI for gambit, available here: http://blog.jonnay.net/archives/742-A-Gambit-MySQL-Gambit-FFI.html
Direct Link to source: http://blog.jonnay.net/plugin/dlfile_4
It still needs plenty of work (a proper test suite, better handling of field data, documentation, implementing mysql_real_escape_string, implementing the rest of the MySQL c API) but it should be enough to get you connected to a myself database, and run some queries.
I've also built some simple wrappers and plan to build more, taking into account the work that Oleg Kiselyov has done in this area (http://okmij.org/ftp/Scheme/index.html#databases) Any comments, suggestions, bug fixes or enhancements are welcome.
Here is a simple example of how to use the FFI
(define test-server (make-mysql-server "127.0.0.1" "test" "test" "test" 0 "" 0)) (define test-mysql-result->list (lambda () (print-line "testing mysql-result->list") (with-mysql-connection test-server (lambda (mysql-handle) (mysql-query-with-result mysql-handle "select * from test" (lambda (result) (print-line "Number of rows: " (mysql-num-rows result)) (pp (mysql-result->list result)) (pp (mysql-result->list result)) (pp (mysql-result->list result))))))))
Cheers!