effect-monad-0.6.1: Embeds effect systems into Haskell using parameteric effect monads

Safe HaskellNone
LanguageHaskell98

Control.Effect.WriteOnceWriter

Synopsis

Documentation

put :: a -> WriteOnce `[a]` () Source

Write a value of type a

data WriteOnce w a Source

Provides a kind of writer monad, which can only write an item once (no accumulation), an effect system as a list of the items that have been written

Constructors

W 

Fields

runWriteOnce :: (a, List w)
 

Instances

Effect [*] WriteOnce 
type Unit [*] WriteOnce = [] * 
type Plus [*] WriteOnce s t = (:++) s t 
type Inv [*] WriteOnce s t = ()