Article View: comp.lang.prolog
Article #2204Re: Occurs check
From: Roger Scowen
Date: Wed, 16 Dec 1992 11:45
Date: Wed, 16 Dec 1992 11:45
38 lines
1799 bytes
1799 bytes
Jussi.Rintanen@hut.fi
(Message-ID: <1992Dec13.173016.8849@nntp.hut.fi>) asks:
> Question 1: What implementations of Prolog implement the occurs check?
> (Our university has both Sicstus and NU-Prolog.)
The current draft International Standard for Prolog provides built-in
predicates
1) unify_with_occurs_check/2
For any arguments unify_with_occurs_check(X, Y) always
succeeds or fails, and never generates an error or
gives an undefined result.
2) =/2 (unifies)
When unification involves infinite trees either as arguments
or as a partial result of some top-down unification algorithm,
the behaviour is undefined. A standard-conforming processor
might consistently succeed or fail for a unification that is
formally undefined. This predicate can be implemented
much more efficiently than unify_with_occurs_check/2.
For more information, see
R S Scowen, "An overview of Prolog standardization
--- progress, problems and solutions", pp922-936
of "Logic programming --- proceedings of the eighth
international conference" (K Furukawa: Editor, MIT Press,
Cambridge, Massachusetts, 1991. ISBN 0-262-56058-5.)
Roger Scowen (ISO/IEC JTC1 SC22 WG17 Prolog convener),
DITC/93, National Physical Laboratory,
Teddington, Middlesex, Great Britain TW11 0LW
Telephone: +44 81 943 6956
E-Mail: rss@seg.npl.co.uk Fax: +44 81 977 7091
18 December 1992
Technical Details
Message-ID:
<1992Dec16.114524.21371@seg.npl.co.uk>Path:
arc1-ca.pugleaf.net!sparky!uunet!pipex!doc.ic.ac.uk!uknet!nplpsg!rssShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!pipex!doc.ic.ac.uk!uknet!nplpsg!rss From: rss@seg.npl.co.uk (Roger Scowen) Newsgroups: comp.lang.prolog Subject: Re: Occurs check Message-ID: <1992Dec16.114524.21371@seg.npl.co.uk> Date: 16 Dec 92 11:45:24 GMT Sender: rss@seg.npl.co.uk (Roger Scowen) Organization: National Physical Laboratory, UK Lines: 38