Using $, !, and $1 in the examples makes it a bit annoying to read,
especially if you just skip to the example queries to get a sense for
the library.  It would be much clearer to make these something more
meaningful (e.g. lookup, query, update, find, get...)

It seems like your model macro is in fact defining many models.  I
wonder if it always makes sense to define all models and relations
(one-to-many, etc..) in one place like this, rather than doing it on a
per "object" basis, for example just for an Album, Track, or
whatever?  Beyond that, is it even necessary to put schema information
like :id and :name?  If you are defining models that can then be
"instantiated" into a database by actually creating the tables then it
makes sense to have a DSL to define them, but if you are interacting
with an existing schema it might be nice not to have to do this.

The query functionality looks pretty nice and straight forward.  If
you use macros for the query functions you could let users use symbol
names rather than keywords, which might make it a bit clearer to read
because you could more easily differentiate between tables, properties
and special words like :with that have semantic meaning.

Good stuff though.  I tried to be critical because I know that can be
more helpful than a bunch of high fives.  On a related note, you might
be able to get some good ideas from the Sequel library for Ruby
(http://sequel.rubyforge.org/), which has some very nice features that
could fit nicely with Clojure.  I have minimal experience with it, but
I think rather than generating SQL and getting back all results
immediately it lazily processes results with SQL iterators as you pull
values.

Cheers,
Jeff

On Jun 14, 6:14 pm, Brenton <bashw...@gmail.com> wrote:
> Hello group.
>
> I have been working on a relational mapping library for Clojure named
> Carte.
>
> http://github.com/brentonashworth/carte
>
> The current version is what I would consider to be a working prototype
> and I would love to get feedback from the community before I do much
> more work on this. The project includes a rather lengthy README.
> Mainly, I am interested in constructive criticism of the ideas and
> examples contained in the README but if you would like to jump into
> the code and critique that, that would be great.
>
> This is my idea of an idiomatic Clojure relational mapping library. Do
> you think I am on the right track? If not, what would that look like?
> What would Rich do?
>
> This project is being developing for my own immediate needs but I
> would be interested in improving it outside of the scope of my work
> based on your feedback.
>
> Thank you,
> Brenton

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to