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.