Complete documentation page mirrored and translated for learning. Attribution is shown at the bottom of each article.

阅读中文版

appdevreferencedaml-standard-libraryda-set

DA.Set

Documentation Index

Fetch the complete documentation index at: https://docs.canton.network/llms.txt Use this file to discover all available pages before exploring further.

DA.Set

Reference documentation for Daml module DA.Set.

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.

Module Snapshot

Stable. Status: `active` Introduced in: `3.4.9` Removed in: `-` Warnings: `0` Deprecations: `0` Deprecated since: `-`

Data Types

data Set k

The type of a set. This is a wrapper over the Map type.

Constructors:

  • Set | Field | Type | Description | | :---- | :--- | :---------- | | map | Map k () | |

Instances:

  • instance Foldable Set
  • instance Ord k => Monoid (Set k)
  • instance Ord k => Semigroup (Set k)
  • instance GetField map (Set k) (Map k ())
  • instance SetField map (Set k) (Map k ())
  • instance IsParties (Set Party)
  • instance Ord k => Eq (Set k)
  • instance Ord k => Ord (Set k)
  • instance (Ord k, Show k) => Show (Set k)

Functions

empty

empty : Set k

The empty set.

size

size : Set k -> Int

The number of elements in the set.

toList

toList : Set k -> [k]

Convert the set to a list of elements.

fromList

fromList : Ord k => [k] -> Set k

Create a set from a list of elements.

toMap

toMap : Set k -> Map k ()

Convert a Set into a Map.

fromMap

fromMap : Map k () -> Set k

Create a Set from a Map.

member

member : Ord k => k -> Set k -> Bool

Is the element in the set?

notMember

notMember : Ord k => k -> Set k -> Bool

Is the element not in the set? notMember k s is equivalent to not (member k s).

null

null : Set k -> Bool

Is this the empty set?

insert

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.

filter

filter : Ord k => (k -> Bool) -> Set k -> Set k

Filter all elements that satisfy the predicate.

delete

delete : Ord k => k -> Set k -> Set k

Delete an element from a set.

singleton

singleton : Ord k => k -> Set k

Create a singleton set.

union

union : Ord k => Set k -> Set k -> Set k

The union of two sets.

intersection

intersection : Ord k => Set k -> Set k -> Set k

The intersection of two sets.

difference

difference : Ord k => Set k -> Set k -> Set k
`difference x y` returns the set consisting of all
elements in `x` that are not in `y`.

>>> fromList [1, 2, 3] `difference` fromList [1, 4]
fromList [2, 3]

isSubsetOf

isSubsetOf : Ord k => Set k -> Set k -> Bool

isSubsetOf a b returns true if a is a subset of b, that is, if every element of a is in b.

isProperSubsetOf

isProperSubsetOf : Ord k => Set k -> Set k -> Bool

isProperSubsetOf a b returns true if a is a proper subset of b. That is, if a is a subset of b but not equal to b.

Orphan Typeclass Instances

  • instance Ord k => Eq (Set k)

  • instance Ord k => Ord (Set k)

  • instance (Ord k, Show k) => Show (Set k)

  • instance IsParties (Set Party)

  • instance Ord k => Semigroup (Set k)

  • instance Ord k => Monoid (Set k)

  • instance GetField map (Set k) (Map k ())

  • instance SetField map (Set k) (Map k ())

  • instance Foldable Set


Mirrored from Canton Network official documentation (CC-BY-4.0) by CC Privacy Club for learning purposes.