I like SQL. The problem with SQL is that it is a string and simple errors, like an extra comma, are not caught by the compiler/interpreter. Are there good well-thought out libraries that are isomorphic to SQL but can be used with a language like Python or Clojure?

For example, I want to write simple SQL queries this way:

  (-> "table" (cols col1 col2 col3) (where (= col1 10)) (order-by col3 :desc))
I believe Honey SQL might be just what you are looking for:

https://github.com/seancorfield/honeysql