Copyright | (c) 2023-2024 Yamada Ryo (c) 2023 Casper Bach Poulsen and Cas van der Rest |
---|---|
License | MPL-2.0 (see the file LICENSE) |
Maintainer | ymdfield@outlook.jp |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | GHC2021 |
Data.Effect
Description
Documentation
type SigClass = (Type -> Type) -> Type -> Type Source #
A kind of signature class (a datatype of higher-order effect).
type InsClass = Type -> Type Source #
A kind of instruction class (a datatype of first-order effect).
newtype LiftIns (ins :: InsClass) (f :: Type -> Type) a Source #
Lift an instruction class to a signature class.
Come from heft-lang/POPL2023/haskell/src/Elab.hs.
Instances
HFunctor (LiftIns ins) Source # | |
SendIns ins f => SendSig (LiftIns ins) f Source # | |
Defined in Control.Effect | |
Foldable ins => Foldable (LiftIns ins f) Source # | |
Defined in Data.Effect Methods fold :: Monoid m => LiftIns ins f m -> m # foldMap :: Monoid m => (a -> m) -> LiftIns ins f a -> m # foldMap' :: Monoid m => (a -> m) -> LiftIns ins f a -> m # foldr :: (a -> b -> b) -> b -> LiftIns ins f a -> b # foldr' :: (a -> b -> b) -> b -> LiftIns ins f a -> b # foldl :: (b -> a -> b) -> b -> LiftIns ins f a -> b # foldl' :: (b -> a -> b) -> b -> LiftIns ins f a -> b # foldr1 :: (a -> a -> a) -> LiftIns ins f a -> a # foldl1 :: (a -> a -> a) -> LiftIns ins f a -> a # toList :: LiftIns ins f a -> [a] # null :: LiftIns ins f a -> Bool # length :: LiftIns ins f a -> Int # elem :: Eq a => a -> LiftIns ins f a -> Bool # maximum :: Ord a => LiftIns ins f a -> a # minimum :: Ord a => LiftIns ins f a -> a # | |
Traversable ins => Traversable (LiftIns ins f) Source # | |
Defined in Data.Effect Methods traverse :: Applicative f0 => (a -> f0 b) -> LiftIns ins f a -> f0 (LiftIns ins f b) # sequenceA :: Applicative f0 => LiftIns ins f (f0 a) -> f0 (LiftIns ins f a) # mapM :: Monad m => (a -> m b) -> LiftIns ins f a -> m (LiftIns ins f b) # sequence :: Monad m => LiftIns ins f (m a) -> m (LiftIns ins f a) # | |
Functor ins => Functor (LiftIns ins f) Source # | |