HORIZON HASKELLDocslts/ghc-10.0.x8fef28d2026-11-02Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8fef28d · 2026-11-02

Moduleth-desugar-1.19Haskell2010

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.

Contents
  1. Trivial sets
  2. Insertion
  3. Query
  4. Deletion
  5. Indexing
  6. List conversions
  7. Set conversion
Synopsis
  • Packageth-desugar-1.19
  • 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.19 · Language.Haskell.TH.Desugar.OSet
  • Eq a => Eq (OSet a)Defined in th-desugar-1.19 · Language.Haskell.TH.Desugar.OSet
  • (Data a, Ord a) => Data (OSet a)Defined in th-desugar-1.19 · Language.Haskell.TH.Desugar.OSet
  • Ord a => Ord (OSet a)Defined in th-desugar-1.19 · Language.Haskell.TH.Desugar.OSet
  • (Ord a, Read a) => Read (OSet a)Defined in th-desugar-1.19 · Language.Haskell.TH.Desugar.OSet
  • Show a => Show (OSet a)Defined in th-desugar-1.19 · Language.Haskell.TH.Desugar.OSet
  • Ord a => Semigroup (OSet a)Defined in th-desugar-1.19 · Language.Haskell.TH.Desugar.OSet
  • Ord a => Monoid (OSet a)Defined in th-desugar-1.19 · Language.Haskell.TH.Desugar.OSet

Trivial sets

Insertion

Query

Deletion

Indexing

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

Set conversion