Article View: comp.lang.prolog
Article #3909Re: Quintus compatibles
From: Jan Newmarch
Date: Mon, 13 Feb 1989 04:36
Date: Mon, 13 Feb 1989 04:36
32 lines
1654 bytes
1654 bytes
We have used Arity/Prolog for some years. The worst incompatability
is the if..then..else construct:
ifthenelse(P,Q,R)
and
ifthen(P,Q)
instead of (P->Q;R) and (P->Q). Unfortunately Arity have swiped the
operator -> for use in a case statement construct with the wrong
precedence for P->Q. The interpreter is ok - add this to the start of your
DEC-10 program:
:- op(0,xfy, -> ). % kill the operator
:- op(1100,xfy, -> ). % bring it back with better precedence
(P->Q;R) :- ifthenelse(P,Q,R).
(P->Q) :- ifthenelse(P,Q,fail). % ifthen(P,Q) succeeds if P fails
This does not work for the Arity/Prolog compiler, and you are best off
writing a translator from (P->Q) notation to that of Arity.
Most other things are fine, but you have to watch for little DEC-10
oddities like put("a") which Arity doesn't like.
+----------------------+---+
| Jan Newmarch |:-)| ACSnet: jan@cancol.oz
| Info. Sciences & Eng.|___| ARPA: jan%cancol.oz.au@uunet.uu.net
| Canberra CAE | UUCP: {uunet,ukc}!munnari!cancol.oz.au!jan
| P.O. Box 1 | CSNET: jan%cancol.oz@australia
| Belconnen A.C.T. 2616 | JANET: jan%au.oz.cancol@EAN-RELAY
| AUSTRALIA |
+--------------------------+
Technical Details
Message-ID:
<123@cancol.oz>Path:
arc1-ca.pugleaf.net!utzoo!attcan!uunet!munnari!otc!metro!basser!usage!ccadfa!cancol!janReferences:
<291@Intrepid.ece.ukans.edu> <8700001@iuvax>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!munnari!otc!metro!basser!usage!ccadfa!cancol!jan From: jan@cancol.oz (Jan Newmarch) Newsgroups: comp.lang.prolog Subject: Re: Quintus compatibles Summary: Arity compatability Message-ID: <123@cancol.oz> Date: 13 Feb 89 04:36:00 GMT References: <291@Intrepid.ece.ukans.edu> <8700001@iuvax> Organization: Info. Sciences, Canberra Coll. of Adv. Ed. Lines: 32