Package-level declarations

Types

Link copied to clipboard

The context of a solver: the facts the modules assert, in branches

Link copied to clipboard
interface ArgLibrary

A part of arg2p a solver is built from (a module, the context, the loader): its content, the flags it declares, and the operators of its theory

Link copied to clipboard
interface ArgLoader : ArgLibrary

The loader of the modules, at their first call

Link copied to clipboard

A part of arg2p whose Prolog theory is a text (prologRawTheory), parsed at the first use

Link copied to clipboard
interface Loadable

A module, loaded by its calls, which name it by its identifier

Link copied to clipboard

The modules of arg2p, by area: a solver loads each by its first call (Module::Goal)

Link copied to clipboard
abstract class PrologModule(val alias: String, moduleIdentifier: String) : LazyRawPrologContent, Loadable

A module of arg2p, loaded by its first call (Module::Goal): a Prolog theory (prologRawTheory, parsed once with the theoryOperators of the modules), with the native primitives it relies on and the baseFlags it declares, under an alias and the moduleIdentifier the calls name it by. Its library is built once and shared by every solver: the native primitives of a module keep no state.

Link copied to clipboard

A part of arg2p with a Prolog theory

Functions

Link copied to clipboard
fun Theory.toLibrary(alias: String): Library

The clauses of the theory, as a library of alias

Link copied to clipboard
fun Library.toTheory(): Theory

The clauses of the library, as a theory