| Copyright | (c) Donnacha Oisín Kidney 2021 |
|---|---|
| Maintainer | mail@doisinkidney.com |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Control.Comonad.Heap
Description
The Heap comonad: a comonad for efficient weighted search.
This module provides the Heap *comonad*.
Documentation
Instances
| Arbitrary2 Heap Source # | |
Defined in Control.Comonad.Heap Methods liftArbitrary2 :: Gen a -> Gen b -> Gen (Heap a b) # liftShrink2 :: (a -> [a]) -> (b -> [b]) -> Heap a b -> [Heap a b] # | |
| Bitraversable Heap Source # | |
Defined in Control.Comonad.Heap Methods bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Heap a b -> f (Heap c d) # | |
| Bifoldable Heap Source # | |
| Bifunctor Heap Source # | |
| Eq2 Heap Source # | |
| Ord2 Heap Source # | |
Defined in Control.Comonad.Heap | |
| Read2 Heap Source # | |
Defined in Control.Comonad.Heap Methods liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Heap a b) # liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Heap a b] # liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Heap a b) # liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Heap a b] # | |
| Show2 Heap Source # | |
| NFData2 Heap Source # | |
Defined in Control.Comonad.Heap | |
| ComonadCofree [] (Heap w) Source # | |
Defined in Control.Comonad.Heap | |
| Monoid w => Monad (Heap w) Source # | |
| Functor (Heap w) Source # | |
| Monoid w => Applicative (Heap w) Source # | |
| Foldable (Heap w) Source # | |
Defined in Control.Comonad.Heap Methods fold :: Monoid m => Heap w m -> m # foldMap :: Monoid m => (a -> m) -> Heap w a -> m # foldMap' :: Monoid m => (a -> m) -> Heap w a -> m # foldr :: (a -> b -> b) -> b -> Heap w a -> b # foldr' :: (a -> b -> b) -> b -> Heap w a -> b # foldl :: (b -> a -> b) -> b -> Heap w a -> b # foldl' :: (b -> a -> b) -> b -> Heap w a -> b # foldr1 :: (a -> a -> a) -> Heap w a -> a # foldl1 :: (a -> a -> a) -> Heap w a -> a # elem :: Eq a => a -> Heap w a -> Bool # maximum :: Ord a => Heap w a -> a # minimum :: Ord a => Heap w a -> a # | |
| Traversable (Heap w) Source # | |
| Arbitrary w => Arbitrary1 (Heap w) Source # | |
Defined in Control.Comonad.Heap Methods liftArbitrary :: Gen a -> Gen (Heap w a) # liftShrink :: (a -> [a]) -> Heap w a -> [Heap w a] # | |
| Eq w => Eq1 (Heap w) Source # | |
| Ord w => Ord1 (Heap w) Source # | |
Defined in Control.Comonad.Heap | |
| Read w => Read1 (Heap w) Source # | |
Defined in Control.Comonad.Heap | |
| Show w => Show1 (Heap w) Source # | |
| Comonad (Heap w) Source # | |
| NFData w => NFData1 (Heap w) Source # | |
Defined in Control.Comonad.Heap | |
| Generic1 (Heap w :: Type -> Type) Source # | |
| (Eq w, Eq a) => Eq (Heap w a) Source # | |
| (Data w, Data a) => Data (Heap w a) Source # | |
Defined in Control.Comonad.Heap Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Heap w a -> c (Heap w a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Heap w a) # toConstr :: Heap w a -> Constr # dataTypeOf :: Heap w a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Heap w a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Heap w a)) # gmapT :: (forall b. Data b => b -> b) -> Heap w a -> Heap w a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Heap w a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Heap w a -> r # gmapQ :: (forall d. Data d => d -> u) -> Heap w a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Heap w a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Heap w a -> m (Heap w a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Heap w a -> m (Heap w a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Heap w a -> m (Heap w a) # | |
| (Ord w, Ord a) => Ord (Heap w a) Source # | |
Defined in Control.Comonad.Heap | |
| (Read w, Read a) => Read (Heap w a) Source # | |
| (Show w, Show a) => Show (Heap w a) Source # | |
| Generic (Heap w a) Source # | |
| (Arbitrary w, Arbitrary a) => Arbitrary (Heap w a) Source # | |
| (NFData w, NFData a) => NFData (Heap w a) Source # | |
Defined in Control.Comonad.Heap | |
| type Rep1 (Heap w :: Type -> Type) Source # | |
Defined in Control.Comonad.Heap type Rep1 (Heap w :: Type -> Type) = D1 ('MetaData "Heap" "Control.Comonad.Heap" "monus-weighted-search-0.2.0.0-inplace" 'False) (C1 ('MetaCons "Root" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 w) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ([] :.: Rec1 (Heap w))))) | |
| type Rep (Heap w a) Source # | |
Defined in Control.Comonad.Heap type Rep (Heap w a) = D1 ('MetaData "Heap" "Control.Comonad.Heap" "monus-weighted-search-0.2.0.0-inplace" 'False) (C1 ('MetaCons "Root" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 w) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Heap w a])))) | |