Hello, Apparently, no:
1:85 user=> (macroexpand-1 '(defn hello [] "world")) (def hello (clojure.core/fn ([] "world"))) 1:86 user=> (read-string "(defn hello [] \"world\")") (defn hello [] "world") 1:87 user=> read-string did not expand defn. I think it's 'eval that expands macros and compiles forms. Regards, -- Laurent 2009/4/21 Mark Volkmann <r.mark.volkm...@gmail.com>: > > In my Clojure article at http://ociweb.com/mark/clojure/article.html I say: > > "Clojure code is processed in three phases: read-time, compile-time > and run-time. At read-time the Reader reads source code and converts > it to a data structure, mostly a list of lists of lists .... At > compile-time this data structure is converted to Java bytecode. At > run-time the bytecode is executed. Functions are only invoked at > run-time. Macros are special constructs that look similar to > functions, but are expanded into new Clojure code at read-time." > > Is it correct to say that macros are expanded at read-time? > > -- > R. Mark Volkmann > Object Computing, Inc. > > > > --~--~---------~--~----~------------~-------~--~----~ 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 clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---