ivory-stdlib-0.1.0.0: Ivory standard library.

Safe HaskellNone

Ivory.Stdlib.Operators

Synopsis

Documentation

(~>*) :: (IvoryVar a, IvoryStruct sym, IvoryRef ref, IvoryExpr (ref s (Stored a)), IvoryExpr (ref s (Struct sym))) => ref s (Struct sym) -> Label sym (Stored a) -> Ivory eff aSource

Infix structure field access and dereference. This is a shorthand for 'deref $ s~>x'.

(%=) :: IvoryStore a => Ref s (Stored a) -> (a -> a) -> Ivory eff ()Source

Modify the value stored at a reference by a function.

(%=!) :: IvoryStore a => Ref s (Stored a) -> (a -> Ivory eff a) -> Ivory eff ()Source

Modify the value stored at a reference by a function that returns a value in the Ivory monad

(+=) :: (Num a, IvoryStore a) => Ref s (Stored a) -> a -> Ivory eff ()Source

Increment the value stored at a reference.