| Stability | experimental |
|---|---|
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Apecs.Experimental.Stores
Description
This module is experimental, and its API might change between point releases. Use at your own risk.
Documentation
Overrides a store to have history/pushdown semantics.
Setting this store adds a new value on top of the stack.
Destroying pops the stack.
You can view the entire stack using the Stack wrapper.
Instances
| (Monad m, ExplGet m (s (Stack c)), ExplSet m (s (Stack c)), ExplDestroy m (s (Stack c)), Elem (s (Stack c)) ~ Stack c) => ExplDestroy m (Pushdown s c) Source # | |
Defined in Apecs.Experimental.Stores Methods explDestroy :: Pushdown s c -> Int -> m () Source # | |
| (Monad m, ExplGet m (s (Stack c)), Elem (s (Stack c)) ~ Stack c) => ExplGet m (Pushdown s c) Source # | |
| (Functor m, ExplInit m (s (Stack c))) => ExplInit m (Pushdown s c) Source # | |
Defined in Apecs.Experimental.Stores | |
| (Monad m, ExplMembers m (s (Stack c)), Elem (s (Stack c)) ~ Stack c) => ExplMembers m (Pushdown s c) Source # | |
Defined in Apecs.Experimental.Stores | |
| (Monad m, ExplGet m (s (Stack c)), ExplSet m (s (Stack c)), Elem (s (Stack c)) ~ Stack c) => ExplSet m (Pushdown s c) Source # | |
| type Elem (Pushdown s c) Source # | |
Defined in Apecs.Experimental.Stores | |
Instances
| Foldable Stack Source # | |
Defined in Apecs.Experimental.Stores Methods fold :: Monoid m => Stack m -> m # foldMap :: Monoid m => (a -> m) -> Stack a -> m # foldMap' :: Monoid m => (a -> m) -> Stack a -> m # foldr :: (a -> b -> b) -> b -> Stack a -> b # foldr' :: (a -> b -> b) -> b -> Stack a -> b # foldl :: (b -> a -> b) -> b -> Stack a -> b # foldl' :: (b -> a -> b) -> b -> Stack a -> b # foldr1 :: (a -> a -> a) -> Stack a -> a # foldl1 :: (a -> a -> a) -> Stack a -> a # elem :: Eq a => a -> Stack a -> Bool # maximum :: Ord a => Stack a -> a # minimum :: Ord a => Stack a -> a # | |
| Applicative Stack Source # | |
| Functor Stack Source # | |
| Monad Stack Source # | |
| (Storage c ~ Pushdown s c, Has w m c) => Has w m (Stack c) Source # | |
| (Storage c ~ Pushdown s c, Component c) => Component (Stack c) Source # | |
Defined in Apecs.Experimental.Stores | |
| Monoid (Stack c) Source # | |
| Semigroup (Stack c) Source # | |
| Show c => Show (Stack c) Source # | |
| Eq c => Eq (Stack c) Source # | |
| type Storage (Stack c) Source # | |
Defined in Apecs.Experimental.Stores | |