HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Moduleth-desugar-1.17Haskell2010

Language.Haskell.TH.Desugar.OSet

An OSet behaves much like a Set, with all the same asymptotics, but also remembers the order that values were inserted.

This module offers a simplified version of the Data.Set.Ordered API that assumes left-biased indices everywhere.

  • 2 types
  • 18 values
  • Packageth-desugar-1.17
  • Exports20
  • LanguageHaskell2010
  • LicenceBSD-3-Clause
  • SourceOSet.hs
newtypenewtype OSet a
#

An ordered set whose insertPre, insertPost, intersection, and union operations are biased towards leftmost indices when when breaking ties between keys.

Instances8Foldable, Eq, Data, Ord, Read, Show, …
  • Foldable OSetDefined in th-desugar-1.17 · Language.Haskell.TH.Desugar.OSet
  • Eq a => Eq (OSet a)Defined in th-desugar-1.17 · Language.Haskell.TH.Desugar.OSet
  • (Data a, Ord a) => Data (OSet a)Defined in th-desugar-1.17 · Language.Haskell.TH.Desugar.OSet
  • Ord a => Ord (OSet a)Defined in th-desugar-1.17 · Language.Haskell.TH.Desugar.OSet
  • (Ord a, Read a) => Read (OSet a)Defined in th-desugar-1.17 · Language.Haskell.TH.Desugar.OSet
  • Show a => Show (OSet a)Defined in th-desugar-1.17 · Language.Haskell.TH.Desugar.OSet
  • Ord a => Semigroup (OSet a)Defined in th-desugar-1.17 · Language.Haskell.TH.Desugar.OSet
  • Ord a => Monoid (OSet a)Defined in th-desugar-1.17 · Language.Haskell.TH.Desugar.OSet

Trivial sets

2 declarations

Insertion

3 declarations
valueinsertPre :: Ord a => a -> OSet a -> OSet a
#

The element's index will be lower than the indices of the elements in the OSet.

valueinsertPost :: Ord a => OSet a -> a -> OSet a
#

The element's index will be higher than the indices of the elements in the OSet.

Query

4 declarations

Deletion

4 declarations

Indexing

3 declarations
typetype Index = Int
#

A 0-based index, much like the indices used by lists' !! operation. All indices are with respect to insertion order.

List conversions

2 declarations

Set conversion

1 declaration