Recently we have further extended the (^)/2 operator not only
to apply to an integer basis but also to a decimal basis which
will give a decimal result. A float basis is automatically
promoted to a decimal.
Jekejeke Prolog defines some evaluable functions with a broader
scope. In particular the arithmetic functions (mod)/2 and
(rem)/2 are not only defined for integers, but also on floats.
Nowadays this is in already found in many programming languages.
For example Java has extended the mod operator % towards floats.
Integration / Elimination
The enhancement of evaluable functions in that previously
exceptional values are now defined is allowed by ISO (5.5.10).
Only in the strict conforming mode (by the note referring to
5.1e) we would run into problems and would need to remove the
additional functionality. We could stash the functionality to
new evaluable functions (fmod)/2 and (frem)/2.
Failed Test Cases
Corr.2 18.104.22.168, XLOG 3
Corr.2 22.214.171.124, XLOG 4:
ISO 9.1.7, ISO 35