flix

0.67.2

Fixpoint3.Ast.Ram

Type Aliases

type alias FactTuple = (Facts, Facts) Source

FactsTuple consists of (oldFacts, newFacts), where oldFacts are given through joining a model, while newFacts are EDB facts written in the Datalog program.

type alias Facts = Map[RelSym, BPlusTree[Vector[Boxed], Boxed, Static]] Source

The extensible database (EDB) of a program.

type alias IndexInformation = (Indexes, IndexPositions) Source

The indexes to be created during program evaluation and their positions in memory.

type alias IndexPositions = Map[(RelSym, Int32), Int32] Source

Maps a RelSym and its place in Indexes[RelSym] to its final position in memory.

type alias Indexes = Map[RelSym, Vector[Search]] Source

Maps to the set of Search for a RelSym in the Datalog program. It represents the indexes that will be created for RelSym during program evaluation.

type alias Predicates = (List[RelSym], List[RelSym], Int64) Source

Contains a list of RelSym representing the names of the relations in the program, a list of Full RelSym and 1 + the maximal identifier of the Full RelSyms.

Definitions

def arityOf(relSym: RelSym): Int32 Source

Returns the arity of relSym.

def arityOfNonLat(relSym: RelSym): Int32 Source

Returns the arity of the non-lattice part of relSym.

def makeFakeRelSym(predSym: PredSym): RelSym Source

Returns a RelSym wrapper of the predSym.

The returned RelSym is equivalent to a 'real' RelSym with respect to the Order on RelSym.

Used for accessing values in maps.

def toDenotation(relSym: RelSym): BoxedDenotation Source

Returns the denotation of relSym.

def toId(relSym: RelSym): Int64 Source

Returns the identifier of relSym.