habs

Safe HaskellSafe
LanguageHaskell98

ABS.Compiler.Firstpass.Base

Synopsis

Documentation

type SymbolTables = Map ModuleName SymbolTable Source #

A mapping of Modules to their SymbolTables

type SymbolTable = Map SymbolName SymbolValue Source #

A separate SymbolTable for each module

data SymbolValue Source #

The entry of the Symbol, its symbol type and if it is exported

Constructors

SV SymbolType IsExported 

data SymbolType Source #

The different symbol types

Constructors

Function [U] [T] T

tyvars, input types, output type

Datatype 
Datacons String [U] [T] T

from which datatype it comes (required by Haskell module system), tyvars, input types, output type

Exception 
Class [T] [T] 
Interface [(String, Maybe [String])] (Map SymbolName [(String, Maybe [String])])

its direct method names, http-callable formal parameters & map of *all* extends interfaces to their own methods, http-callable formal parameters

Foreign