On Wed, Mar 28, 2012 at 3:56 PM, Devin Walters <[email protected]> wrote:
> We have: '(), [], {}, #{}
Not quite. '() isn't strictly analogous to #{}, because quote
suppresses evaluation of what's inside.
user=> (def foo 42)
#'user/foo
user=> (for [x ['(foo) [foo] {:a foo} #{foo}]]
(println x))
(foo)
[42]
{:a 42}
#{42}
(nil nil nil nil)
user=>
There's no list literal. It's like array-map or sorted-set:
(array-map this)
(sorted-set that)
(list these things)
> No one seems to be dumbfounded by '(). I suppose one could imagine something
> nasty like $1 2 3$ being proposed for a single character set wrapper, but
> blech. No thank you.
Indeed. Using the same symbol as both start and end delimiter fails
when there's nesting. It's fine for string literals; not so much for a
type of data structure that might contain the same type as an element.
> On top of that, lets say we do want a literal syntax...if we have to
> teach some bizarre syntax that people will rarely use...what's the big
> difference between #{} and <{}> ?
Symmetry.
I'm not really sour on #{} or dead-set on having something else,
though. It was just a mostly idle idea I had. But it produced such a
strong attack in response to it, for whatever reason, that now I'm
stuck having to defend it as not-unreasonable because otherwise people
will acquire a negative opinion of me.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
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