pure-borrow
Safe HaskellNone
LanguageGHC2021

Data.Ref.Linear

Synopsis

Documentation

data Ref a Source #

Linearly owned mutable reference.

Instances

Instances details
LinearOnly (Ref a :: Type) Source # 
Instance details

Defined in Data.Ref.Linear

Consumable a => Consumable (Ref a) Source # 
Instance details

Defined in Data.Ref.Linear

Methods

consume :: Ref a %1 -> () #

Dupable a => Dupable (Ref a) Source # 
Instance details

Defined in Data.Ref.Linear

Methods

dupR :: Ref a %1 -> Replicator (Ref a) #

dup2 :: Ref a %1 -> (Ref a, Ref a) #

Affine (Ref a) Source # 
Instance details

Defined in Data.Ref.Linear

Methods

aff :: Ref a %1 -> Aff (Ref a) Source #

Dupable a => Clone (Ref a) Source # 
Instance details

Defined in Data.Ref.Linear

Methods

clone :: forall (α :: Lifetime). Share α (Ref a) %1 -> BO α (Ref a) Source #

Unsatisfiable ('ShowType (Ref a) ':<>: 'Text " cannot be copied!") => Copyable (Ref a) Source # 
Instance details

Defined in Data.Ref.Linear

Methods

copy :: forall (bk :: BorrowKind) (α :: Lifetime). Borrow bk α (Ref a) %1 -> Ref a Source #

new :: a %1 -> Linearly %1 -> Ref a Source #

free :: Ref a %1 -> a Source #

unsafeReadRef :: Ref a %1 -> (a, Ref a) Source #

unsafeWriteRef :: Ref a %1 -> a %1 -> Ref a Source #

atomicModify :: (a %1 -> (b, a)) %1 -> Ref a %1 -> (b, Ref a) Source #

atomicModify_ :: (a %1 -> a) %1 -> Ref a %1 -> Ref a Source #