Package-level declarations
Types
The ISO Prolog double_quotes flag, controlling how double-quoted text is parsed.
An immutable storage for Prolog flags and their values, i.e. the String → Termmap a [it.unibo.tuprolog.solve.Solver] reads (via [it.unibo.tuprolog.solve.ExecutionContextAware.flags]) to answer current_prolog_flag/2` and similar. Keeping flags as data, rather than as scattered solver fields, makes the whole configurable surface of a solver enumerable and snapshot-able as part of an it.unibo.tuprolog.solve.ExecutionContext.
An implementation-specific flag controlling how a yes solution to a ground query (e.g. 2 is 1 + 1, with no variables at all) is presented to the user by a SolutionFormatter/UI. Defaults to OFF (unaffected, standard behaviour: the solved query is still shown, e.g. yes: 2 is 1 + 1); set to ON to present it simply as yes., since the solved-query term would equal the query verbatim and carries no extra information.
An implementation-specific flag controlling whether the solver performs last-call (tail-call) optimization, i.e. avoids growing its internal execution-context stack on genuine tail calls. Defaults to ON.
The ISO Prolog max_arity flag, reporting the maximum arity a it.unibo.tuprolog.solve.Signature may have. Not isEditable: 2P-Kt reports Int.MAX_VALUE as its only admissible value, i.e. no practical limit is enforced.
A typed, well-known Prolog flag, i.e. a named switch whose legal values and default are known ahead of time -- as opposed to the arbitrary String → Termentries a plain [FlagStore] can also hold. Implemented as object`s for both ISO-standard flags (Unknown, DoubleQuotes, MaxArity) and implementation-specific ones (LastCallOptimization, TrackVariables).
An implementation-specific flag controlling whether wildcard variables (those whose name starts with _, e.g. _P, per it.unibo.tuprolog.core.Var.isWildcard) appear in a it.unibo.tuprolog.solve.Solution's substitution. Defaults to ON (unaffected, standard behaviour); set to OFF to hide them, matching common Prolog tooling convention (see issue #980).
An implementation-specific flag controlling whether the solver keeps track of variable names/bindings beyond what is strictly needed to compute a it.unibo.tuprolog.solve.Solution (e.g. for richer debugging/inspection). Defaults to OFF.
An implementation-specific flag controlling whether a solver's output solution sequence may contain multiple yes solutions carrying the same solved-query term (e.g. member(X, [1, 1, 1]) yielding three identical yes solutions with X = 1). Defaults to OFF (unaffected, standard behaviour); set to ON to keep only the first yes solution for each distinct solved-query term encountered, dropping any later duplicate.
The ISO Prolog unknown flag, controlling what happens when a goal's predicate does not exist in the current knowledge base/libraries at all: raise an it.unibo.tuprolog.solve.exception.error.ExistenceError (ERROR), report an it.unibo.tuprolog.solve.exception.warning.MissingPredicate warning (WARNING, the current default), or silently fail the goal (FAIL).
Functions
Pairs notableFlag's NotableFlag.name with the Term computed by f, applied to notableFlag itself.