Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype LocScope l n f a = LocScope {
- unLocScope :: ScopeW (Located l) n f (LocScope l n f) a
- pattern LocScopeBound :: l -> Int -> LocScope l n f a
- pattern LocScopeFree :: l -> a -> LocScope l n f a
- pattern LocScopeBinder :: l -> Int -> n -> LocScope l n f a -> LocScope l n f a
- pattern LocScopeEmbed :: l -> f (LocScope l n f a) -> LocScope l n f a
- locScopeLocation :: LocScope l n f a -> l
- locScopeForget :: Functor f => LocScope l n f a -> Scope n f a
Documentation
newtype LocScope l n f a Source #
A Scope
annotated with some information between constructors.
See Blank
for usage, and see the patterns in this module for easy manipulation
and inspection.
LocScope | |
|
Instances
(Monoid l, Functor f) => MonadWriter l (LocScope l n f) Source # | |
(Monoid l, Functor f) => Monad (LocScope l n f) Source # | |
Functor f => Functor (LocScope l n f) Source # | |
(Monoid l, Functor f) => Applicative (LocScope l n f) Source # | |
Defined in Blanks.LocScope pure :: a -> LocScope l n f a # (<*>) :: LocScope l n f (a -> b) -> LocScope l n f a -> LocScope l n f b # liftA2 :: (a -> b -> c) -> LocScope l n f a -> LocScope l n f b -> LocScope l n f c # (*>) :: LocScope l n f a -> LocScope l n f b -> LocScope l n f b # (<*) :: LocScope l n f a -> LocScope l n f b -> LocScope l n f a # | |
Foldable f => Foldable (LocScope l n f) Source # | |
Defined in Blanks.LocScope fold :: Monoid m => LocScope l n f m -> m # foldMap :: Monoid m => (a -> m) -> LocScope l n f a -> m # foldr :: (a -> b -> b) -> b -> LocScope l n f a -> b # foldr' :: (a -> b -> b) -> b -> LocScope l n f a -> b # foldl :: (b -> a -> b) -> b -> LocScope l n f a -> b # foldl' :: (b -> a -> b) -> b -> LocScope l n f a -> b # foldr1 :: (a -> a -> a) -> LocScope l n f a -> a # foldl1 :: (a -> a -> a) -> LocScope l n f a -> a # toList :: LocScope l n f a -> [a] # null :: LocScope l n f a -> Bool # length :: LocScope l n f a -> Int # elem :: Eq a => a -> LocScope l n f a -> Bool # maximum :: Ord a => LocScope l n f a -> a # minimum :: Ord a => LocScope l n f a -> a # | |
Traversable f => Traversable (LocScope l n f) Source # | |
Defined in Blanks.LocScope traverse :: Applicative f0 => (a -> f0 b) -> LocScope l n f a -> f0 (LocScope l n f b) # sequenceA :: Applicative f0 => LocScope l n f (f0 a) -> f0 (LocScope l n f a) # mapM :: Monad m => (a -> m b) -> LocScope l n f a -> m (LocScope l n f b) # sequence :: Monad m => LocScope l n f (m a) -> m (LocScope l n f a) # | |
Functor f => Blank (LocScope l n f) Source # | |
Defined in Blanks.LocScope | |
(Eq (f (LocScope l n f a)), Eq l, Eq n, Eq a) => Eq (LocScope l n f a) Source # | |
(Show (f (LocScope l n f a)), Show l, Show n, Show a) => Show (LocScope l n f a) Source # | |
(NFData l, NFData n, NFData a, NFData (f (LocScope l n f a))) => NFData (LocScope l n f a) Source # | |
Defined in Blanks.LocScope | |
NatNewtype (ScopeW (Located l) n f (LocScope l n f)) (LocScope l n f) Source # | |
Defined in Blanks.LocScope | |
type BlankFunctor (LocScope l n f) Source # | |
Defined in Blanks.LocScope | |
type BlankInfo (LocScope l n f) Source # | |
Defined in Blanks.LocScope | |
type BlankRight (LocScope l n f) Source # | |
Defined in Blanks.LocScope | |
type BlankLeft (LocScope l n f) Source # | |
Defined in Blanks.LocScope |
pattern LocScopeBound :: l -> Int -> LocScope l n f a Source #
pattern LocScopeFree :: l -> a -> LocScope l n f a Source #
pattern LocScopeEmbed :: l -> f (LocScope l n f a) -> LocScope l n f a Source #
locScopeLocation :: LocScope l n f a -> l Source #
Extract the location (annotation) from this scope.