haskell-names-0.5.1: Name resolution library for Haskell

Safe HaskellNone
LanguageHaskell2010

Language.Haskell.Names.GlobalSymbolTable

Description

This module is designed to be imported qualified.

Synopsis

Documentation

type Table = Map QName [Symbol] Source

Global symbol table — contains names declared somewhere at the top level.

empty :: Table Source

Empty global symbol table.

mergeTables :: Table -> Table -> Table Source

For each name take the union of the lists of symbols they refer to.

data Result l Source

Constructors

SymbolFound Symbol 
Error (Error l) 
Special 

lookupUnqualifiedAsQualified :: Name l -> Table -> (Result l, Maybe QName) Source

Methods and associated types in instance declarations are referenced unqualified and still resolved to a symbol that is only in scope qualified. https://www.haskell.org/pipermail/haskell-prime/2008-April/002569.html The test for this is testsannotationsQualifiedMethods.hs