package acgtk

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Make.ProgramSource

Sourceval empty : program
Sourceval make_program : ASProg.program -> program
Sourceval to_abstract : program -> ASProg.program

add_rule i r p adds a ASRule.rule to a Datalog.Program with the assumption that it will not change the nature of any predicate (that is making it change from extensional to intensional). If i is set to true, then the rule concerns an intensional predicate. If it is set to false then it concerns an extensional predicate and the rhs of the rule should be empty.

Sourceval add_rule : intensional:bool -> ASRule.rule -> program -> program
Sourceval remove_rule : int -> ASPred.pred_id -> program -> program

remove_rule id p returns the program p from which the rule with id id has been removed.

IMPORTANT: This function only deals with rules introducing intensional predicate, because it is used when a constant is given several interpretations in a lexicon.

Sourceval get_fresh_rule_id : program -> int * program
Sourceval get_fresh_cst_id : string -> program -> Datalog_AbstractSyntax.ConstGen.id * program
Sourceval add_pred_sym : string -> program -> ASPred.pred_id * program
Sourceval edb_to_buffer : program -> Buffer.t
Sourceval edb_to_log : Logs.src -> Logs.level -> program -> unit
OCaml

Innovation. Community. Security.