rerefined-0.2.0: Refinement types, again
Safe HaskellSafe-Inferred
LanguageGHC2021

Rerefined.Refined1

Description

Refined1 definition.

Not intended for external use. For unsafe refines, use Unsafe.

Synopsis

Documentation

newtype Refined1 p f a Source #

f a refined with predicate p.

Constructors

Refined1 (f a) 

Instances

Instances details
Lift (f a) => Lift (Refined1 p f a :: Type) Source # 
Instance details

Defined in Rerefined.Refined1

Methods

lift :: Quote m => Refined1 p f a -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Refined1 p f a -> Code m (Refined1 p f a) #

Functor f => Functor (Refined1 p f) Source # 
Instance details

Defined in Rerefined.Refined1

Methods

fmap :: (a -> b) -> Refined1 p f a -> Refined1 p f b #

(<$) :: a -> Refined1 p f b -> Refined1 p f a #

Show (f a) => Show (Refined1 p f a) Source # 
Instance details

Defined in Rerefined.Refined1

Methods

showsPrec :: Int -> Refined1 p f a -> ShowS #

show :: Refined1 p f a -> String #

showList :: [Refined1 p f a] -> ShowS #

unrefine1 :: Refined1 p f a -> f a Source #

Strip the refinement from a Refined1.

This is kept as a separate function for prettier Show Refined1 output.