2014-02-12 5:18 GMT+01:00 t x <txrev...@gmail.com>:

>
>   If no such evaluator exists, where is the complexity of a
> clojure-in-clojure evaluator that I failed to mention above?
>

Clojure is a compiled language. This means that even if you leave out any
platform issues like bytecode generation, there is still an analysis phase
separate from evaluation.
The most visible effect of this in terms of language semantics is, that
every name in a given piece of code has to be fully resolved (to a lexical
binding, a namespace var or a class) when it is analyzed/compiled, before
evaluation can begin.
Thus the need for declare in case of circular call graphs.

That's not to say that a clojure analyzer and interpreter couldn't fit on
2-3 pages of code (depending on your page size and choice of font :-). I
believe the CLJS analyzer isn't that much larger (or used not to be,
anyway).

cheers

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to