Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utcs!mnetor!seismo!mcvax!ukc!icdoc!cdsm From: cdsm@icdoc.UUCP Newsgroups: net.lang.prolog Subject: Syntax variant tests Message-ID: <349@ivax.doc.ic.ac.uk> Date: Fri, 11-Jul-86 12:53:14 EDT Article-I.D.: ivax.349 Posted: Fri Jul 11 12:53:14 1986 Date-Received: Sat, 12-Jul-86 23:09:35 EDT Sender: cdsm@doc.ic.ac.uk Reply-To: cdsm@doc.ic.ac.uk (Chris Moss) Organization: Dept. of Computing, Imperial College, London, UK. Lines: 179 Here are some tests that I've been trying; I'd be grateful to anyone who can run them on versions of Prolog not included below and post me the results direct. Do NOT post them to the network! I will summarise the conclusions in due course. Reply to cdsm@doc.ic.ac.uk or cdsm@icdoc.uucp /* tests for syntax variation in Prolog implementations Chris Moss 1986 To run the test simply call "dotest" with appropriate parameters, or "test" if that doesn't work, ignoring any syntax errors and deleting any clauses necessary. Then send me the resultant file, or a list of the first letter of each answer, with an S for those that couldn't be run. Note that many of these tests will cause syntax errors in most processors. This is intentional, but it does mean that some care must be applied to get sensible results. Be careful to start with a fresh copy of Prolog each time and avoid any startup files with non-standard operator definitions. Set option to fail on no definition, if necessary. You CAN add any other declarations necessary and change operator definitions if they don't work on your system, but DON'T do any lexical changes (in particular don't change white space). Results I have so far: Version 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CProlog 5.1 Y Y Y Y Y Y Y N N Y Y Y Y D Y I N Y N Y Poplog 6.3 N N Y Y Y N N Y A Y Y Y Y D Y F O Y Y Y MuProlog 3.1 Y Y Y Y Y Y Y N N Y Y Y Y N Y F N Y N Y sigmaProlog 1.1 Y Y Y Y Y Y Y N N Y Y Y S N N F N S N Y ADA PDProlog N N Y N S S S N N N Y Y S N Y I N Y S Y Turbo Prolog N N N S S S S N N N S N ? N Y MACProlog 1.1 Y Y Y N N N Y N N Y Y N N N N NIP 1.3 Y Y Y Y Y Y Y N N Y Y Y Y D Y Quintus 1.5 (C & I) Y Y Y Y Y Y Y N N Y Y Y Y N Y ICL Prolog 1.7 Y Y Y Y N N Y Y ? Y Y Y N N Y */ dotest(File,Version) :- tell(File),w(['syntax test version 3 using',Version]), test, told. test :- test(1,20). test(I,N) :- I>N, !. test(I,N) :- I=