I like this proposal. I'd make contains? an alias for contains-key? with a deprecation warning, and just forget about seq-contains? in favor of contains-val?
On Thursday, April 29, 2010, ataggart <[email protected]> wrote: > I know it won't matter, but for posterity if nothing else... > > Functions named contains-key? and contains-val? would make a lot more > sense to me than the current contains? and new seq-contains?. Anyone > looking at contains-val? should expect it to be O(n). The only > effective difference would be that the test value for contains-val? is > consistently a single value rather than a [key value] tuple for maps. > > Lists: > (contains-key? '(:foo :bar) 0) > Exception > (contains-val? '(:foo :bar) :foo) > true > > Vectors: > (contains-key? [:foo :bar] 0) > true > (get [:foo :bar] 0) > :foo > (contains-key? [:foo :bar] 2) > false > (contains-val? [:foo :bar] :foo) > true > (contains-val? [:foo :bar] :baz) > false > > Maps: > (contains-key? {:foo :bar} :foo) > true > (get {:foo :bar} :foo) > :bar > (contains-key? {:foo :bar} :baz) > false > (contains-val? {:foo :bar} :bar) > true > (contains-val? {:foo :bar} :baz) > false > > Sets: > (contains-key? #{:foo :bar} :foo) > true > (get #{:foo :bar} :foo) > :foo > (contains-key? #{:foo :bar} :baz) > false > (contains-val? #{:foo :bar} :foo) > true > (contains-val? #{:foo :bar} :baz) > false > > -- > 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 -- Mark J. Reed <[email protected]> -- 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
