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

Reply via email to