Article: 47247 of comp.lang.prolog Path: tunews.univie.ac.at!aconews-feed.univie.ac.at!aconews.univie.ac.at!not-for-mail X-newsreader: xrn 10.00-beta-3 From: ulrich@mips.complang.tuwien.ac.at (Ulrich Neumerkel) Newsgroups: comp.lang.prolog Subject: Prolog portability quest 3 Organization: Institut fuer Computersprachen, Technische Universitaet Wien Date: Thu, 14 Apr 2011 17:41:22 GMT Message-ID: <2011Apr14.194122@mips.complang.tuwien.ac.at> Lines: 26 NNTP-Posting-Host: a4.complang.tuwien.ac.at X-Trace: 1302802996 tunews.univie.ac.at 89734 128.130.173.65 X-Complaints-To: abuse@tuwien.ac.at Xref: tunews.univie.ac.at comp.lang.prolog:47247 Start up your Prolog, issue the directive op(1105,xfy,'|') and type in the following query: writeq((a-->b,c|d)). This should be a syntax error according to ISO/IEC 13211-1:1995. But then, many systems succeed and write a term. Are they all wrong? No more! The recently approved DTC2 provides the extra syntax needed! This time it was the standard that moved towards implementations. http://www.complang.tuwien.ac.at/ulrich/iso-prolog/dtc2#C2 ISO/IEC syntax now supports alternation in DCGs and the commit operator of CHR. Nevertheless, there are still tiny differences between implementations. The currently known are: http://www.complang.tuwien.ac.at/ulrich/iso-prolog/conformity_assessment Should you find some more - please tell me! Prologs moved quite a bit in 2010, hopefully this trend will continue! http://www.complang.tuwien.ac.at/ulrich/iso-prolog/ppq/