Thank you Laurent. You said exactly what I meant, it's not a user defined
symbol.. it's a "lib"...

I'm not really sure why this is such an issue. The name of the Java class
contains a $. If you want to use that class, you use a $. If you're
defining a symbol, the docs on http://clojure.org/reader don't list $ as a
valid character. If you want to guarantee you don't have an issue in the
future, don't use a $. If you're okay with possibly having an issue in the
future, use whatever character you like. A character doesn't need to be
"valid" to be used, and the docs don't state that using $ is "invalid". The
docs make a guarantee on specific characters, what you do with that
information is completely up to "consenting adults"

On Mon, Apr 30, 2012 at 12:45 PM, Laurent PETIT <laurent.pe...@gmail.com>wrote:

> 2012/4/30 Ben Smith-Mannschott <bsmith.o...@gmail.com>
>
>> On Mon, Apr 30, 2012 at 18:22, Jay Fields <j...@jayfields.com> wrote:
>> > Foo$Bar is the name of the class, and $ is a valid character in a Java
>> class
>> > name. Foo$Bar is not a clojure symbol.
>>
>> Sure it is. The reader has to read it somehow. Otherwise the compiler
>> will have nothing to work with. Also:
>>
>> user=> (symbol? (read-string "foo$bar"))
>> true
>>
>> But, since $ isn't documented as being a valid character in a symbol,
>> I guess it's one of those cases of "undefined behavior". Perhaps
>> Clojure's own interop shouldn't build on undefined behavior?
>>
>
> Shouldn't that be interpreted as : $ is a reserved character in symbols,
> and you cannot create symbols with $ inside them. That is, what is valid
> symbol construction from the consumer side is not the same of what is the
> set of accepted symbols from the reader library author side ... ?
>
>
>>
>> // ben
>>
>> >
>> > On Mon, Apr 30, 2012 at 12:19 PM, Philip Potter <
>> philip.g.pot...@gmail.com>
>> > wrote:
>> >>
>> >> Note that, even though this works, $ is not a valid character in a
>> >> clojure symbol.
>> >>
>> >> See
>> >>
>> http://groups.google.com/group/clojure/browse_thread/thread/5af5d892f2e84212/0c5dc6b6a1578f07?#0c5dc6b6a1578f07
>> >>
>> >> and http://clojure.org/reader
>> >>
>> >> So: is the behaviour discussed intentional? If so, should $ be made
>> >> explicitly valid in symbols?
>> >>
>> >> Phil
>> >>
>> >> On 30 April 2012 16:59, Jay Fields <j...@jayfields.com> wrote:
>> >> > That's correct. You'll want to make sure you (:import Foo$Bar) also.
>> >> >
>> >> > more
>> >> >
>> >> > info:
>> http://blog.jayfields.com/2011/01/clojure-using-java-inner-classes.html
>> >> >
>> >> > Cheers, Jay
>> >> >
>> >> > On Mon, Apr 30, 2012 at 11:44 AM, Tassilo Horn <
>> tass...@member.fsf.org>
>> >> > wrote:
>> >> >>
>> >> >> nick rothwell <n...@cassiel.com> writes:
>> >> >>
>> >> >> > I'm faced with the following in some legacy code:
>> >> >> >
>> >> >> > public interface Foo { interface Bar { ... String BAZ = "baz";
>> ... }}
>> >> >> >
>> >> >> > Is there any way of accessing Foo.Bar.BAZ in the Clojure world?
>> I've
>> >> >> > tried various combinations of proxying and reifying with no joy.
>> >> >>
>> >> >> Not tested, but I think it's Foo$Bar/BAZ.
>> >> >>
>> >> >> Bye,
>> >> >> Tassilo
>> >> >>
>> >> >> --
>> >> >> 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 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 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 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 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 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 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