On Dec 17, 12:43 am, Kevin Martin <martink...@gmail.com> wrote:
> I unfortunately ran into circular requires today. In previous
> versions of Clojure a circular require was answered with an
> exception. The text of this was something along the lines of "Cannot
> load 'a' because already loading 'a'. It looks as though this was
> changed with svn revision 1131 Sun Nov 30 12:58:30 2008
> +0000.http://clojure.svn.sourceforge.net/viewvc/clojure?view=rev&revision=1131
> The commit message is "made nested load of already loading resource a
> no-op instead of a throw". This implies this was an intentional
> change. I found this
> posthttp://groups.google.com/group/clojure/browse_thread/thread/d3dd0486f...
> where Rich seems to conclude that circular references are an error
> waiting to be debugged. I agree with this sentiment and I'm confused
> as to why this was changed.
>
It was changed for AOT compilation, where it is now possible to gen-
class a class that gets responsibility for loading that same ns on
init, said init happening when the ns containing the gen-class is
compiled.
> If there is another thread I didn't find explaining this, please point
> me to it. Otherwise, I am interesting why this was changed to what I
> vote is a worse design choice.
I hope to re-enable the detection of the 'mistake' case, just requires
some time to work out how to distinguish from the AOT case.
http://code.google.com/p/clojure/issues/detail?id=3
Rich
--~--~---------~--~----~------------~-------~--~----~
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
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
-~----------~----~----~----~------~----~------~--~---