Fixpoint3.TypeInfo
Type Aliases
type alias RelType = Vector[Type]
SourceThe type of a relation is simply a vector of its types.
type alias Type = UnifiedTypePos
SourceAs far as we are concerned a Type is simply a description of where
its boxing/unboxing information is saved.
type alias TypeInformation = Vector[RelType]
SourceThe type of a program is a vector where position i stores the type of
the relation with predicate PredSym(_, i).
For functional predicates the vector contains the types of the functional predicates in the same order they are met by the compiler.
Definitions
def expandTypeInfoToProv(typeInfo: TypeInformation, predicates: Predicates): TypeInformation
SourceExpands typeInfo to include the provenance annotations types.
def expandTypeToProv(relType: RelType): RelType
SourceExpands relType to include the provenance annotations types.
def getType(id: Int64, index: Int32, typeInfo: TypeInformation): Type
SourceReturns the type of the index'th value of the relation with predicate PredSym(_, id).
def getTypeOf(id: Int64, typeInfo: TypeInformation): RelType
SourceReturns the type of the relation with predicate PredSym(_, id).
def provType(): Type
SourceReturns the type of provenance annotations.
def typeDatalog(d: Datalog, pseudoStratums: PseudoStrataOrder[r], predicates: Predicates, withProv: Bool): TypeInformation \ r
SourceReturns the type information of d
For functional predicates the vector returned vector contains the types of the functional predicates in the same order they are met by the compiler.