Similar is:
user=> #{[] ()}
#{[]}
user=> #{[] [1 2]}
#{[] [1 2]}
user=> (hash-set [] ())
#{[]}

Frantisek

On Feb 15, 12:38 am, Frantisek Sodomka <fsodo...@gmail.com> wrote:
> Hello!
> Function 'set' looses some of its data. It seems that there is a
> problem with comparison between lists and vectors:
>
> user=> (count [nil false true 0 42 0.0 3.14 2/3 0M 1M \c "" "abc"
> 'sym :kw () '(1 2) [] [1 2] {} {:a 1 :b 2} #{} #{1 2}])
> 23
> user=> (set [nil false true 0 42 0.0 3.14 2/3 0M 1M \c "" "abc"
> 'sym :kw () '(1 2) [] [1 2] {} {:a 1 :b 2} #{} #{1 2}])
> #{nil 0 0.0 0M "" {} #{} 2/3 () "abc" {:a 1, :b 2} (1 2) #{1 2} \c
> 3.14 42 sym true :kw false 1M}
> user=> (count (set [nil false true 0 42 0.0 3.14 2/3 0M 1M \c "" "abc"
> 'sym :kw () '(1 2) [] [1 2] {} {:a 1 :b 2} #{} #{1 2}]))
> 21
> ; missing are [] and [1 2]
>
> user=> (set [()])
> #{()}
> user=> (set [() []])
> #{()}
> user=> (set [() [] {}])
> #{{} ()}
>
> user=> (set [[] [1 2]])
> #{[] [1 2]}
> user=> (set [[] [1 2] 1])
> #{[] 1 [1 2]}
> user=> (set [[] [1 2] ()])
> #{[] [1 2]}
> user=> (set [() [] [1 2]])
> #{() [1 2]}
>
> What data types is sorted-set supposed to work on? When used with
> different data types, it errors out:http://clojure.org/data_structures
>
> user=> (doc sorted-set)
> -------------------------
> clojure.core/sorted-set
> ([& keys])
>   Returns a new sorted set with supplied keys.
>
> user=> (sorted-set 4 2)
> #{2 4}
> user=> (sorted-set () [])
> java.lang.ClassCastException: clojure.lang.PersistentList$EmptyList
> cannot be cast to clojure.lang.IPersistentVector (NO_SOURCE_FILE:0)
> user=> (sorted-set nil false true 0 42 0.0 3.14 2/3 0M 1M \c "" "abc"
> 'sym :kw () '(1 2) [] [1 2] {} {:a 1 :b 2} #{} #{1 2})
> java.lang.ClassCastException: java.lang.Boolean cannot be cast to
> java.lang.Number (NO_SOURCE_FILE:0)
> user=> (sorted-set '(1 2) 1)
> java.lang.ClassCastException: clojure.lang.PersistentList cannot be
> cast to java.lang.Number (NO_SOURCE_FILE:0)
> user=> (sorted-set '(1 2) "abc")
> java.lang.ClassCastException: clojure.lang.PersistentList cannot be
> cast to java.lang.String (NO_SOURCE_FILE:0)
> user=> (sorted-set "abc" #{1 2})
> java.lang.ClassCastException: clojure.lang.PersistentHashSet cannot be
> cast to java.lang.Comparable
> (NO_SOURCE_FILE:0)
> user=> (sorted-set 42 #{1 2})
> java.lang.ClassCastException: clojure.lang.PersistentHashSet cannot be
> cast to java.lang.Comparable
> (NO_SOURCE_FILE:0)
>
> It works when types are the same:
> user=> (sorted-set "z" "b")
> #{"b" "z"}
> user=> (sorted-set 42 2.0)
> #{2.0 42}
> user=> (sorted-set [2 3] [1])
> #{[1] [2 3]}
>
> Frantisek
--~--~---------~--~----~------------~-------~--~----~
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