Just made sense to me today as well.
#^Class

is short form for saying set the metadata for the symbol being defined (in
this case list) to the map {:tag Class}.

#^ is a reader macro for setting metadata for the compiler.  That code is
simple tagging the symbol clojure/list.

(meta #'list)

will give you the map representing the metadata.  :tag is used by the
compiler, but it's not clear to me in what cases...

On Fri, Jan 16, 2009 at 9:46 PM, wubbie <sunj...@gmail.com> wrote:

>
> Hi,
>
> is #^ type hint below? I don't see any type at all.
> It's from clojure core.
>
>
> (def
>  #^{:arglists '([& items])
>    :doc "Creates a new list containing the items."}
>  list (. clojure.lang.PersistentList creator))
>
> >
>

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

Reply via email to