Noacore is a Prolog profile that explores various relaxations
From
Mild Shock@21:1/5 to
All on Fri Mar 21 19:16:19 2025
Interestingly a flag strict_iso could solve a few
vexing problems. For example the ISO core standard
did only mention floor/1 with signature F → I.
So in GNU Prolog I can do:
/* GNU Prolog 1.5.0 */
?- current_prolog_flag(strict_iso, X).
X = on
yes
?- X is floor(1).
uncaught exception: error(type_error(float,1),(is)/2)
?- set_prolog_flag(strict_iso, off).
yes
?- X is floor(1).
X = 1
yes
A few Prolog systems don’t share the above behavior,
like SWI-Prolog for example doesn’t throw the type error.
Also SWI-Prolog has nowhere a flag strict_iso.
Currently I have changed my Prolog system to tell me:
/* Dogelog Player 1.3.1 */
?- current_prolog_flag(strict_iso, X).
X = off.
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)