module CSPM.TypeChecker.Environment (
module Util.HierarchicalMap,
Environment,
mkSymbolInformation, SymbolInformation(..)
)
where
import CSPM.DataStructures.Names
import CSPM.DataStructures.Types
import Util.HierarchicalMap
mkSymbolInformation :: TypeScheme -> SymbolInformation
mkSymbolInformation t = SymbolInformation {
typeScheme = t,
isDeprecated = False,
isTypeUnsafe = False
}
data SymbolInformation = SymbolInformation {
typeScheme :: TypeScheme,
isDeprecated :: Bool,
isTypeUnsafe :: Bool
}
deriving (Eq, Show)
type Environment = HierarchicalMap Name SymbolInformation