Actually I wasn't going there to ORMs. I don't think I'm going any where, but I'm having a good time any way. I do share your thought that ORMs are neither necessary nor sufficient for these problems.
My recent somewhat functional adventures in this domain is within the realm of Racket. There I have written a general purpose function that takes a connection, a sql query, a possible empty list of parameters, and a function of type vector->a. Such a thing looks to be trivial to do in Clojure. Huzzah functions as first-class objects. Having a list of vectors, just as with having a sequence of hashes, could be enough, but I like converting the vectors to a struct because the struct brings an API. Not saying this is superior, just saying how I like to work, and no doubt some of this is an incomplete de-toxing after years of Java. (I kid, Java community, you're all right.) Besides it appears to me that as soon as a loosely typed language gets sufficient developer mass, a type system comes in as an option, and quickly converting the database stream to a collection of type or struct or object A opens up an option for type safety, if that's useful for the application developer. The more important point I was trying to make is about views rather than tables. Imagine an Employee table with tax identification numbers. A view allows for obscuring confidential data and can have looser access restrictions than the table which has complete data. Application code consuming result sets should also practice least privilege and the best place to enforce that is in the database by abstracting the tables into views. -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.