aboutsummaryrefslogtreecommitdiff
path: root/src/gleam/set.gleam
diff options
context:
space:
mode:
Diffstat (limited to 'src/gleam/set.gleam')
-rw-r--r--src/gleam/set.gleam17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gleam/set.gleam b/src/gleam/set.gleam
index 9ffaccd..406d501 100644
--- a/src/gleam/set.gleam
+++ b/src/gleam/set.gleam
@@ -260,3 +260,20 @@ pub fn intersection(
let #(larger, smaller) = order(first, second)
take(from: larger, keeping: to_list(smaller))
}
+
+/// Creates a new set that contains members that are present in the first set
+/// but not the second.
+///
+/// ## Examples
+///
+/// ```gleam
+/// > difference(from_list([1, 2]), from_list([2, 3, 4])) |> to_list
+/// [1]
+/// ```
+///
+pub fn difference(
+ from first: Set(member),
+ minus second: Set(member),
+) -> Set(member) {
+ drop(from: first, drop: to_list(second))
+}