We ended up sticking with AOT (for now, anyway), because it seems easier to 
manage in the codebase. The alternative is to use data structures that can 
be eval'd, like you would use in the body of a macro. I like how that 
clearly separates the code that runs on the local machine from that which 
runs on the server, but our pipeline is dynamic and there is a lot of 
function composition, and it seems unwieldy to work with code-as-data on 
such a large scale. It is like having several 500 line macros that each 
depend on a bunch of "code fragment" emitting functions.

Regarding our compilation issue, we've narrowed the problem to the 
timestamps inside our library jars. Our build server is using GMT/UTC and 
our local workstations are using PT (currently, 7 hrs behind GMT). If I 
understand correctly, Lein checks timestamps to determine which files need 
to be recompiled, and our library jars will have later timestamps than 
anything new for 7 hours. I don't understand what is happening, but the 
result is that we get unbound function or class not found exceptions. It 
may have something to due with how timestamps are represented in jars. We 
have confirmed that the clock and timezone is set correctly on the server.

Any clues?

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/5e9e8773-040b-4246-8481-48f004270523%40googlegroups.com.

Reply via email to