Safe Haskell | None |
---|
- emitPreCond :: Require -> Ivory eff ()
- emitPostCond :: Ensure -> Ivory eff ()
- newtype Cond = Cond {}
- check :: IBool -> Cond
- checkStored :: forall ref s a. (IvoryVar a, IvoryRef ref, IvoryVar (ref s (Stored a))) => ref s (Stored a) -> (a -> IBool) -> Cond
- class Requires c where
- requires' :: (Requires c, IvoryType r) => (c -> Cond) -> c -> Body r -> Body r
- class Ensures c where
- ensures' :: (Ensures c, IvoryVar r) => (c -> Cond) -> (r -> c) -> Body r -> Body r
Documentation
emitPreCond :: Require -> Ivory eff ()Source
Emit a pre-condition.
XXX do not export
emitPostCond :: Ensure -> Ivory eff ()Source
Emit a post-condition.
XXX do not export
checkStored :: forall ref s a. (IvoryVar a, IvoryRef ref, IvoryVar (ref s (Stored a))) => ref s (Stored a) -> (a -> IBool) -> CondSource
Proc bodies that have pre-conditions. Multiple pre-conditions may be provided, for which the conjunction must hold.
Proc bodies that have post-conditions. Multiple post-conditions may be provided, for which the conjunction must hold.