Implementation of elm/core Set based on pzp1997/assoc-list
A set of unique values. The values can be any type that can be compared using (==). Insert, remove, and query operation performance subject to performance characteristics of the underlying assoc-list implementations.
Remove a value from a set. If the value is not found, no changes are made.
Compare two sets for equality, ignoring insertion order. Sets are defined to be equal when they have identical keys where the keys are compared using the built-in equality operator.
You should almost never use the built-in equality operator to compare sets from this module since association lists have no canonical form.
Get the intersection of two sets. Keeps values that appear in both sets.
Get the difference between the first set and the second. Keeps values that do not appear in the second set.
Fold over the values in a set, in order from lowest to highest.
Fold over the values in a set, in order from highest to lowest.
Only keep elements that pass the given test.
import Set exposing (Set)
numbers : Set Int
numbers =
Set.fromList [ -2, -1, 0, 1, 2 ]
positives : Set Int
positives =
Set.filter (\x -> x > 0) numbers
-- positives == Set.fromList [ 1, 2 ]
Represents a set of unique values. So
(Set Id)is a set of custom Id types and(Set String)works as usual.