3 ms·
Adherence to standards matters a lot for example in several kinds of governmental organizations, banks, the medical industry etc. If you want to use a Prolog sy
by triska 4y ago
Adherence to standards matters a lot for example in several kinds of governmental organizations, banks, the medical industry etc. If you want to use a Prolog system in safety-critical areas, it is best, and often in fact required by internal and external guidelines, to choose vendors who are committed to upholding standards: This simplifies procurement, settling legal disputes and warranty questions, it reduces the risk of depending on a single vendor etc.
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.
- billfruit 4y agoStandards aren't that much of a constraint for SQL/databases, for example. Mostly one works with the dialect that is used by the specific implementation. Moreover standard hasn't kept pace with innovation by various vendors. 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.
- triska 4y agoRegarding SQL, we find for example in the Oracle SQL documentation https://docs.oracle.com/database/121/SQLRF/intro002.htm#SQLRF50933 https://docs.oracle.com/database/121/SQLRF/intro002.htm#SQLR...: "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/19/sqlrf/Oracle-and-Standard-SQL.html#GUID-330DEBBB-006E-4B35-A516-5C0AEFFE06B9 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.
- zephyrfalcon 4y agoAll true, but you make it sound boring. :( I was under the impression that the ISO standard was (arguably) the "best" way to write a Prolog implementation, providing a flexible foundation to build future features on top of. Was I misinformed?