Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
A simple wrapper for your expression functor that knows how to name-bind.
See Blank
for usage, and see the patterns in this module for easy manipulation
and inspection.
Instances
Functor f => Monad (Scope n f) Source # | |
Functor f => Functor (Scope n f) Source # | |
Functor f => Applicative (Scope n f) Source # | |
Foldable f => Foldable (Scope n f) Source # | |
Defined in Blanks.Scope fold :: Monoid m => Scope n f m -> m # foldMap :: Monoid m => (a -> m) -> Scope n f a -> m # foldr :: (a -> b -> b) -> b -> Scope n f a -> b # foldr' :: (a -> b -> b) -> b -> Scope n f a -> b # foldl :: (b -> a -> b) -> b -> Scope n f a -> b # foldl' :: (b -> a -> b) -> b -> Scope n f a -> b # foldr1 :: (a -> a -> a) -> Scope n f a -> a # foldl1 :: (a -> a -> a) -> Scope n f a -> a # toList :: Scope n f a -> [a] # length :: Scope n f a -> Int # elem :: Eq a => a -> Scope n f a -> Bool # maximum :: Ord a => Scope n f a -> a # minimum :: Ord a => Scope n f a -> a # | |
Traversable f => Traversable (Scope n f) Source # | |
Functor f => Blank (Scope n f) Source # | |
Defined in Blanks.Scope | |
(Eq (f (Scope n f a)), Eq n, Eq a) => Eq (Scope n f a) Source # | |
(Show (f (Scope n f a)), Show n, Show a) => Show (Scope n f a) Source # | |
(NFData n, NFData a, NFData (f (Scope n f a))) => NFData (Scope n f a) Source # | |
Defined in Blanks.Scope | |
NatNewtype (ScopeW Identity n f (Scope n f)) (Scope n f) Source # | |
Defined in Blanks.Scope | |
type BlankFunctor (Scope n f) Source # | |
Defined in Blanks.Scope | |
type BlankInfo (Scope n f) Source # | |
Defined in Blanks.Scope | |
type BlankRight (Scope n f) Source # | |
Defined in Blanks.Scope | |
type BlankLeft (Scope n f) Source # | |
Defined in Blanks.Scope |
pattern ScopeBound :: Int -> Scope n f a Source #
pattern ScopeEmbed :: f (Scope n f a) -> Scope n f a Source #