Set -package:containers

A set of values a.
Invariant preserving version of Set from the containers packages, suitable for use with Uniplate. Use toSet to construct values, and fromSet to deconstruct values.
Set. Import as:
import qualified RIO.Set as Set
This module does not export any partial or unchecked functions. For those, see RIO.Set.Partial and RIO.Set.Unchecked
This module only exports ways of constructing a Set, retrieving List, Set, and Seq representations of the same data, as well as a novel "difference" function. Any other Set-like or List-like functionality should be obtained through toSet and toList, respectively.
This is a variation on Data.Set.Set that remembers the original order of elements. This ensures that ordering is not lost when formatting Dhall code
A hash set, based on an STM-specialized hash array mapped trie.
A set of values a.
TOML-specific combinators for converting between TOML and Haskell Set-like data types. There are two way to represent list-like structures with the tomland library.
  • Ordinary array sets of primitives:
    foo = [100, 200, 300]
    
  • Sets via tables:
    foo = [ {x = 100} , {x = 200} , {x = 300} ]
    OR [[foo]] x = 100 [[foo]] x = 200 [[foo]] x = 300 
You can find both types of the codecs in this module for different set-like structures. See the following table for the better understanding: TODO: table
Set the value to a new value.
Set its value to the provided one
Lists representing sets. The Listable tiers enumeration will not have repeated sets.
> take 6 (list :: [Set Nat])
[Set [],Set [0],Set [1],Set [0,1],Set [2],Set [0,2]]