diff options
Diffstat (limited to 'src/gleam/set.gleam')
-rw-r--r-- | src/gleam/set.gleam | 17 |
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)) +} |