What is Clojure Expresso for?

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: lawrence@krubner.com

I have never done logic programming so I have probably missing the obvious. I see this:

symbolic expression manipulation with expresso
Expresso expressions are clojure s-expressions. Even if expresso can use custom types to better represent for example poynomials internally they will implement ISeq so that they can be used like regular s-expressions in every regard.

I mostly think of manipulating s-expressions in the context of macros. Is there another reason to do this?