While I am familiar with SQL, I am not familiar with any of the libraries 
mention on the wiki page (Ecto, Honey SQL and Slick), so maybe I am not the
target audience...

Your sections about "Joins Are Values" and "Aggregates are self-contained"
seem difficult to follow: I think I understand the overall idea, but it is 
clear from the document how any of it can be useful.  Also, it is not clear
what `Department?` and `Course?` are in the first code snippet -- are they
functions that the user has to provide or is it something that your library
generates by looking at the database schema?

I would suggest to provide a database schema and some sample data in a
database, and use this in the subsequent examples.  Start with a simple but
complete working example and construct more complex, but still complete and
working examples from them, at each step illustrating the benefits that the
library provides.  Maybe contrast each step with how the plain SQL would 
as well?


On Saturday, June 22, 2019 at 12:41:31 AM UTC+8, Ryan Kramer wrote:
> Target Audience: you have 10 minutes and you're familiar with libraries 
> that do SQL kinda like this:
> (from i "Item"
>       (where i".ReleaseDate > '2018-01-01'")
>       (select i".ItemName"))
> Article: 
> https://github.com/default-kramer/plisqin/wiki/Towards-Better-Relational-Query-Language
> Context: Plisqin is my SQL generation library, but I think of it as an 
> "alternate query language" because theoretically it doesn't have to 
> generate SQL. (But it probably always will.)
> I'm gearing up to release Plisqin 0.3 and want to improve my 
> documentation. If I can't explain these concepts to fellow Racketeers, I 
> don't stand a chance of explaining them to the general public.
> Thanks for any feedback!

You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
For more options, visit https://groups.google.com/d/optout.

Reply via email to