Standards are also important when creating teaching material, and obviously for compatibility and interoperability between systems. I therefore recommend to use and provide Prolog systems with strong commitment to the Prolog ISO standard.
Standards are also important when creating teaching material, and obviously for compatibility and interoperability between systems. I therefore recommend to use and provide Prolog systems with strong commitment to the Prolog ISO standard.
So in the case of SQL more than de-jure standards, it is the generalized set of features that popular implementations support that matters. Isn't that the case with Prolog?
So I'd be more interested in reasons other than literal adherence to de-jure standards.
"Oracle strives to comply with industry-accepted standards and participates actively in SQL standards committees."
and also https://docs.oracle.com/en/database/oracle/oracle-database/1...:
"This appendix declares Oracle's conformance to the SQL standards established by the American National Standards Institute (ANSI) and the International Organization for Standardization (ISO)."
A similar notion of intent and self-assessment is highly desirable in Prolog systems, for warranty reasons alone already.
The Prolog standard defines the minimum (not the maximum) of features that must be present in conforming implementations: Prolog implementations are free to provide extensions to the standard, as in SQL implementations. However, to still comply with the standard, all such extensions must be conforming extensions, i.e., they cannot render existing conforming Prolog code invalid or differently interpreted than the standard demands. Also, it must be possible to run the system without all such extensions. For example, in Scryer Prolog, this is achieved by not loading any modules.
Valid candidates for conforming extensions are for example Prolog programs that would yield a syntax error without that extension.