YhcSource codeContentsIndex
IntState
Description
Internal state of the compiler. Used from the renaming pass until code generation. Needs IdSupply.
Synopsis
data IntState = IntState Id (Id, PackedString) (Map Id Info) [String] Flags
dummyIntState :: IntState
getModuleId :: IntState -> String
getInfo :: Id -> a -> IntState -> (Info, IntState)
getIntState :: a -> IntState -> (IntState, IntState)
addDefaultMethod :: a -> (Id, Id) -> IntState -> IntState
defaultMethodsIS :: IntState -> Id -> [Id]
getUnique :: a -> IntState -> (Id, IntState)
addInstMethod :: TokenId -> TokenId -> TokenId -> NewType -> Id -> a -> IntState -> (Id, IntState)
updInstMethodNT :: TokenId -> TokenId -> Id -> NewType -> Id -> a -> IntState -> IntState
addInstance :: Id -> Id -> PackedString -> [Id] -> [(Id, Id)] -> a -> IntState -> IntState
addNewLetBound :: Id -> TokenId -> a -> IntState -> IntState
updVarNT :: Pos -> Id -> NewType -> Reduce IntState IntState
updVarArity :: Pos -> Id -> Int -> Reduce IntState IntState
addIS :: Id -> Info -> IntState -> IntState
lookupIS :: IntState -> Id -> Maybe Info
updateIS :: IntState -> Id -> (Info -> Info) -> IntState
uniqueIS :: IntState -> (Id, IntState)
uniqueISs :: IntState -> [a] -> ([(a, Id)], IntState)
strIS :: IntState -> Id -> String
tidIS :: IntState -> Id -> TokenId
getErrors :: IntState -> (IntState, [String])
getErrorsIS :: IntState -> Either [String] IntState
addError :: IntState -> [Char] -> IntState
getSymbolTable :: IntState -> Map Id Info
mrpsIS :: IntState -> PackedString
miIS :: IntState -> Id
getFlags :: IntState -> Flags
getIndDataIS :: IntState -> Info -> Id
globalIS :: IntState -> Id -> Bool
arityIS :: IntState -> Id -> Int
checkNT :: Pos -> (Id -> String) -> NewType -> Maybe String
module Info
Documentation
data IntState
Shouldn't this be a record? [SamB]
Constructors
IntState Id (Id, PackedString) (Map Id Info) [String] Flags
show/hide Instances
dummyIntState :: IntState
getModuleId :: IntState -> String
getInfo :: Id -> a -> IntState -> (Info, IntState)
getIntState :: a -> IntState -> (IntState, IntState)
addDefaultMethod :: a -> (Id, Id) -> IntState -> IntState
defaultMethodsIS :: IntState -> Id -> [Id]
Return all the default methods of an id, including super class methods
getUnique :: a -> IntState -> (Id, IntState)
Do we really need both getUnique and uniqueIS? I vote for taking out uniqueIS. [SamB]
addInstMethod :: TokenId -> TokenId -> TokenId -> NewType -> Id -> a -> IntState -> (Id, IntState)
updInstMethodNT :: TokenId -> TokenId -> Id -> NewType -> Id -> a -> IntState -> IntState
addInstance :: Id -> Id -> PackedString -> [Id] -> [(Id, Id)] -> a -> IntState -> IntState
addNewLetBound :: Id -> TokenId -> a -> IntState -> IntState
updVarNT :: Pos -> Id -> NewType -> Reduce IntState IntState
Adds type of variable to symbol table of internal state. Assumes that variable is already in symbol table. Adds error message, if there exists already a type for the variable in the symbol table or type is badly formed (duplicate predicates in context).
updVarArity :: Pos -> Id -> Int -> Reduce IntState IntState
Adds arity of variable to symbol table of internal state (any old arity is overwritten). Assumes that variable is already in symbol table.
addIS :: Id -> Info -> IntState -> IntState
Add new info for identifier to the symbol table
lookupIS :: IntState -> Id -> Maybe Info
Lookup identifier in symbol table
updateIS :: IntState -> Id -> (Info -> Info) -> IntState
Update info for identifier in symbol table
uniqueIS :: IntState -> (Id, IntState)
Obtain a new unique and hence also a new internal state
uniqueISs :: IntState -> [a] -> ([(a, Id)], IntState)
Associate new uniques with given list of entities; hence also new internal state
strIS :: IntState -> Id -> String
Give printable string for identifier
tidIS :: IntState -> Id -> TokenId
Give token of identifier
getErrors :: IntState -> (IntState, [String])
getErrorsIS :: IntState -> Either [String] IntState
addError :: IntState -> [Char] -> IntState
getSymbolTable :: IntState -> Map Id Info
mrpsIS :: IntState -> PackedString
miIS :: IntState -> Id
getFlags :: IntState -> Flags
getIndDataIS :: IntState -> Info -> Id
globalIS :: IntState -> Id -> Bool
arityIS :: IntState -> Id -> Int
checkNT :: Pos -> (Id -> String) -> NewType -> Maybe String
Tests if context of type has duplicate predicates. Second argument converts class identifier to string. *** This module not a good place for this function.
module Info
Produced by Haddock version 0.8