Safe Haskell | None |
---|---|
Language | Haskell2010 |
IR.Constraint.Type
Synopsis
- data Constraint
- = CTrue
- | CSaveTheEnvironment
- | CEqual Type Type
- | CPattern Type Type
- | CLocal Identifier Type
- | CForeign Scheme Type
- | CAnd [Constraint]
- | CLet {
- _rigidVars :: [Variable]
- _flexVars :: [Variable]
- _header :: Map Identifier Type
- _headerCon :: Constraint
- _bodyCon :: Constraint
- exists :: [Variable] -> Constraint -> Constraint
- type Variable = Point Descriptor
- type Attachment = (Annotations, Variable)
- data FlatType = TCon1 TConId [Variable]
- data Type
- data Descriptor = Descriptor {}
- data Content
- mkDescriptor :: Content -> Descriptor
- noRank :: Int
- outermostRank :: Int
- newtype Mark = Mark Int
- noMark :: Mark
- occursMark :: Mark
- getVarNamesMark :: Mark
- nextMark :: Mark -> Mark
- foldArrow :: ([Type], Type) -> Type
- (==>) :: Type -> Type -> Type
- unit :: Type
- ref :: Type -> Type
- list :: Type -> Type
- time :: Type
- i64 :: Type
- u64 :: Type
- i32 :: Type
- u32 :: Type
- i16 :: Type
- u16 :: Type
- i8 :: Type
- u8 :: Type
- mkFlexVar :: TC Variable
- mkIRFlexVar :: TC Variable
- mkRigidVar :: TC Variable
- toCanType :: Variable -> TC Type
- termToCanType :: FlatType -> TC Type
- toErrorType :: Variable -> TC Type
- contentToErrorType :: Variable -> Content -> TC Type
- termToErrorType :: FlatType -> TC Type
- binderToVarId :: Binder t -> TC VarId
- uncarryAttachment :: Carrier c => c Attachment -> ([Annotation], Variable)
Documentation
data Constraint Source #
CONSTRAINTS
Constructors
CTrue | |
CSaveTheEnvironment | |
CEqual Type Type | |
CPattern Type Type | |
CLocal Identifier Type | |
CForeign Scheme Type | |
CAnd [Constraint] | |
CLet | |
Fields
|
exists :: [Variable] -> Constraint -> Constraint Source #
type Variable = Point Descriptor Source #
TYPE PRIMITIVES
type Attachment = (Annotations, Variable) Source #
data Descriptor Source #
DESCRIPTORS
mkDescriptor :: Content -> Descriptor Source #
outermostRank :: Int Source #
occursMark :: Mark Source #
foldArrow :: ([Type], Type) -> Type Source #
BUILT-IN TYPES
Fold a list of argument types and a return type into an Arrow
Type
.
mkIRFlexVar :: TC Variable Source #
mkRigidVar :: TC Variable Source #
uncarryAttachment :: Carrier c => c Attachment -> ([Annotation], Variable) Source #