| Safe Haskell | Safe-Inferred |
|---|---|
| Language | GHC2021 |
Rerefined.Refine
Synopsis
- data Refined p a
- refine :: forall p a. Refine p a => a -> Either (RefineFailure String) (Refined p a)
- unrefine :: Refined p a -> a
- data Refined1 p f a
- refine1 :: forall p f a. Refine1 p f => f a -> Either (RefineFailure String) (Refined1 p f a)
- unrefine1 :: Refined1 p f a -> f a
- data RefineFailure a
- prettyRefineFailure :: (Semigroup a, IsString a) => RefineFailure a -> a
Refined
a refined with predicate p.
refine :: forall p a. Refine p a => a -> Either (RefineFailure String) (Refined p a) Source #
Refine a with predicate p.
Refined1
f a refined with predicate p.
refine1 :: forall p f a. Refine1 p f => f a -> Either (RefineFailure String) (Refined1 p f a) Source #
Refine f a with functor predicate p.
Errors
data RefineFailure a Source #
Predicate validation failure.
Polymorphic over the message type because I want to use Text, but want it
doesn't have the convenient Show internals that String does.
Instances
| Show a => Show (RefineFailure a) Source # | |
Defined in Rerefined.Predicate Methods showsPrec :: Int -> RefineFailure a -> ShowS # show :: RefineFailure a -> String # showList :: [RefineFailure a] -> ShowS # | |
prettyRefineFailure :: (Semigroup a, IsString a) => RefineFailure a -> a Source #