diff options
author | scgilardi <scgilardi@gmail.com> | 2009-02-10 04:37:50 +0000 |
---|---|---|
committer | scgilardi <scgilardi@gmail.com> | 2009-02-10 04:37:50 +0000 |
commit | 635566be032e9ed8d92998e7a61f3c6f434ef994 (patch) | |
tree | bd92a973812ebd1cd79f1f02609a041c20ee3141 /src | |
parent | 69a3e673fb2a6323dd203a1f8645f49f8593e1be (diff) |
fix issue 14: set.clj from Jason Wolfe
Diffstat (limited to 'src')
-rw-r--r-- | src/clojure/contrib/set.clj | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/clojure/contrib/set.clj b/src/clojure/contrib/set.clj new file mode 100644 index 00000000..2e8c76a4 --- /dev/null +++ b/src/clojure/contrib/set.clj @@ -0,0 +1,40 @@ +;; Copyright (c) Jason Wolfe. All rights reserved. The use and +;; distribution terms for this software are covered by the Eclipse Public +;; License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) which can +;; be found in the file epl-v10.html at the root of this distribution. By +;; using this software in any fashion, you are agreeing to be bound by the +;; terms of this license. You must not remove this notice, or any other, +;; from this software. +;; +;; set.clj +;; +;; Clojure functions for operating on sets (supplemental to clojure.set) +;; +;; jason at w01fe dot com +;; Created 2 Feb 2009 + +(ns clojure.contrib.set) + +(defn subset? + "Is set1 a subset of set2?" + [set1 set2] + (and (<= (count set1) (count set2)) + (every? set2 set1))) + +(defn superset? + "Is set1 a superset of set2?" + [set1 set2] + (and (>= (count set1) (count set2)) + (every? set1 set2))) + +(defn proper-subset? + "Is s1 a proper subset of s2?" + [set1 set2] + (and (< (count set1) (count set2)) + (every? set2 set1))) + +(defn proper-superset? + "Is s1 a proper superset of s2?" + [set1 set2] + (and (> (count set1) (count set2)) + (every? set1 set2))) |