Deutsch   English   Français   Italiano  
<103ei2s$18c05$1@solani.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!news.szaf.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: Mild Shock <janburse@fastmail.fm>
Newsgroups: comp.lang.prolog
Subject: Is there room to adopt a flag strict_iso?
Date: Tue, 24 Jun 2025 18:00:28 +0200
Message-ID: <103ei2s$18c05$1@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 24 Jun 2025 16:00:28 -0000 (UTC)
Injection-Info: solani.org;
	logging-data="1323013"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101
 Firefox/128.0 SeaMonkey/2.53.21
Cancel-Lock: sha1:EfH2L/mEG1sockQqca31317U4Ps=
X-User-ID: eJwVxsERwDAIA7CVcDAmHQfIZf8R2p4+Chc0SYUY91feMRP9xXpQ01A5ufjont1oum0TErOwYXlyO61krHwBYZ8U2A==
X-Mozilla-News-Host: news://news.solani.org:119

 > **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 a
restricted 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..