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:
- warning(Feature)
- Only print a warning instead of throwing an error.
- library(Lib)
- Demand
library(Lib)
to be present. Thde library not being there may indicate an incomplete installation. For examplelibrary(pce)
to demand xpce graphics support. - Flag
- Demand
current_prolog_flag(Flag, true)
to be true. - FlagValue
- If FlagValue is Flag(Value), demand
current_prolog_flag(Flag, Value)
to be true.
- Errors
- -
version_error('SWI-Prolog', PrologVersion, Cmp, Required)
-existence_error(prolog_feature, Feature)