typelevel-tools-yj-0.1.0.8: type level tools
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.TypeLevel.ParMaybe

Documentation

data M (t :: k -> Type) (m :: Maybe k) where Source #

Constructors

N :: M t 'Nothing 
J :: t a -> M t ('Just a) 

Instances

Instances details
Show (t a2) => Show (M t ('Just a2)) Source # 
Instance details

Defined in Data.TypeLevel.ParMaybe

Methods

showsPrec :: Int -> M t ('Just a2) -> ShowS #

show :: M t ('Just a2) -> String #

showList :: [M t ('Just a2)] -> ShowS #

Show (M t ('Nothing :: Maybe k)) Source # 
Instance details

Defined in Data.TypeLevel.ParMaybe

Methods

showsPrec :: Int -> M t 'Nothing -> ShowS #

show :: M t 'Nothing -> String #

showList :: [M t 'Nothing] -> ShowS #

Eq (t a2) => Eq (M t ('Just a2)) Source # 
Instance details

Defined in Data.TypeLevel.ParMaybe

Methods

(==) :: M t ('Just a2) -> M t ('Just a2) -> Bool #

(/=) :: M t ('Just a2) -> M t ('Just a2) -> Bool #

Eq (M t ('Nothing :: Maybe k)) Source # 
Instance details

Defined in Data.TypeLevel.ParMaybe

Methods

(==) :: M t 'Nothing -> M t 'Nothing -> Bool #

(/=) :: M t 'Nothing -> M t 'Nothing -> Bool #

Ord (t a2) => Ord (M t ('Just a2)) Source # 
Instance details

Defined in Data.TypeLevel.ParMaybe

Methods

compare :: M t ('Just a2) -> M t ('Just a2) -> Ordering #

(<) :: M t ('Just a2) -> M t ('Just a2) -> Bool #

(<=) :: M t ('Just a2) -> M t ('Just a2) -> Bool #

(>) :: M t ('Just a2) -> M t ('Just a2) -> Bool #

(>=) :: M t ('Just a2) -> M t ('Just a2) -> Bool #

max :: M t ('Just a2) -> M t ('Just a2) -> M t ('Just a2) #

min :: M t ('Just a2) -> M t ('Just a2) -> M t ('Just a2) #

Ord (M t ('Nothing :: Maybe k)) Source # 
Instance details

Defined in Data.TypeLevel.ParMaybe

Methods

compare :: M t 'Nothing -> M t 'Nothing -> Ordering #

(<) :: M t 'Nothing -> M t 'Nothing -> Bool #

(<=) :: M t 'Nothing -> M t 'Nothing -> Bool #

(>) :: M t 'Nothing -> M t 'Nothing -> Bool #

(>=) :: M t 'Nothing -> M t 'Nothing -> Bool #

max :: M t 'Nothing -> M t 'Nothing -> M t 'Nothing #

min :: M t 'Nothing -> M t 'Nothing -> M t 'Nothing #

type family Map (f :: k -> l) (m :: Maybe k) where ... Source #

Equations

Map _f 'Nothing = 'Nothing 
Map f ('Just x) = 'Just (f x) 

maybe :: a -> (forall s. t s -> a) -> M t ms -> a Source #

map :: (forall s. t s -> t' (f s)) -> M t ms -> M t' (Map f ms) Source #

nil :: M (t :: k -> Type) 'Nothing Source #