[plt-scheme] Is SchemeQL still being developed?

From: Jens Axel Søgaard (jensaxel at soegaard.net)
Date: Tue May 15 14:28:46 EDT 2007

Danny Yoo skrev:
> I was curious about the status of SchemeQL; has anyone thought of 
> porting SchemeQL to work on top of sqlid?  Or has there been work on 
> factoring out the SQL-constructing part of SchemeQL from being tied to 
> SrPersist?
> 
> It's embarrasingly difficult for me to build SQL strings without the 
> guaranteed well-formedness of s-expressions.  I started playing with 
> sqlid-helper.plt, which is supposed to offer a similar domain-specific 
> language for SQL queries, but I've run into a few limitations with that 
> package which have soured me a bit.
> 
> I guess I'm just curious in general what the status of SchemeQL is, if 
> people are using it.  Thanks!

I'd be interested in hearing the answer too.


PLaneT offers other SQL-in-Scheme libraries, but none so well
thought out and implemented as SchemeQL.


David J. Neu has something for SELECT-statements:
<http://planet.plt-scheme.org/package-source/sweeney/sqlid-helper.plt/1/0/htmldocs/scheme-pg.html>


David Fisher has an interesting approach, that avoids SQL altogether:
<http://planet.plt-scheme.org/package-source/dfisher/sql-table.plt/1/0/doc.txt>


I tried to make a direct, one-to-one conversion of S-expression to
SQL-statements in:

<http://planet.plt-scheme.org/package-source/soegaard/sqlite.plt/1/2/doc.txt>

It is not complete, but supports SELECT, UPDATE, INSERT, DELETE, and 
REPLACE and SQL-expressions. As much as possible is checked at compile
time. There are examples in (but, alas, no documentation) in:

"An Introduction to Web Development with PLT Scheme"
<http://www.scheme.dk/blog/2007/01/introduction-to-web-development-with.html>

<http://planet.plt-scheme.org/package-source/soegaard/sqlite.plt/1/2/test-sql.scm>

But check the source sql-generate.scm to see the exact grammar.

The only reason I bothered to write it, was because I couldn't get
SchemeQL to Work.


-- 
Jens Axel Søgaard



Posted on the users mailing list.