In the presence of macros, it's best to think "Lisp compilation =
evaluation of all forms". So, you do two things at the same time: (1)
accumulate object code to be output as the result of the compilation
and (2) actually execute the programme, so that you can call functions
and examine variables when doing macro expansion etc. The Clojure
compiler works this way -- for a demonstration, just have it compile a
file with a println at top level.

That's the rough idea, anyway; I gather that Christian Queinnec's
"Lisp in Small Pieces" [1] is the definitive book on the subject, so
perhaps that would be more helpful to you. (Regrettably, I haven't yet
read that one, although it's definitely on my list as one of the
as-yet unread Lisp classics!)

Sincerely,
Michał

-- 
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