Fork me on GitHub

Ah! Now I understand! I've been fixed on thinking about aot of the entry point.


I assume the main use case of compile is a script which compiles all the namespaces of a particular app, at least that’s how I’ve always used it. In that case you definitely don’t want n! compilation.


You get that benefit by checking for .class files in *compile-path* too though I think

Alex Miller (Clojure team)19:09:54

ns and class are not 1-1 so I think that’s harder than it looks

Alex Miller (Clojure team)19:09:14

or rather clj file and class are not 1-1


Namespace would be I think? Although extra files could appear if the ns has changed.

Alex Miller (Clojure team)19:09:44

I think the requirement to have *compile-path* on your classpath was clever, but ultimately not the best idea. from the last time I went back and read Rich’s irc comments around this time, a lot of things done with aot were experiments, some that stuck maybe too early.


I don't think it's a hard requirement, but I haven't checked. I've successfully done aot without following that.

Alex Miller (Clojure team)19:09:53

yeah, there are some really subtle things about it