TheoryObjectifier

An Objectifier of Theory instances: since a Theory is itself an Iterable<it.unibo.tuprolog.core.Clause>, it is objectified as a plain list holding the TermObjectifier-produced representation of each of its clauses, in iteration order. This is what lets a TheorySerializer render a whole knowledge base as JSON, YAML, or XML.

A TheoryDeobjectifier recognizes exactly this shape, so deobjectifier.deobjectify(objectifier.objectify(theory)) round-trips (up to variable renaming and numeric literal formatting, and up to any clause reordering/deduplication the underlying Theory implementation performs).

See also

for the inverse conversion.

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
abstract fun objectify(value: Theory): Any
Link copied to clipboard
abstract fun objectifyMany(values: Iterable<Theory>): Any
open fun objectifyMany(values: Sequence<Theory>): Any
open fun objectifyMany(vararg values: Theory): Any