permutation-0.5.0.5: A library for permutations and combinations.

CopyrightCopyright (c) Patrick Perry <patperry@stanford.edu>
LicenseBSD3
MaintainerPatrick Perry <patperry@stanford.edu>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell98

Data.Choose.ST

Contents

Description

Mutable combinations in the ST monad.

Synopsis

Combinations

data STChoose s Source #

A mutable combination that can be manipulated in the ST monad. The type argument s is the state variable argument for the ST type.

Instances
Eq (STChoose s) Source # 
Instance details

Defined in Data.Choose.Base

Methods

(==) :: STChoose s -> STChoose s -> Bool #

(/=) :: STChoose s -> STChoose s -> Bool #

MChoose (STChoose s) (ST s) Source # 
Instance details

Defined in Data.Choose.MChoose

runSTChoose :: (forall s. ST s (STChoose s)) -> Choose Source #

A safe way to create and work with a mutable combination before returning an immutable one for later perusal. This function avoids copying the combination before returning it - it uses unsafeFreeze internally, but this wrapper is a safe interface to that function.

Overloaded mutable combination interface