concurrency-1.11.0.3: Typeclasses, functions, and data types for concurrency and STM.
Copyright(c) 2016 Michael Walker
LicenseMIT
MaintainerMichael Walker <mike@barrucadu.co.uk>
Stabilitystable
PortabilityFlexibleInstances, MultiParamTypeClasses
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Concurrent.Classy.STM.TArray

Description

Deviations: TArray as defined here does not have an Eq instance, this is because the MonadSTM TVar type does not have an Eq constraint.

Synopsis

Documentation

data TArray stm i e Source #

TArray is a transactional array, supporting the usual MArray interface for mutable arrays.

It is currently implemented as Array ix (TVar stm e), but it may be replaced by a more efficient implementation in the future (the interface will remain the same, however).

Since: 1.0.0.0

Instances

Instances details
MonadSTM stm => MArray (TArray stm) e stm Source #

Since: 1.0.0.0

Instance details

Defined in Control.Concurrent.Classy.STM.TArray

Methods

getBounds :: Ix i => TArray stm i e -> stm (i, i) #

getNumElements :: Ix i => TArray stm i e -> stm Int

newArray :: Ix i => (i, i) -> e -> stm (TArray stm i e) #

newArray_ :: Ix i => (i, i) -> stm (TArray stm i e) #

unsafeNewArray_ :: Ix i => (i, i) -> stm (TArray stm i e)

unsafeRead :: Ix i => TArray stm i e -> Int -> stm e

unsafeWrite :: Ix i => TArray stm i e -> Int -> e -> stm ()