Hello Rich & everybody! clojure.set/union currently accepts 'nil' as a valid argument: (union nil) => nil (union nil nil) => nil
(union nil #{1 2}) => #{1 2} (union #{1 2} nil) => #{1 2} (union #{} nil) => #{} (union nil #{}) => nil ; not consistent Possible solution would be to ban 'nil' as an argument. While playing with type hinting, I discovered things that I don't understand: (defn f [#^Double x] (+ x 2)) => #'user/f (f 3) => 5 (f nil) => java.lang.NullPointerException (NO_SOURCE_FILE:0) ; why NPE? (f 2/3) => 8/3 ; why not an error that argument isn't java.lang.Double? (f "a") => java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number (NO_SOURCE_FILE:0) ; wants java.lang.Number, but I was hinting for java.lang.Double Thank you, 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 -~----------~----~----~----~------~----~------~--~---