clojure's compile function leaks file descriptors, i.e. it relies on garbage collection to close the files. I'm trying to use boot  on windows and ran into the problem, that files could not be deleted intermittently . The problem is that clojure's compile function, or rather clojure.lang.RT.lastModified() relies on garbage collection to close files. lastModified() looks like:
Here's the stacktrace from file leak detector :
Cause: getLastModified() opens the URLConnection's InputStream but does not close it.
Approach: On Stackoverflow  there's a discussion on how to close the URLConnection correctly.
On non-Windows operating systems this shouldn't be much of a problem. But on windows this hurts very much, since you can't delete files that are opened by some process.
Screened by: Alex Miller