Major.Minor[[.Patch][[-GitRev],-GitHash]]]
Example strings are’8.5',’8.5.0',’8.5.0-50',’8.5.0-69-gad38e8ad8`. The last two require fetching the sources from git or using the Windows daily builds.
Versions may be embedded in a comparison operator (<
, =<
, =
,
>=
or >
), e.g., =<('9.1')
.
Versions are considered to compare equal only on the components of the Required
version. I.e., '9.1'
compares equal to '9.1.2'
.
Version expressions can be constructed from the Prolog operators’,'/2,’;'/2
and’\+
’/1. An example of a complicated
expression is below, which demands major version 9, but considers 9.1.2
not suitable.
(>=('9'), \+(=('9.1.2')))
Features is a list of required or preferred features. Individual features are:
threads(true)
.bounded(false)
.library(Lib)
to be present. Thde library not being
there may indicate an incomplete installation. For example
library(pce)
to demand xpce graphics support.current_prolog_flag(Flag, true)
to be true.current_prolog_flag(Flag, Value)
to be true.version_error('SWI-Prolog', PrologVersion, Cmp, Required)
existence_error(prolog_feature, Feature)