DA.Set¶
Note: This is only supported in Daml-LF 1.11 or later.
This module exports the generic set type Set k and associated
functions. This module should be imported qualified, for example:
import DA.Set (Set)
import DA.Set qualified as S
This will give access to the Set type, and the various operations
as S.lookup, S.insert, S.fromList, etc.
Set k internally uses the built-in order for the type k.
This means that keys that contain functions are not comparable
and will result in runtime errors. To prevent this, the Ord k
instance is required for most set operations. It is recommended to
only use Set k for key types that have an Ord k instance
that is derived automatically using deriving:
data K = ...
  deriving (Eq, Ord)
This includes all built-in types that aren’t function types, such as
Int, Text, Bool, (a, b) assuming a and b have default
Ord instances, Optional t and [t] assuming t has a
default Ord instance, Map k v assuming k and v have
default Ord instances, and Set k assuming k has a
default Ord instance.
Data Types¶
data Set k
Functions¶
- notMember
- 
Is the element not in the set? notMember k sis equivalent tonot (member k s).
- insert
- : Ord k => k -> Set k -> Set k - Insert an element in a set. If the set already contains the element, this returns the set unchanged. 
- intersection
- : Ord k => Set k -> Set k -> Set k - The intersection of two sets. 
- difference
- : Ord k => Set k -> Set k -> Set k - difference x yreturns the set consisting of all elements in- xthat are not in- y.- > > > fromList [1, 2, 3] difference fromList [1, 4] > > > fromList [2, 3] 
- isSubsetOf
- : Ord k => Set k -> Set k -> Bool - isSubsetOf a breturns true if- ais a subset of- b, that is, if every element of- ais in- b.
- isProperSubsetOf
- : Ord k => Set k -> Set k -> Bool - isProperSubsetOf a breturns true if- ais a proper subset of- b. That is, if- ais a subset of- bbut not equal to- b.
