| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell98 |
Data.Checked
Description
Type-indexed runtime-checked properties.
Synopsis
- data Checked p v
- trustMe :: v -> Checked p v
- trustThat :: p -> v -> Checked p v
- trustMap :: (v -> v) -> Checked p v -> Checked p v
- checked :: Checked p v -> v
- class Property p v where
- holds :: p -> v -> Bool
- maybeHolds :: Property p v => p -> v -> Maybe v
- check :: forall p v. Property p v => v -> Maybe (Checked p v)
Documentation
Wrapper-evidence for property p.
trustThat :: p -> v -> Checked p v Source #
Use when the property can be deduced without a runtime check.
trustMap :: (v -> v) -> Checked p v -> Checked p v Source #
Apply a fuction that preserves the property to the checked value.
maybeHolds :: Property p v => p -> v -> Maybe v Source #
Return Just v if p holds and Nothing overwise.