On Wed, Mar 28, 2012 at 3:56 PM, Devin Walters <dev...@gmail.com> 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 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