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
- locScopeFree :: Functor f => a -> Colocated l (LocScope l n f a)
- locScopeEmbed :: Functor f => f (LocScope l n f a) -> Colocated l (LocScope l n f a)
- locScopeFromInnerBinder :: Functor f => BinderScope n (LocScope l n f a) -> Colocated l (LocScope l n f a)
- locScopeBind :: Functor f => (a -> Colocated l (LocScope l n f b)) -> LocScope l n f a -> LocScope l n f b
- locScopeBindOpt :: Functor f => (a -> Maybe (Colocated l (LocScope l n f a))) -> LocScope l n f a -> LocScope l n f a
- locScopeLift :: Traversable f => f a -> Colocated l (LocScope l n f a)
- locScopeInnerBinder :: (Functor f, Eq a) => n -> Seq a -> LocScope l n f a -> BinderScope n (LocScope l n f a)
- locScopeInnerBinder1 :: (Functor f, Eq a) => n -> a -> LocScope l n f a -> BinderScope n (LocScope l n f a)
- locScopeAbstract :: (Functor f, Eq a) => n -> Seq a -> LocScope l n f a -> Colocated l (LocScope l n f a)
- locScopeAbstract1 :: (Functor f, Eq a) => n -> a -> LocScope l n f a -> Colocated l (LocScope l n f a)
- locScopeUnAbstract :: Functor f => Seq a -> LocScope l n f a -> LocScope l n f a
- locScopeUnAbstract1 :: Functor f => a -> LocScope l n f a -> LocScope l n f a
- locScopeInstantiate :: Functor f => Seq (Colocated l (LocScope l n f a)) -> LocScope l n f a -> LocScope l n f a
- locScopeInstantiate1 :: Functor f => Colocated l (LocScope l n f a) -> LocScope l n f a -> LocScope l n f a
- locScopeApply :: Functor f => Seq (Colocated l (LocScope l n f a)) -> LocScope l n f a -> Either SubError (LocScope l n f a)
- locScopeApply1 :: Functor f => Colocated l (LocScope l n f a) -> LocScope l n f a -> Either SubError (LocScope l n f a)
- locScopeLiftAnno :: Located l a -> LocScope l n f a
- locScopeHoistAnno :: Functor f => (l -> x) -> LocScope l n f a -> LocScope x n f a
- locScopeMapAnno :: Functor f => (Located l a -> Located l b) -> LocScope l n f a -> LocScope l n f b
Documentation
newtype LocScope l n f a Source #
A Scope
annotated with some information between constructors.
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 # 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) # | |
(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 |
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.
locScopeFromInnerBinder :: Functor f => BinderScope n (LocScope l n f a) -> Colocated l (LocScope l n f a) Source #
locScopeBind :: Functor f => (a -> Colocated l (LocScope l n f b)) -> LocScope l n f a -> LocScope l n f b Source #
locScopeBindOpt :: Functor f => (a -> Maybe (Colocated l (LocScope l n f a))) -> LocScope l n f a -> LocScope l n f a Source #
locScopeLift :: Traversable f => f a -> Colocated l (LocScope l n f a) Source #
locScopeInnerBinder :: (Functor f, Eq a) => n -> Seq a -> LocScope l n f a -> BinderScope n (LocScope l n f a) Source #
locScopeInnerBinder1 :: (Functor f, Eq a) => n -> a -> LocScope l n f a -> BinderScope n (LocScope l n f a) Source #
locScopeAbstract :: (Functor f, Eq a) => n -> Seq a -> LocScope l n f a -> Colocated l (LocScope l n f a) Source #
locScopeAbstract1 :: (Functor f, Eq a) => n -> a -> LocScope l n f a -> Colocated l (LocScope l n f a) Source #
locScopeInstantiate :: Functor f => Seq (Colocated l (LocScope l n f a)) -> LocScope l n f a -> LocScope l n f a Source #
locScopeInstantiate1 :: Functor f => Colocated l (LocScope l n f a) -> LocScope l n f a -> LocScope l n f a Source #
locScopeApply :: Functor f => Seq (Colocated l (LocScope l n f a)) -> LocScope l n f a -> Either SubError (LocScope l n f a) Source #
locScopeApply1 :: Functor f => Colocated l (LocScope l n f a) -> LocScope l n f a -> Either SubError (LocScope l n f a) Source #
locScopeLiftAnno :: Located l a -> LocScope l n f a Source #