Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Language.Haskell.Names.Annotated
Synopsis
- data Scoped l = Scoped (NameInfo l) l
- data NameInfo l
- = GlobalSymbol Symbol (QName ())
- | LocalValue SrcLoc
- | TypeVar SrcLoc
- | ValueBinder
- | TypeBinder
- | Import (Map (QName ()) [Symbol])
- | ImportPart [Symbol]
- | Export [Symbol]
- | RecPatWildcard [Symbol]
- | RecExpWildcard [(Symbol, NameInfo l)]
- | None
- | ScopeError (Error l)
- annotateDecl :: forall a l. (Resolvable (a (Scoped l)), Functor a, Typeable l) => Scope -> a l -> a (Scoped l)
Documentation
A pair of the name information and original annotation. Used as an annotation type for AST.
Instances
Foldable Scoped Source # | |
Defined in Language.Haskell.Names.Types Methods fold :: Monoid m => Scoped m -> m # foldMap :: Monoid m => (a -> m) -> Scoped a -> m # foldMap' :: Monoid m => (a -> m) -> Scoped a -> m # foldr :: (a -> b -> b) -> b -> Scoped a -> b # foldr' :: (a -> b -> b) -> b -> Scoped a -> b # foldl :: (b -> a -> b) -> b -> Scoped a -> b # foldl' :: (b -> a -> b) -> b -> Scoped a -> b # foldr1 :: (a -> a -> a) -> Scoped a -> a # foldl1 :: (a -> a -> a) -> Scoped a -> a # elem :: Eq a => a -> Scoped a -> Bool # maximum :: Ord a => Scoped a -> a # minimum :: Ord a => Scoped a -> a # | |
Traversable Scoped Source # | |
Functor Scoped Source # | |
Data l => Data (Scoped l) Source # | |
Defined in Language.Haskell.Names.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Scoped l -> c (Scoped l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Scoped l) # toConstr :: Scoped l -> Constr # dataTypeOf :: Scoped l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Scoped l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Scoped l)) # gmapT :: (forall b. Data b => b -> b) -> Scoped l -> Scoped l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Scoped l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Scoped l -> r # gmapQ :: (forall d. Data d => d -> u) -> Scoped l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Scoped l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Scoped l -> m (Scoped l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Scoped l -> m (Scoped l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Scoped l -> m (Scoped l) # | |
Show l => Show (Scoped l) Source # | |
Eq l => Eq (Scoped l) Source # | |
Ord l => Ord (Scoped l) Source # | |
Defined in Language.Haskell.Names.Types | |
Typeable a => Resolvable (Scoped a) Source # | |
Defined in Language.Haskell.Names.Open.Instances | |
SrcInfo l => SrcInfo (Scoped l) Source # | |
Information about the names used in an AST.
Constructors
GlobalSymbol Symbol (QName ()) | global entitiy and the way it is referenced |
LocalValue SrcLoc | local value, and location where it is bound |
TypeVar SrcLoc | type variable, and location where it is bound |
ValueBinder | here the value name is bound |
TypeBinder | here the type name is defined |
Import (Map (QName ()) [Symbol]) |
|
ImportPart [Symbol] | part of an |
Export [Symbol] | part of an |
RecPatWildcard [Symbol] | wildcard in a record pattern. The list contains resolved names of the fields that are brought in scope by this pattern. |
RecExpWildcard [(Symbol, NameInfo l)] | wildcard in a record construction expression. The list contains resolved names of the fields and information about values assigned to those fields. |
None | no annotation |
ScopeError (Error l) | scope error |
Instances
Foldable NameInfo Source # | |
Defined in Language.Haskell.Names.Types Methods fold :: Monoid m => NameInfo m -> m # foldMap :: Monoid m => (a -> m) -> NameInfo a -> m # foldMap' :: Monoid m => (a -> m) -> NameInfo a -> m # foldr :: (a -> b -> b) -> b -> NameInfo a -> b # foldr' :: (a -> b -> b) -> b -> NameInfo a -> b # foldl :: (b -> a -> b) -> b -> NameInfo a -> b # foldl' :: (b -> a -> b) -> b -> NameInfo a -> b # foldr1 :: (a -> a -> a) -> NameInfo a -> a # foldl1 :: (a -> a -> a) -> NameInfo a -> a # elem :: Eq a => a -> NameInfo a -> Bool # maximum :: Ord a => NameInfo a -> a # minimum :: Ord a => NameInfo a -> a # | |
Traversable NameInfo Source # | |
Defined in Language.Haskell.Names.Types | |
Functor NameInfo Source # | |
Data l => Data (NameInfo l) Source # | |
Defined in Language.Haskell.Names.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NameInfo l -> c (NameInfo l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (NameInfo l) # toConstr :: NameInfo l -> Constr # dataTypeOf :: NameInfo l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (NameInfo l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (NameInfo l)) # gmapT :: (forall b. Data b => b -> b) -> NameInfo l -> NameInfo l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NameInfo l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NameInfo l -> r # gmapQ :: (forall d. Data d => d -> u) -> NameInfo l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> NameInfo l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> NameInfo l -> m (NameInfo l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NameInfo l -> m (NameInfo l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NameInfo l -> m (NameInfo l) # | |
Show l => Show (NameInfo l) Source # | |
Eq l => Eq (NameInfo l) Source # | |
Ord l => Ord (NameInfo l) Source # | |
Defined in Language.Haskell.Names.Types |
annotateDecl :: forall a l. (Resolvable (a (Scoped l)), Functor a, Typeable l) => Scope -> a l -> a (Scoped l) Source #