HORIZON HASKELLDocslts/ghc-9.14.x45dd5372026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 45dd537 · 2026-10-11

Moduleghc-9.14.1GHC2021

GHC.Utils.Monad.State.Strict

A state monad which is strict in its state.

  • 1 type
  • 8 values
  • Packageghc-9.14.1
  • Exports10
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceStrict.hs

The State monad

6 declarations
newtypenewtype State s a
#

A state monad which is strict in the state s, but lazy in the value a.

See Note [Strict State monad] for the particular notion of strictness and implementation details.

Constructors

  • State'
    • runState' :: s -> (# a, s #)
Instances4MonadGetUnique, Monad, Functor, Applicative
  • MonadGetUnique SpillMDefined in ghc-9.14.1 · GHC.CmmToAsm.Reg.Graph.Spill
  • Monad (State s)Defined in ghc-9.14.1 · GHC.Utils.Monad.State.Strict
  • Functor (State s)Defined in ghc-9.14.1 · GHC.Utils.Monad.State.Strict
  • Applicative (State s)Defined in ghc-9.14.1 · GHC.Utils.Monad.State.Strict
patternpattern State :: (s -> (# a, s #)) -> State s a
#

Operations

4 declarations