unison-codebase-sqlite-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

U.Codebase.Sqlite.Term.Format

Contents

Synopsis

Documentation

type TermRef = Reference' LocalTextId (Maybe LocalDefnId) Source #

  • Builtin terms are represented as local text ids.
  • Non-builtin terms are represented as local definition ids, with an added distinguished element (here Nothing) which represents a self-reference.

type TypeRef = Reference' LocalTextId LocalDefnId Source #

  • Builtin types are represented as a local text id.
  • Non-builtin types are represented by a local definition id.

type LocallyIndexedComponent = LocallyIndexedComponent' TextId ObjectId Source #

A LocallyIndexedComponent is a vector that has one element per member of the component (invariant: 1+).

Each element is a term, which is represented as:

  • Lookup vectors that map local ids to database ids for texts and objects referenced by the term.
  • The term itself, with internal references to local ids (offsets into the lookup vectors).
  • The term's type, also with internal references to local id.

type HashLocallyIndexedComponent = LocallyIndexedComponent' Text Hash32 Source #

A locally indexed component which uses hash references instead of database ids.

type Term = Term F Symbol () Source #

Type of Term

type HashTermFormat = TermFormat' Text Hash32 Source #

A TermFormat which uses hash references instead of database ids.

data TermFormat' t d Source #

Constructors

Term (LocallyIndexedComponent' t d)