On Sat, Aug 4, 2012 at 6:43 PM, Mark Engelberg <[email protected]> wrote:
> What is the reasoning behind the design decision that this generates an
> error:
> (let [a :x b :x] #{a b})
> rather than just returning #{:x} ?
My first reaction was that literals have to obey the rules of the
underlying type or else they are not valid literals:
#{1 2 1} ;; error
{:x 1 :y 2 :x 3} ;; error
I hadn't even thought of using the set literal syntax with variables
that might not have unique value. I guess I'd ask: why not use the set
function?
(let [a :x b :x] (set [a b])) ;; #{:x}
--
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)
--
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