Copyright | (c) 2023-2024 Sayo Koyoneda |
---|---|
License | MPL-2.0 (see the file LICENSE) |
Maintainer | [email protected] |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | GHC2021 |
Data.Effect.Key
Description
Synopsis
- newtype Key (key :: k) (ins :: EffectF) a = Key {
- unKey :: ins a
- type (#>) = Key :: k -> EffectF -> Type -> Type
- pattern K :: forall {k} key ins a. ins a -> Key key ins a
- newtype KeyH (key :: k) (sig :: EffectH) (f :: Type -> Type) a = KeyH {
- unKeyH :: sig f a
- type (##>) = KeyH :: k -> EffectH -> (Type -> Type) -> Type -> Type
- pattern KH :: forall {k} key sig f a. sig f a -> KeyH key sig f a
Documentation
newtype Key (key :: k) (ins :: EffectF) a Source #
Keyed first-order effect.
Instances
Foldable ins => Foldable (Key key ins) Source # | |
Defined in Data.Effect.Key Methods fold :: Monoid m => Key key ins m -> m # foldMap :: Monoid m => (a -> m) -> Key key ins a -> m # foldMap' :: Monoid m => (a -> m) -> Key key ins a -> m # foldr :: (a -> b -> b) -> b -> Key key ins a -> b # foldr' :: (a -> b -> b) -> b -> Key key ins a -> b # foldl :: (b -> a -> b) -> b -> Key key ins a -> b # foldl' :: (b -> a -> b) -> b -> Key key ins a -> b # foldr1 :: (a -> a -> a) -> Key key ins a -> a # foldl1 :: (a -> a -> a) -> Key key ins a -> a # toList :: Key key ins a -> [a] # null :: Key key ins a -> Bool # length :: Key key ins a -> Int # elem :: Eq a => a -> Key key ins a -> Bool # maximum :: Ord a => Key key ins a -> a # minimum :: Ord a => Key key ins a -> a # | |
Traversable ins => Traversable (Key key ins) Source # | |
Defined in Data.Effect.Key | |
Functor ins => Functor (Key key ins) Source # | |
newtype KeyH (key :: k) (sig :: EffectH) (f :: Type -> Type) a Source #
Keyed higher-order effect.
Instances
HFunctor sig => HFunctor (KeyH key sig) Source # | |
Foldable (sig f) => Foldable (KeyH key sig f) Source # | |
Defined in Data.Effect.Key Methods fold :: Monoid m => KeyH key sig f m -> m # foldMap :: Monoid m => (a -> m) -> KeyH key sig f a -> m # foldMap' :: Monoid m => (a -> m) -> KeyH key sig f a -> m # foldr :: (a -> b -> b) -> b -> KeyH key sig f a -> b # foldr' :: (a -> b -> b) -> b -> KeyH key sig f a -> b # foldl :: (b -> a -> b) -> b -> KeyH key sig f a -> b # foldl' :: (b -> a -> b) -> b -> KeyH key sig f a -> b # foldr1 :: (a -> a -> a) -> KeyH key sig f a -> a # foldl1 :: (a -> a -> a) -> KeyH key sig f a -> a # toList :: KeyH key sig f a -> [a] # null :: KeyH key sig f a -> Bool # length :: KeyH key sig f a -> Int # elem :: Eq a => a -> KeyH key sig f a -> Bool # maximum :: Ord a => KeyH key sig f a -> a # minimum :: Ord a => KeyH key sig f a -> a # | |
Traversable (sig f) => Traversable (KeyH key sig f) Source # | |
Defined in Data.Effect.Key Methods traverse :: Applicative f0 => (a -> f0 b) -> KeyH key sig f a -> f0 (KeyH key sig f b) # sequenceA :: Applicative f0 => KeyH key sig f (f0 a) -> f0 (KeyH key sig f a) # mapM :: Monad m => (a -> m b) -> KeyH key sig f a -> m (KeyH key sig f b) # sequence :: Monad m => KeyH key sig f (m a) -> m (KeyH key sig f a) # | |
Functor (sig f) => Functor (KeyH key sig f) Source # | |