**iso_strict** is ISO-conforming strict mode, providing
only ISO features and no implementation specific ones
JavaScript's strict mode is a way to *opt in* to arestricted variant of JavaScript, thereby implicitly
**iso_strict** is ISO-conforming strict mode, providing
only ISO features and no implementation specific ones
Maybe a good name would then be "use_strict", instead
of "strict_iso", if a permutation of it is already
used in the form "iso_strict" by ECLiPSe Prolog.
"use_strict" would be motivated from JavaScript:
JavaScript's strict mode is a way to *opt in* to arestricted variant of JavaScript, thereby implicitly
opting-out of "sloppy mode". Strict mode isn't just a subset:
it *intentionally* has different semantics from normal
code. Strict mode code and non-strict mode code can
coexist, so scripts can opt into strict mode incrementally.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode
In JavaScript the mode is local. You can place the
"use_strict" directive inside any function you want, and
opt in to this function and all sub functions.
So "use_strict=on" would mean ISO conforming.
This would solve the problem that some Prolog systems
have an "iso" flag, but setting it to true does not
imply they become 100% ISO conforming. It rather tells
the system to have the behaviour of some
predicates change to ISO conforming. So the "use_strict"
would be a conformity flag, and not a scope flag. It
would not reduce the scope of a Prolog system or a
Prolog modul to use less built-ins, flags etc..
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 1,064 |
Nodes: | 10 (0 / 10) |
Uptime: | 146:10:56 |
Calls: | 13,691 |
Calls today: | 1 |
Files: | 186,935 |
D/L today: |
21 files (1,090K bytes) |
Messages: | 2,410,864 |