Stability | experimtal |
---|---|
Safe Haskell | None |
Language | Haskell2010 |
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, 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)), ExplDestroy m (s (Stack c)), Elem (s (Stack c)) ~ Stack c) => ExplDestroy m (Pushdown s c) Source # | |
Defined in Apecs.Experimental.Stores explDestroy :: Pushdown s c -> Int -> m () Source # | |
(Monad m, ExplGet m (s (Stack c)), ExplSet m (s (Stack c)), Elem (s (Stack c)) ~ Stack c) => ExplSet m (Pushdown s c) 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 | |
type Elem (Pushdown s c) Source # | |
Defined in Apecs.Experimental.Stores |
Instances
Monad Stack Source # | |
Functor Stack Source # | |
Applicative Stack Source # | |
Foldable Stack Source # | |
Defined in Apecs.Experimental.Stores fold :: Monoid m => Stack m -> 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 # | |
(Storage c ~ Pushdown s c, Has w m c) => Has w m (Stack c) Source # | |
Eq c => Eq (Stack c) Source # | |
Show c => Show (Stack c) Source # | |
Semigroup (Stack c) Source # | |
Monoid (Stack c) Source # | |
(Storage c ~ Pushdown s c, Component c) => Component (Stack c) Source # | |
type Storage (Stack c) Source # | |
Defined in Apecs.Experimental.Stores |