red-g / service-collections / Service.Set

Service.Sets provide the exact same functionality as Elm's built-in Set type, while allowing for easy and safe extension with custom element types.


type Set k

A collection of unique values.

max : Set k -> Maybe k

Get the highest element in the set.

foldl : Fold k b -> Fold (Set k) b

Reduce the elements in the set from lowest to highest.

foldr : Fold k b -> Fold (Set k) b

Reduce the elements in the set from highest to lowest.

fold : Sorter k -> Fold k (Set k)

Insert an element in the set.

fromList : Sorter k -> List k -> Set k

Convert a list into a set.

isEmpty : Filter (Set k)

Check if the set is empty.

previous : Sorter k -> k -> Set k -> Maybe k

Get the next smallest element in the set.

member : Sorter k -> k -> Filter (Set k)

Check if a value is in the set.

middle : Set k -> Maybe k

Get the middle value of the set.

next : Sorter k -> k -> Set k -> Maybe k

Get the next highest element in the set.

remove : Sorter k -> k -> Set k -> Set k

Remove a key from a set. If the key is not found, no changes are made.

min : Set k -> Maybe k

Get the smallest element in the set.

toList : Set k -> List k

Convert a set to a list.

map : (a -> b) -> Set a -> Set b

Apply a function to each element in the set.

insert : Sorter k -> k -> Set k -> Set k

Insert an element in the set.

filter : Sorter k -> Filter k -> Set k -> Set k

Keep items that pass the filter.

singleton : k -> Set k

Construct a set with one element.

fromList : Sorter k -> List k -> Set k

Convert a list into a set.