In the introduction here, it states that the ISO module standard for Prolog was a failure. Can anyone elaborate on this?
Asked
Active
Viewed 574 times
1
-
7This question and the accepted answer are based on a misunderstanding. The linked section says "Prolog modules are defined by an ISO standard. Unfortunately, the standard is considered a failure and, as far as we are aware, not implemented by any concrete Prolog implementation." The standard being referred to here is clearly _ISO/IEC 13211-2_, i.e. _ISO Prolog - Part 2: Modules_ and not the entire ISO Prolog standard. – Michael Ben Yosef Jun 13 '15 at 16:46
-
1@MichaelBenYosef: You can certainly read the text as you did ; however better look at the concrete system and what it does. See my answer for this. – false Jun 14 '15 at 08:03
-
1@false: I followed closely the announcement of SWI7 and the ensuing arguments over non-conformance, so I'm well aware of the situation. Personally, I try to write conforming code while using SWI. But I think there is an interesting question lurking here, albeit one that is also inappropriate for SO: Why do systems like the two you cited embrace _ISO/IEC 13211-1_ while _ISO/IEC 13211-2_ is almost universally ignored. – Michael Ben Yosef Jun 14 '15 at 15:14
-
@MichaelBenYosef: " I try to write conforming code " how do you do this in SWI? – false Jun 14 '15 at 16:23
-
By avoiding everything listed [here](http://www.swi-prolog.org/pldoc/man?section=extensions): dicts, strings, `'.'` as a function symbol, and the non-conforming `[a|b] \== .(a,b)` and `[] \== '[]'`. – Michael Ben Yosef Jun 14 '15 at 16:45
-
SWI-documentation is not suited for conformity considerations. – false Jun 14 '15 at 16:50
-
1@MichaelBenYosef: In any case, please take the last par in my answer seriously. – false Jun 14 '15 at 16:51
1 Answers
5
The system you cite, SWI-Prolog, is a system whose core is developed by a single developer. Such bold statements as those you quote are his very personal opinions. In the past, SWI did follow ISO standards for a certain period. Then, recently changed. If you want to read more about this, please refer to this answer.
There are systems that are conforming - in particular: SICStus Prolog sicstus-prolog and GNU Prolog gnu-prolog.
In case you want to know more about the purpose of standards, in particular ISO standards, refer to your national standardization body. They certainly offer 1- or 2-day introductory courses. SO is not a place to discuss this.

false
- 10,264
- 13
- 101
- 209
-
7
-
1I edited the question, from ISO standard to ISO module standard. The link in the question points to ISO module standard, and not ISO (core) standard. – Sep 24 '18 at 22:03