S.AtomA Datalog atom is a predicate symbol with a list of terms of type Term.t.
In Prolog syntax the atom
make "p" [(Term.make_constant 1) (Term.make_variable @@ Variable.make "x")]
is written as
p(1, 2, ?x)
val make : predicate_symbol -> Term.t list -> tmake predicate terms returns a new atom with predicate symbol predicate and terms terms.
val predicate : t -> predicate_symbolval is_ground : t -> boolis_ground atom returns true if all terms appearing in the atom are constants.
val parser : t Angstrom.tval pp : t Fmt.t