On Oct 21, 8:28 pm, "J. McConnell" <[EMAIL PROTECTED]> wrote:
> There is special reader support for it. It cannot, and isn't,
> implemented as a macro, which is why you couldn't find it in boot.clj.
> It is implemented in Java.

Ok, thanks. I'm still a bit unsure as to how to think about it
conceptually. I made the following experiment in the REPL

user> (eval (list (symbol "Object.")))
[EMAIL PROTECTED]
user>

This seems to indicate that actually Object. is just a symbol like any
other. So there isn't any special reader support for it, but instead
the compiler handles symbols with dots specially (depending on where
the dot is in the symbol - beginning middle end).

Is this the right way to think about it?

@Bill: Yes, I did see defmacro in boot - I didn't understand it
completely at first read. I think I do now. A macro is just a function
that maps a data structure to a data structure. Additionally the var
has a special property 'macro' set to true, which has implications for
the compiler. I guess this implies that one can take any function
already defined (even if not intended to be a macro) simply by doing
(. (var name) setMacro)?

Thanks to both of you.
/krukow

--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to