On Tue, Feb 22, 2011 at 4:12 PM, Jonathan Mitchem <jmitc...@gmail.com> wrote: > I fully understand if it was just a feature put on hold, just to get > the reader/compiler out there. If it was a design decision, then > that's kind of different.
I'm not crazy about this behavior either, but my understanding is that this is an intentional design decision that is a direct consequence of two things: 1. In Clojure IDEs, people want to be able to feed the compiler single functions and expressions. You don't need to compile the entire file all at once; this can be useful for making small modifications to a running system. For consistency, compiling the entire file is just like feeding the functions into the compiler one by one. There's no special "lookahead" for compiling a file in its entirety. 2. Without lookahead, declarations are the only way to allow the compiler to give an intelligent error message if you accidentally refer to a function name that does not exist. People want good error messages. -- 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