package datalog

  1. Overview
  2. Docs
An in-memory datalog implementation for OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

datalog-0.7.tbz
sha256=13ca520bddf4f0c44d1468bc89347be72ec543be58fff29469a0da24956be541
sha512=25d6e9cb5abe8aa1110730d884abb9e51ae78bf681b3f21709efa32359b9cbdd97d9076761c91562580c090cbce12ce159c97533ae5d9d427c24cb329e950793

doc/datalog.caml_interface/Datalog_caml_interface/Logic/Subst/index.html

Module Logic.SubstSource

Sourcetype t
Sourcetype scope = int
Sourcetype renaming
Sourceval empty : t

Empty subst

Sourceval bind : t -> T.t -> scope -> T.t -> scope -> t

Bind a variable,scope to a term,scope

Sourceval deref : t -> T.t -> scope -> T.t * scope

While the term is a variable bound in subst, follow its binding. Returns the final term and scope

Sourceval create_renaming : unit -> renaming
Sourceval reset_renaming : renaming -> unit
Sourceval rename : renaming:renaming -> T.t -> scope -> T.t

Rename the given variable into a variable that is unique within variables known to the given renaming

Sourceval eval : t -> renaming:renaming -> T.t -> scope -> T.t

Apply the substitution to the term. Free variables are renamed using renaming

Sourceval eval_lit : t -> renaming:renaming -> Lit.t -> scope -> Lit.t
Sourceval eval_lits : t -> renaming:renaming -> Lit.t list -> scope -> Lit.t list
Sourceval eval_clause : t -> renaming:renaming -> C.t -> scope -> C.t
Sourceval fmt : Format.formatter -> t -> unit
OCaml

Innovation. Community. Security.