haskell-names-0.4: Name resolution library for Haskell

Safe HaskellNone




data Scoped l Source

A pair of the name information and original annotation. Used as an annotation type for AST.


Scoped (NameInfo l) l 

data NameInfo l Source


GlobalValue (SymValueInfo OrigName)

global value

GlobalType (SymTypeInfo OrigName)

global type

LocalValue SrcLoc

local value, and location where it is bound

TypeVar SrcLoc

type variable, and location where it is bound


here the value name is bound


here the type name is defined

Import Table

import declaration, and the table of symbols that it introduces

ImportPart Symbols

part of an import declaration

Export Symbols

export declaration, and the symbols it exports

RecPatWildcard [OrigName]

wildcard in a record pattern. The list contains resolved names of the fields that are brought in scope by this pattern.

RecExpWildcard [(OrigName, NameInfo l)]

wildcard in a record construction expression. The list contains resolved names of the fields and information about values assigned to those fields.


no annotation

ScopeError (Error l)

scope error

annotate :: forall a l. (Resolvable (a (Scoped l)), Functor a, Typeable l) => Scope -> a l -> a (Scoped l)Source