Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type Type = TYPE LiftedRep
- data Constraint
- data Proxy (t :: k) = Proxy
- type family (a :: Bool) || (b :: Bool) :: Bool where ...
- type family If (cond :: Bool) (tru :: k) (fls :: k) :: k where ...
- type family TypeError (a :: ErrorMessage) :: b where ...
- type family (a :: Natural) + (b :: Natural) :: Natural where ...
- type family (a :: Natural) * (b :: Natural) :: Natural where ...
- type family CmpNat (a :: Natural) (b :: Natural) :: Ordering where ...
- data ErrorMessage
- type Nat = Natural
- data SList (a1 :: [a]) where
- module Torch.GraduallyTyped.Prelude.TypeLits
- data IsChecked a
- pattern IsChecked :: a -> IsChecked a
- pattern Demoted :: SingKind k => Demote k -> Sing (a :: k)
- pattern Demoted' :: (SingKind k, Demote k ~ IsChecked t) => t -> Sing (a :: k)
- forgetIsChecked :: IsChecked a -> a
- pattern (:|:) :: forall a as. Sing a -> SList as -> SList (a ': as)
- type family All (c :: k -> Constraint) (xs :: [k]) :: Constraint where ...
- class KnownElem k x where
- class KnownList k (xs :: [k]) where
- type family Assert err a where ...
- type family Catch a where ...
- type family Seq (a :: k) (b :: k') :: k' where ...
- type family Fst (t :: (k, k')) :: k where ...
- type family Snd (t :: (k, k')) :: k' where ...
- type family Elem (e :: t) (es :: [t]) :: Bool where ...
- type family Head (xs :: [a]) :: Maybe a where ...
- type family Tail (xs :: [a]) :: Maybe [a] where ...
- type family Length (xs :: [a]) :: Nat where ...
- type family Contains (f :: k) (a :: k') :: Bool where ...
- type family Extract (f :: k) (a :: k') :: [k'] where ...
- type family FromMaybe (d :: k) (x :: Maybe k) :: k where ...
- type family MaybeF (d :: k') (f :: k -> k') (x :: Maybe k) :: k' where ...
- type family FstMaybe (t :: Maybe (k, k')) :: Maybe k where ...
- type family SndMaybe (t :: Maybe (k, k')) :: Maybe k' where ...
- type family PrependMaybe (h :: Maybe a) (t :: Maybe [a]) :: Maybe [a] where ...
- type family MapMaybe (f :: k -> k') (a :: Maybe k) :: Maybe k' where ...
- type family BindMaybe (f :: k -> Maybe k') (a :: Maybe k) :: Maybe k' where ...
- type family JoinMaybe (a :: Maybe (Maybe k)) :: Maybe k where ...
- type family LiftM2Maybe (f :: k -> k' -> k'') (a :: Maybe k) (b :: Maybe k') :: Maybe k'' where ...
- type family LiftTimesMaybe (a :: Maybe Nat) (b :: Maybe Nat) :: Maybe Nat where ...
- type family LiftTypeEqMaybe (a :: Maybe k) (b :: Maybe k') :: Constraint where ...
- type family Concat (xs :: [k]) (ys :: [k]) :: [k] where ...
- type Reverse xs = ReverseImplF xs '[]
- type family (a :: Nat) <? (b :: Nat) where ...
- type family When (cond :: Bool) (constraint :: Constraint) :: Constraint where ...
- whenM :: Monad m => m Bool -> m () -> m ()
- unlessM :: Monad m => m Bool -> m () -> m ()
- ifM :: Monad m => m Bool -> m a -> m a -> m a
- guardM :: MonadPlus m => m Bool -> m ()
- (&&^) :: Monad m => m Bool -> m Bool -> m Bool
- (||^) :: Monad m => m Bool -> m Bool -> m Bool
- (<&&>) :: Applicative a => a Bool -> a Bool -> a Bool
- (<||>) :: Applicative a => a Bool -> a Bool -> a Bool
Documentation
data Constraint Source #
The kind of constraints, like Show a
Proxy
is a type that holds no data, but has a phantom parameter of
arbitrary type (or even kind). Its use is to provide type information, even
though there is no value available of that type (or it may be too costly to
create one).
Historically,
is a safer alternative to the
Proxy
:: Proxy
a
idiom.undefined
:: a
>>>
Proxy :: Proxy (Void, Int -> Int)
Proxy
Proxy can even hold types of higher kinds,
>>>
Proxy :: Proxy Either
Proxy
>>>
Proxy :: Proxy Functor
Proxy
>>>
Proxy :: Proxy complicatedStructure
Proxy
Instances
ApplicativeB (Proxy :: (k -> Type) -> Type) | |
ConstraintsB (Proxy :: (k -> Type) -> Type) | |
DistributiveB (Proxy :: (k -> Type) -> Type) | |
Defined in Barbies.Internal.DistributiveB | |
FunctorB (Proxy :: (k -> Type) -> Type) | |
TraversableB (Proxy :: (k -> Type) -> Type) | |
Defined in Barbies.Internal.TraversableB | |
Generic1 (Proxy :: k -> Type) | |
Representable (Proxy :: Type -> Type) | |
Foldable (Proxy :: TYPE LiftedRep -> Type) | Since: base-4.7.0.0 |
Defined in Data.Foldable fold :: Monoid m => Proxy m -> m Source # foldMap :: Monoid m => (a -> m) -> Proxy a -> m Source # foldMap' :: Monoid m => (a -> m) -> Proxy a -> m Source # foldr :: (a -> b -> b) -> b -> Proxy a -> b Source # foldr' :: (a -> b -> b) -> b -> Proxy a -> b Source # foldl :: (b -> a -> b) -> b -> Proxy a -> b Source # foldl' :: (b -> a -> b) -> b -> Proxy a -> b Source # foldr1 :: (a -> a -> a) -> Proxy a -> a Source # foldl1 :: (a -> a -> a) -> Proxy a -> a Source # toList :: Proxy a -> [a] Source # null :: Proxy a -> Bool Source # length :: Proxy a -> Int Source # elem :: Eq a => a -> Proxy a -> Bool Source # maximum :: Ord a => Proxy a -> a Source # minimum :: Ord a => Proxy a -> a Source # | |
Eq1 (Proxy :: Type -> Type) | Since: base-4.9.0.0 |
Ord1 (Proxy :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes | |
Read1 (Proxy :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Proxy a) Source # liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Proxy a] Source # liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Proxy a) Source # liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Proxy a] Source # | |
Show1 (Proxy :: TYPE LiftedRep -> Type) | Since: base-4.9.0.0 |
Traversable (Proxy :: Type -> Type) | Since: base-4.7.0.0 |
Alternative (Proxy :: Type -> Type) | Since: base-4.9.0.0 |
Applicative (Proxy :: Type -> Type) | Since: base-4.7.0.0 |
Functor (Proxy :: Type -> Type) | Since: base-4.7.0.0 |
Monad (Proxy :: Type -> Type) | Since: base-4.7.0.0 |
MonadPlus (Proxy :: Type -> Type) | Since: base-4.9.0.0 |
Hashable1 (Proxy :: Type -> Type) | |
Defined in Data.Hashable.Class | |
PFoldable (Proxy :: Type -> Type) | |
Defined in Data.Foldable.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
SFoldable (Proxy :: Type -> Type) | |
Defined in Data.Foldable.Singletons sFold :: forall m (t1 :: Proxy m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: Proxy a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Proxy a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Proxy a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Proxy a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Proxy a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Proxy a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Proxy a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Proxy a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Proxy a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Proxy a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Proxy a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Proxy a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Proxy a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Proxy a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Proxy a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
PTraversable (Proxy :: Type -> Type) | |
STraversable (Proxy :: Type -> Type) | |
Defined in Data.Traversable.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: Proxy a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: Proxy (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: Proxy a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: Proxy (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
Data t => Data (Proxy t) | Since: base-4.7.0.0 |
Defined in Data.Data gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Proxy t -> c (Proxy t) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Proxy t) Source # toConstr :: Proxy t -> Constr Source # dataTypeOf :: Proxy t -> DataType Source # dataCast1 :: Typeable t0 => (forall d. Data d => c (t0 d)) -> Maybe (c (Proxy t)) Source # dataCast2 :: Typeable t0 => (forall d e. (Data d, Data e) => c (t0 d e)) -> Maybe (c (Proxy t)) Source # gmapT :: (forall b. Data b => b -> b) -> Proxy t -> Proxy t Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Proxy t -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Proxy t -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Proxy t -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Proxy t -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Proxy t -> m (Proxy t) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Proxy t -> m (Proxy t) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Proxy t -> m (Proxy t) Source # | |
Monoid (Proxy s) | Since: base-4.7.0.0 |
Semigroup (Proxy s) | Since: base-4.9.0.0 |
Bounded (Proxy t) | Since: base-4.7.0.0 |
Enum (Proxy s) | Since: base-4.7.0.0 |
Defined in Data.Proxy succ :: Proxy s -> Proxy s Source # pred :: Proxy s -> Proxy s Source # toEnum :: Int -> Proxy s Source # fromEnum :: Proxy s -> Int Source # enumFrom :: Proxy s -> [Proxy s] Source # enumFromThen :: Proxy s -> Proxy s -> [Proxy s] Source # enumFromTo :: Proxy s -> Proxy s -> [Proxy s] Source # enumFromThenTo :: Proxy s -> Proxy s -> Proxy s -> [Proxy s] Source # | |
Generic (Proxy t) | |
Ix (Proxy s) | Since: base-4.7.0.0 |
Read (Proxy t) | Since: base-4.7.0.0 |
Show (Proxy s) | Since: base-4.7.0.0 |
Eq (Proxy s) | Since: base-4.7.0.0 |
Ord (Proxy s) | Since: base-4.7.0.0 |
Hashable (Proxy a) | |
SuppressUnusedWarnings (Product_6989586621680209915Sym0 :: TyFun (Proxy a) a -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Sum_6989586621680209909Sym0 :: TyFun (Proxy a) a -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Fold_6989586621680209838Sym0 :: TyFun (Proxy m) m -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Foldl1_6989586621680209871Sym0 :: TyFun (a ~> (a ~> a)) (Proxy a ~> a) -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Foldr1_6989586621680209880Sym0 :: TyFun (a ~> (a ~> a)) (Proxy a ~> a) -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Pure_6989586621680188119Sym0 :: TyFun a (Proxy a) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Elem_6989586621680209901Sym0 :: TyFun a (Proxy a ~> Bool) -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
TestCoercion (SProxy :: Proxy t -> Type) | |
Defined in Data.Proxy.Singletons | |
TestEquality (SProxy :: Proxy t -> Type) | |
Defined in Data.Proxy.Singletons | |
SuppressUnusedWarnings (TFHelper_6989586621680188140Sym0 :: TyFun (Proxy (a ~> b)) (Proxy a ~> Proxy b) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Elem_6989586621680209901Sym1 a6989586621680209906 :: TyFun (Proxy a) Bool -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Foldl1_6989586621680209871Sym1 a6989586621680209876 :: TyFun (Proxy a) a -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Foldr1_6989586621680209880Sym1 a6989586621680209885 :: TyFun (Proxy a) a -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (SequenceA_6989586621680497412Sym0 :: TyFun (Proxy (f a)) (f (Proxy a)) -> Type) | |
Defined in Data.Traversable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Sequence_6989586621680497427Sym0 :: TyFun (Proxy (m a)) (m (Proxy a)) -> Type) | |
Defined in Data.Traversable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (TFHelper_6989586621680188164Sym0 :: TyFun (Proxy a) (Proxy a ~> Proxy a) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Length_6989586621680209888Sym0 :: TyFun (Proxy a) Natural -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Null_6989586621680209894Sym0 :: TyFun (Proxy a) Bool -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Pred_6989586621680187934Sym0 :: TyFun (Proxy s) (Proxy s) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Succ_6989586621680187928Sym0 :: TyFun (Proxy s) (Proxy s) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (TFHelper_6989586621680187987Sym0 :: TyFun (Proxy s) (Proxy s ~> Proxy s) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Compare_6989586621680187827Sym0 :: TyFun (Proxy s) (Proxy s ~> Ordering) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (EnumFromThenTo_6989586621680187960Sym0 :: TyFun (Proxy s) (Proxy s ~> (Proxy s ~> [Proxy s])) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (TFHelper_6989586621680187753Sym0 :: TyFun (Proxy s) (Proxy s ~> Bool) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (EnumFromTo_6989586621680187971Sym0 :: TyFun (Proxy s) (Proxy s ~> [Proxy s]) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (FromEnum_6989586621680187940Sym0 :: TyFun (Proxy s) Natural -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Foldr_6989586621680209846Sym0 :: TyFun (a ~> (b ~> b)) (b ~> (Proxy a ~> b)) -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Fmap_6989586621680188051Sym0 :: TyFun (a ~> b) (Proxy a ~> Proxy b) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (FoldMap_6989586621680209830Sym0 :: TyFun (a ~> m) (Proxy a ~> m) -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Foldl_6989586621680209859Sym0 :: TyFun (b ~> (a ~> b)) (b ~> (Proxy a ~> b)) -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Sconcat_6989586621680187995Sym0 :: TyFun (NonEmpty (Proxy s)) (Proxy s) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (ToEnum_6989586621680187946Sym0 :: TyFun Natural (Proxy s) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (ShowsPrec_6989586621680187870Sym0 :: TyFun Natural (Proxy s ~> (Symbol ~> Symbol)) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Mconcat_6989586621680188004Sym0 :: TyFun [Proxy s] (Proxy s) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Fmap_6989586621680188051Sym1 a6989586621680188056 :: TyFun (Proxy a) (Proxy b) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (TFHelper_6989586621680188140Sym1 a6989586621680188145 :: TyFun (Proxy a) (Proxy b) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (TFHelper_6989586621680188210Sym0 :: TyFun (Proxy a) ((a ~> Proxy b) ~> Proxy b) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (FoldMap_6989586621680209830Sym1 a6989586621680209835 :: TyFun (Proxy a) m -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (TFHelper_6989586621680188164Sym1 a6989586621680188169 :: TyFun (Proxy a) (Proxy a) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (TFHelper_6989586621680187987Sym1 a6989586621680187992 :: TyFun (Proxy s) (Proxy s) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Compare_6989586621680187827Sym1 a6989586621680187832 :: TyFun (Proxy s) Ordering -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (EnumFromThenTo_6989586621680187960Sym1 a6989586621680187966 :: TyFun (Proxy s) (Proxy s ~> [Proxy s]) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (ShowsPrec_6989586621680187870Sym1 a6989586621680187878 :: TyFun (Proxy s) (Symbol ~> Symbol) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (TFHelper_6989586621680187753Sym1 a6989586621680187758 :: TyFun (Proxy s) Bool -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (EnumFromTo_6989586621680187971Sym1 a6989586621680187976 :: TyFun (Proxy s) [Proxy s] -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Traverse_6989586621680497404Sym0 :: TyFun (a ~> f b) (Proxy a ~> f (Proxy b)) -> Type) | |
Defined in Data.Traversable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (MapM_6989586621680497419Sym0 :: TyFun (a ~> m b) (Proxy a ~> m (Proxy b)) -> Type) | |
Defined in Data.Traversable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Foldl_6989586621680209859Sym1 a6989586621680209865 :: TyFun b (Proxy a ~> b) -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Foldr_6989586621680209846Sym1 a6989586621680209852 :: TyFun b (Proxy a ~> b) -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Foldl_6989586621680209859Sym2 a6989586621680209865 a6989586621680209866 :: TyFun (Proxy a) b -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Foldr_6989586621680209846Sym2 a6989586621680209852 a6989586621680209853 :: TyFun (Proxy a) b -> Type) | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (Traverse_6989586621680497404Sym1 a6989586621680497409 :: TyFun (Proxy a) (f (Proxy b)) -> Type) | |
Defined in Data.Traversable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (MapM_6989586621680497419Sym1 a6989586621680497424 :: TyFun (Proxy a) (m (Proxy b)) -> Type) | |
Defined in Data.Traversable.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (EnumFromThenTo_6989586621680187960Sym2 a6989586621680187966 a6989586621680187967 :: TyFun (Proxy s) [Proxy s] -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
SuppressUnusedWarnings (TFHelper_6989586621680188210Sym1 a6989586621680188215 :: TyFun (a ~> Proxy b) (Proxy b) -> Type) | |
Defined in Data.Proxy.Singletons suppressUnusedWarnings :: () Source # | |
type MapM (a2 :: a1 ~> m b) (a3 :: Proxy a1) | |
type Traverse (a2 :: a1 ~> f b) (a3 :: Proxy a1) | |
type LiftA2 (arg :: a ~> (b ~> c)) (arg1 :: Proxy a) (arg2 :: Proxy b) | |
type AllB (c :: k -> Constraint) (Proxy :: (k -> Type) -> Type) | |
Defined in Barbies.Internal.ConstraintsB | |
type Fmap (a2 :: a1 ~> b) (a3 :: Proxy a1) | |
type FoldMap (a2 :: a1 ~> k2) (a3 :: Proxy a1) | |
type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Proxy a1) | |
type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Proxy a) | |
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Proxy a1) | |
type Foldr' (arg1 :: a ~> (b ~> b)) (arg2 :: b) (arg3 :: Proxy a) | |
type Rep1 (Proxy :: k -> Type) | Since: base-4.6.0.0 |
type Empty | |
Defined in Data.Proxy.Singletons | |
type Mzero | |
Defined in Data.Proxy.Singletons | |
type Pure (a :: k1) | |
type Return (arg :: a) | |
type Elem (a1 :: k1) (a2 :: Proxy k1) | |
type Foldl1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Proxy k2) | |
type Foldr1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Proxy k2) | |
type (arg :: a) <$ (arg1 :: Proxy b) | |
type (a2 :: Proxy a1) <|> (a3 :: Proxy a1) | |
type Mplus (arg :: Proxy a) (arg1 :: Proxy a) | |
type Apply (Pure_6989586621680188119Sym0 :: TyFun a (Proxy a) -> Type) (a6989586621680188125 :: a) | |
Defined in Data.Proxy.Singletons | |
type Apply (Elem_6989586621680209901Sym0 :: TyFun a (Proxy a ~> Bool) -> Type) (a6989586621680209906 :: a) | |
type Apply (ToEnum_6989586621680187946Sym0 :: TyFun Natural (Proxy s) -> Type) (a6989586621680187950 :: Natural) | |
type Apply (ShowsPrec_6989586621680187870Sym0 :: TyFun Natural (Proxy s ~> (Symbol ~> Symbol)) -> Type) (a6989586621680187878 :: Natural) | |
type Apply (Foldl_6989586621680209859Sym1 a6989586621680209865 :: TyFun b (Proxy a ~> b) -> Type) (a6989586621680209866 :: b) | |
type Apply (Foldr_6989586621680209846Sym1 a6989586621680209852 :: TyFun b (Proxy a ~> b) -> Type) (a6989586621680209853 :: b) | |
type Rep (Proxy :: Type -> Type) | |
type Fold (a :: Proxy k2) | |
type Length (a2 :: Proxy a1) | |
type Maximum (arg :: Proxy a) | |
type Minimum (arg :: Proxy a) | |
type Null (a2 :: Proxy a1) | |
type Product (a :: Proxy k2) | |
type Sum (a :: Proxy k2) | |
type ToList (arg :: Proxy a) | |
type Sequence (a2 :: Proxy (m a1)) | |
type SequenceA (a2 :: Proxy (f a1)) | |
type (arg :: Proxy a) *> (arg1 :: Proxy b) | |
type (arg :: Proxy a) <* (arg1 :: Proxy b) | |
type (a2 :: Proxy (a1 ~> b)) <*> (a3 :: Proxy a1) | |
type (arg :: Proxy a) >> (arg1 :: Proxy b) | |
type (a2 :: Proxy a1) >>= (a3 :: a1 ~> Proxy b) | |
type Apply (Sconcat_6989586621680187995Sym0 :: TyFun (NonEmpty (Proxy s)) (Proxy s) -> Type) (a6989586621680187999 :: NonEmpty (Proxy s)) | |
type Apply (Mconcat_6989586621680188004Sym0 :: TyFun [Proxy s] (Proxy s) -> Type) (a6989586621680188008 :: [Proxy s]) | |
type Rep (Proxy t) | Since: base-4.6.0.0 |
type Demote (Proxy t) | |
Defined in Data.Proxy.Singletons | |
type Sing | |
Defined in Data.Proxy.Singletons | |
type Mempty | |
Defined in Data.Proxy.Singletons | |
type MaxBound | |
Defined in Data.Proxy.Singletons | |
type MinBound | |
Defined in Data.Proxy.Singletons | |
type Mconcat (a :: [Proxy s]) | |
type Sconcat (a :: NonEmpty (Proxy s)) | |
type FromEnum (a :: Proxy s) | |
type Pred (a :: Proxy s) | |
type Succ (a :: Proxy s) | |
type ToEnum a | |
type Show_ (arg :: Proxy s) | |
type (arg :: Proxy s) /= (arg1 :: Proxy s) | |
type (a1 :: Proxy s) == (a2 :: Proxy s) | |
type Mappend (arg :: Proxy s) (arg1 :: Proxy s) | |
type (arg :: Proxy s) < (arg1 :: Proxy s) | |
type (arg :: Proxy s) <= (arg1 :: Proxy s) | |
type (arg :: Proxy s) > (arg1 :: Proxy s) | |
type (arg :: Proxy s) >= (arg1 :: Proxy s) | |
type Compare (a1 :: Proxy s) (a2 :: Proxy s) | |
type Max (arg :: Proxy s) (arg1 :: Proxy s) | |
type Min (arg :: Proxy s) (arg1 :: Proxy s) | |
type (a1 :: Proxy s) <> (a2 :: Proxy s) | |
type EnumFromTo (a1 :: Proxy s) (a2 :: Proxy s) | |
type ShowList (arg :: [Proxy s]) arg1 | |
type EnumFromThenTo (a1 :: Proxy s) (a2 :: Proxy s) (a3 :: Proxy s) | |
type ShowsPrec a1 (a2 :: Proxy s) a3 | |
type Apply (Product_6989586621680209915Sym0 :: TyFun (Proxy a) a -> Type) (a6989586621680209919 :: Proxy a) | |
type Apply (Sum_6989586621680209909Sym0 :: TyFun (Proxy a) a -> Type) (a6989586621680209913 :: Proxy a) | |
type Apply (Fold_6989586621680209838Sym0 :: TyFun (Proxy m) m -> Type) (a6989586621680209842 :: Proxy m) | |
type Apply (Elem_6989586621680209901Sym1 a6989586621680209906 :: TyFun (Proxy a) Bool -> Type) (a6989586621680209907 :: Proxy a) | |
type Apply (Foldl1_6989586621680209871Sym1 a6989586621680209876 :: TyFun (Proxy a) a -> Type) (a6989586621680209877 :: Proxy a) | |
type Apply (Foldr1_6989586621680209880Sym1 a6989586621680209885 :: TyFun (Proxy a) a -> Type) (a6989586621680209886 :: Proxy a) | |
type Apply (Length_6989586621680209888Sym0 :: TyFun (Proxy a) Natural -> Type) (a6989586621680209892 :: Proxy a) | |
type Apply (Null_6989586621680209894Sym0 :: TyFun (Proxy a) Bool -> Type) (a6989586621680209898 :: Proxy a) | |
type Apply (FromEnum_6989586621680187940Sym0 :: TyFun (Proxy s) Natural -> Type) (a6989586621680187944 :: Proxy s) | |
type Apply (FoldMap_6989586621680209830Sym1 a6989586621680209835 :: TyFun (Proxy a) m -> Type) (a6989586621680209836 :: Proxy a) | |
type Apply (Compare_6989586621680187827Sym1 a6989586621680187832 :: TyFun (Proxy s) Ordering -> Type) (a6989586621680187833 :: Proxy s) | |
type Apply (TFHelper_6989586621680187753Sym1 a6989586621680187758 :: TyFun (Proxy s) Bool -> Type) (a6989586621680187759 :: Proxy s) | |
type Apply (Foldl_6989586621680209859Sym2 a6989586621680209865 a6989586621680209866 :: TyFun (Proxy a) b -> Type) (a6989586621680209867 :: Proxy a) | |
type Apply (Foldr_6989586621680209846Sym2 a6989586621680209852 a6989586621680209853 :: TyFun (Proxy a) b -> Type) (a6989586621680209854 :: Proxy a) | |
type Apply (SequenceA_6989586621680497412Sym0 :: TyFun (Proxy (f a)) (f (Proxy a)) -> Type) (a6989586621680497416 :: Proxy (f a)) | |
type Apply (Sequence_6989586621680497427Sym0 :: TyFun (Proxy (m a)) (m (Proxy a)) -> Type) (a6989586621680497431 :: Proxy (m a)) | |
type Apply (EnumFromTo_6989586621680187971Sym1 a6989586621680187976 :: TyFun (Proxy s) [Proxy s] -> Type) (a6989586621680187977 :: Proxy s) | |
type Apply (Traverse_6989586621680497404Sym1 a6989586621680497409 :: TyFun (Proxy a) (f (Proxy b)) -> Type) (a6989586621680497410 :: Proxy a) | |
type Apply (MapM_6989586621680497419Sym1 a6989586621680497424 :: TyFun (Proxy a) (m (Proxy b)) -> Type) (a6989586621680497425 :: Proxy a) | |
type Apply (EnumFromThenTo_6989586621680187960Sym2 a6989586621680187966 a6989586621680187967 :: TyFun (Proxy s) [Proxy s] -> Type) (a6989586621680187968 :: Proxy s) | |
type Apply (Foldl1_6989586621680209871Sym0 :: TyFun (a ~> (a ~> a)) (Proxy a ~> a) -> Type) (a6989586621680209876 :: a ~> (a ~> a)) | |
type Apply (Foldr1_6989586621680209880Sym0 :: TyFun (a ~> (a ~> a)) (Proxy a ~> a) -> Type) (a6989586621680209885 :: a ~> (a ~> a)) | |
type Apply (TFHelper_6989586621680188140Sym0 :: TyFun (Proxy (a ~> b)) (Proxy a ~> Proxy b) -> Type) (a6989586621680188145 :: Proxy (a ~> b)) | |
type Apply (TFHelper_6989586621680188164Sym0 :: TyFun (Proxy a) (Proxy a ~> Proxy a) -> Type) (a6989586621680188169 :: Proxy a) | |
type Apply (Pred_6989586621680187934Sym0 :: TyFun (Proxy s) (Proxy s) -> Type) (a6989586621680187938 :: Proxy s) | |
type Apply (Succ_6989586621680187928Sym0 :: TyFun (Proxy s) (Proxy s) -> Type) (a6989586621680187932 :: Proxy s) | |
type Apply (TFHelper_6989586621680187987Sym0 :: TyFun (Proxy s) (Proxy s ~> Proxy s) -> Type) (a6989586621680187992 :: Proxy s) | |
type Apply (Compare_6989586621680187827Sym0 :: TyFun (Proxy s) (Proxy s ~> Ordering) -> Type) (a6989586621680187832 :: Proxy s) | |
type Apply (EnumFromThenTo_6989586621680187960Sym0 :: TyFun (Proxy s) (Proxy s ~> (Proxy s ~> [Proxy s])) -> Type) (a6989586621680187966 :: Proxy s) | |
type Apply (TFHelper_6989586621680187753Sym0 :: TyFun (Proxy s) (Proxy s ~> Bool) -> Type) (a6989586621680187758 :: Proxy s) | |
type Apply (EnumFromTo_6989586621680187971Sym0 :: TyFun (Proxy s) (Proxy s ~> [Proxy s]) -> Type) (a6989586621680187976 :: Proxy s) | |
type Apply (Foldr_6989586621680209846Sym0 :: TyFun (a ~> (b ~> b)) (b ~> (Proxy a ~> b)) -> Type) (a6989586621680209852 :: a ~> (b ~> b)) | |
type Apply (Fmap_6989586621680188051Sym0 :: TyFun (a ~> b) (Proxy a ~> Proxy b) -> Type) (a6989586621680188056 :: a ~> b) | |
type Apply (FoldMap_6989586621680209830Sym0 :: TyFun (a ~> m) (Proxy a ~> m) -> Type) (a6989586621680209835 :: a ~> m) | |
type Apply (Foldl_6989586621680209859Sym0 :: TyFun (b ~> (a ~> b)) (b ~> (Proxy a ~> b)) -> Type) (a6989586621680209865 :: b ~> (a ~> b)) | |
type Apply (Fmap_6989586621680188051Sym1 a6989586621680188056 :: TyFun (Proxy a) (Proxy b) -> Type) (a6989586621680188057 :: Proxy a) | |
type Apply (TFHelper_6989586621680188140Sym1 a6989586621680188145 :: TyFun (Proxy a) (Proxy b) -> Type) (a6989586621680188146 :: Proxy a) | |
type Apply (TFHelper_6989586621680188210Sym0 :: TyFun (Proxy a) ((a ~> Proxy b) ~> Proxy b) -> Type) (a6989586621680188215 :: Proxy a) | |
type Apply (TFHelper_6989586621680188164Sym1 a6989586621680188169 :: TyFun (Proxy a) (Proxy a) -> Type) (a6989586621680188170 :: Proxy a) | |
type Apply (TFHelper_6989586621680187987Sym1 a6989586621680187992 :: TyFun (Proxy s) (Proxy s) -> Type) (a6989586621680187993 :: Proxy s) | |
type Apply (EnumFromThenTo_6989586621680187960Sym1 a6989586621680187966 :: TyFun (Proxy s) (Proxy s ~> [Proxy s]) -> Type) (a6989586621680187967 :: Proxy s) | |
type Apply (ShowsPrec_6989586621680187870Sym1 a6989586621680187878 :: TyFun (Proxy s) (Symbol ~> Symbol) -> Type) (a6989586621680187879 :: Proxy s) | |
type Apply (Traverse_6989586621680497404Sym0 :: TyFun (a ~> f b) (Proxy a ~> f (Proxy b)) -> Type) (a6989586621680497409 :: a ~> f b) | |
type Apply (MapM_6989586621680497419Sym0 :: TyFun (a ~> m b) (Proxy a ~> m (Proxy b)) -> Type) (a6989586621680497424 :: a ~> m b) | |
type Apply (TFHelper_6989586621680188210Sym1 a6989586621680188215 :: TyFun (a ~> Proxy b) (Proxy b) -> Type) (a6989586621680188216 :: a ~> Proxy b) | |
type family If (cond :: Bool) (tru :: k) (fls :: k) :: k where ... Source #
Type-level If. If True a b
==> a
; If False a b
==> b
type family TypeError (a :: ErrorMessage) :: b where ... Source #
The type-level equivalent of error
.
The polymorphic kind of this type allows it to be used in several settings. For instance, it can be used as a constraint, e.g. to provide a better error message for a non-existent instance,
-- in a context
instance TypeError (Text "Cannot Show
functions." :$$:
Text "Perhaps there is a missing argument?")
=> Show (a -> b) where
showsPrec = error "unreachable"
It can also be placed on the right-hand side of a type-level function to provide an error for an invalid case,
type family ByteSize x where ByteSize Word16 = 2 ByteSize Word8 = 1 ByteSize a = TypeError (Text "The type " :<>: ShowType a :<>: Text " is not exportable.")
Since: base-4.9.0.0
type family (a :: Natural) + (b :: Natural) :: Natural where ... infixl 6 Source #
Addition of type-level naturals.
Since: base-4.7.0.0
type family (a :: Natural) * (b :: Natural) :: Natural where ... infixl 7 Source #
Multiplication of type-level naturals.
Since: base-4.7.0.0
type family CmpNat (a :: Natural) (b :: Natural) :: Ordering where ... Source #
Comparison of type-level naturals, as a function.
Since: base-4.7.0.0
data ErrorMessage Source #
A description of a custom type error.
Text Symbol | Show the text as is. |
ShowType t | Pretty print the type.
|
ErrorMessage :<>: ErrorMessage infixl 6 | Put two pieces of error message next to each other. |
ErrorMessage :$$: ErrorMessage infixl 5 | Stack two pieces of error message on top of each other. |
A type synonym for Natural
.
Prevously, this was an opaque data type, but it was changed to a type synonym.
Since: base-4.16.0.0
data SList (a1 :: [a]) where Source #
SNil :: forall a. SList ('[] :: [a]) | |
SCons :: forall a (n1 :: a) (n2 :: [a]). Sing n1 -> Sing n2 -> SList (n1 ': n2) infixr 5 |
Instances
(SDecide a, SDecide [a]) => TestCoercion (SList :: [a] -> Type) | |
Defined in Data.Singletons.Base.Instances | |
(SDecide a, SDecide [a]) => TestEquality (SList :: [a] -> Type) | |
Defined in Data.Singletons.Base.Instances | |
(ShowSing a, ShowSing [a]) => Show (SList z) | |
Instances
Functor IsChecked Source # | |
Generic (IsChecked a) Source # | |
Show a => Show (IsChecked a) Source # | |
Eq a => Eq (IsChecked a) Source # | |
Ord a => Ord (IsChecked a) Source # | |
Defined in Torch.GraduallyTyped.Prelude compare :: IsChecked a -> IsChecked a -> Ordering Source # (<) :: IsChecked a -> IsChecked a -> Bool Source # (<=) :: IsChecked a -> IsChecked a -> Bool Source # (>) :: IsChecked a -> IsChecked a -> Bool Source # (>=) :: IsChecked a -> IsChecked a -> Bool Source # | |
type Rep (IsChecked a) Source # | |
Defined in Torch.GraduallyTyped.Prelude type Rep (IsChecked a) = D1 ('MetaData "IsChecked" "Torch.GraduallyTyped.Prelude" "hasktorch-gradually-typed-0.2.0.0-1KV1aIPzzbp6JpSr37tC1K" 'False) (C1 ('MetaCons "Checked" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Unchecked" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) |
forgetIsChecked :: IsChecked a -> a Source #
type family All (c :: k -> Constraint) (xs :: [k]) :: Constraint where ... Source #
type family Assert err a where ... Source #
Can be used to report stuck type families,
see https://kcsongor.github.io/report-stuck-families/.
This family is able to check whether its argument a
is stuck and
report an error err
in that case.
type family Catch a where ... Source #
Approximates a normal form on the type level.
Catch
forces its argument a
and returns an empty Constraint
if and only if the argument does not produce a TypeError
.
The first equation will recursively force the kind of the argument
until it reaches Type
or a TypeError
.
In the former case, it falls over to the second equation which will produce the
empty constraint.
In the latter case, it gets stuck with 'Catch (TypeError ...)',
and the compiler will report the error message.
Thanks to https://kcsongor.github.io/kcsongor for the suggestion.
type family Fst (t :: (k, k')) :: k where ... Source #
Returns the first element of a type-level tuple with the kind (k, k')
marked by a prefix quote.
>>>
:kind! Fst '(Int, String)
Fst '(Int, String) :: * = Int>>>
:kind! Fst '(Functor, String)
Fst '(Functor, String) :: (* -> *) -> Constraint = Functor
Fst '(x, _) = x |
type family Snd (t :: (k, k')) :: k' where ... Source #
Returns the second element of a type-level tuple with the kind (k, k')
marked by a prefix quote.
>>>
:kind! Snd '(Int, String)
Snd '(Int, String) :: * = [Char]>>>
:kind! Snd '(Int, Monad)
Snd '(Int, Monad) :: (* -> *) -> Constraint = Monad
Snd '(_, y) = y |
type family Elem (e :: t) (es :: [t]) :: Bool where ... Source #
Check that a given type is an element of a type-level list:
>>>
:kind! Elem String '[]
Elem String '[] :: Bool = 'False>>>
:kind! Elem String '[Int, String]
Elem String '[Int, String] :: Bool = 'True>>>
:kind! Elem String '[Int, Bool]
Elem String '[Int, Bool] :: Bool = 'False
type family Contains (f :: k) (a :: k') :: Bool where ... Source #
Test whether or not a given type contains another:
>>>
:kind! Contains (Either Int String) Int
Contains (Either Int String) Int :: Bool = 'True>>>
:kind! Contains (Either Int String) Bool
Contains (Either Int String) Bool :: Bool = 'False>>>
:kind! Contains (Either Int String) Either
Contains (Either Int String) Either :: Bool = 'True
type family Extract (f :: k) (a :: k') :: [k'] where ... Source #
Extract all occurrences of a given type from another:
>>>
:kind! Extract (Either Int String) Int
Extract (Either Int String) Int :: [*] = '[Int]>>>
:kind! Extract (Either Int String) Bool
Extract (Either Int String) Bool :: [*] = '[]>>>
:kind! Extract (Either Int String) Either
Extract (Either Int String) Either :: [* -> * -> *] = '[Either]
type family PrependMaybe (h :: Maybe a) (t :: Maybe [a]) :: Maybe [a] where ... Source #
PrependMaybe 'Nothing _ = 'Nothing | |
PrependMaybe _ 'Nothing = 'Nothing | |
PrependMaybe ('Just h) ('Just t) = 'Just (h ': t) |
type family LiftM2Maybe (f :: k -> k' -> k'') (a :: Maybe k) (b :: Maybe k') :: Maybe k'' where ... Source #
LiftM2Maybe _ 'Nothing _ = 'Nothing | |
LiftM2Maybe _ ('Just _) 'Nothing = 'Nothing | |
LiftM2Maybe f ('Just a) ('Just b) = 'Just (f a b) |
type family LiftTimesMaybe (a :: Maybe Nat) (b :: Maybe Nat) :: Maybe Nat where ... Source #
LiftTimesMaybe 'Nothing _ = 'Nothing | |
LiftTimesMaybe ('Just _) 'Nothing = 'Nothing | |
LiftTimesMaybe ('Just a) ('Just b) = 'Just (a * b) |
type family LiftTypeEqMaybe (a :: Maybe k) (b :: Maybe k') :: Constraint where ... Source #
LiftTypeEqMaybe 'Nothing _ = () | |
LiftTypeEqMaybe ('Just _) 'Nothing = () | |
LiftTypeEqMaybe ('Just a) ('Just b) = a ~ b |
type family When (cond :: Bool) (constraint :: Constraint) :: Constraint where ... Source #