| 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 #