On Tue, Sep 9, 2008 at 5:36 PM, ntupel <[EMAIL PROTECTED]> wrote:
>
> On Mon, 2008-09-08 at 13:15 -0700, Rich Hickey wrote:
> > Hmm, don't do that?
> >
> > Seriously, how is this a bug in Clojure, and not a bug in your
> > program, which resulted in an exception which easily leads you to your
> > problem?
>
> Well, first of all this bug in a users program results in undefined
> behavior in the Clojure compiler which terminates due to a resource
> exhaustion without any particular error message. This should never
> happen.
>
> Then, please note that this somewhat contrived example, when extended to
> circular requires, e.g. A requires B and B requires A might accidentally
> (or by bad design) occur during development. One can argue whether this
> should result in an error message or whether the semantics of require
> are satisfied if the namespaces are loaded once each. But again, a
> StackOverflowError and a "don't do that" can not be the answer.
>
> My 2 Cents.

Unless I miss my guess, you are actually staring down the barrel of
some reasonably old computer science. You seem to be asking for the
compiler to be able to prove that your computation finishes, and if it
doesn't then give you a sane response.

Gödel, Escher, Bach by Douglas Hofstadter is a good starting point.

http://en.wikipedia.org/wiki/Gödel,_Escher,_Bach

--

Brett Morgan http://brett.morgan.googlepages.com/

--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to