aboutsummaryrefslogtreecommitdiff
path: root/modules/set
diff options
context:
space:
mode:
authorStuart Sierra <mail@stuartsierra.com>2010-08-07 16:41:53 -0400
committerStuart Sierra <mail@stuartsierra.com>2010-08-07 16:41:53 -0400
commita6a92b9b3d2bfd9a56e1e5e9cfba706d1aeeaae5 (patch)
treef1f3da9887dc2dc557df3282b0bcbd4d701ec593 /modules/set
parente7930c85290f77815cdb00a60604feedfa2d0194 (diff)
Split all namespaces into sub-modules.
* Examples and tests have not been copied over. * Clojure test/compile phases are commented out in parent POM. * May require installing parent POM before full build.
Diffstat (limited to 'modules/set')
-rw-r--r--modules/set/pom.xml16
-rw-r--r--modules/set/src/main/clojure/clojure/contrib/set.clj52
2 files changed, 68 insertions, 0 deletions
diff --git a/modules/set/pom.xml b/modules/set/pom.xml
new file mode 100644
index 00000000..55232e5f
--- /dev/null
+++ b/modules/set/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http//www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.clojure.contrib</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
+ </parent>
+ <artifactId>set</artifactId>
+ <dependencies>
+ </dependencies>
+</project> \ No newline at end of file
diff --git a/modules/set/src/main/clojure/clojure/contrib/set.clj b/modules/set/src/main/clojure/clojure/contrib/set.clj
new file mode 100644
index 00000000..4c831a6c
--- /dev/null
+++ b/modules/set/src/main/clojure/clojure/contrib/set.clj
@@ -0,0 +1,52 @@
+;; 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
+
+;; Deprecations in 1.2: subset and superset have been promoted to
+;; clojure.set
+
+(ns
+ ^{:author "Jason Wolfe",
+ :doc "Clojure functions for operating on sets (supplemental to clojure.set)"}
+ clojure.contrib.set)
+
+(defn subset?
+ "Is set1 a subset of set2?"
+ {:deprecated "1.2"}
+ [set1 set2]
+ {:tag Boolean}
+ (and (<= (count set1) (count set2))
+ (every? set2 set1)))
+
+(defn superset?
+ "Is set1 a superset of set2?"
+ {:deprecated "1.2"}
+ [set1 set2]
+ {:tag Boolean}
+ (and (>= (count set1) (count set2))
+ (every? set1 set2)))
+
+(defn proper-subset?
+ "Is s1 a proper subset of s2?"
+ [set1 set2]
+ {:tag Boolean}
+ (and (< (count set1) (count set2))
+ (every? set2 set1)))
+
+(defn proper-superset?
+ "Is s1 a proper superset of s2?"
+ [set1 set2]
+ {:tag Boolean}
+ (and (> (count set1) (count set2))
+ (every? set1 set2)))