Path: utzoo!attcan!uunet!cs.utexas.edu!uwm.edu!rpi!batcomputer!munnari.oz.au!goanna!ok From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) Newsgroups: comp.lang.prolog Subject: Re: Standards question: behavior of arg/3 Message-ID: <4037@goanna.cs.rmit.oz.au> Date: 22 Oct 90 03:22:50 GMT References: <9888@bunny.GTE.COM> <3992@goanna.cs.rmit.oz.au> <1920@tuvie> <35019@cup.portal.com> Organization: Comp Sci, RMIT, Melbourne, Australia Lines: 15 In article <35019@cup.portal.com>, pgl@cup.portal.com (Peter G Ludemann) writes: > Richard might not like the fact that IBM's arg/3 allows > arg(0,f(a),f) -- that's easily fixed by using a delayed inequality: > wait:(N ==/ 0) & arg(N,F,X) Ah, I see: if N is already instantiated the N==/0 (what the dickens does ==/ mean?) goal will fail, if N is not instantiated arg/3 will generate the *bogus* incredibly meaningless N=0 solution which will then be rejected. Good one. If someone really wants arg0/3, by all means let them have it, but let it be called arg0/3, not arg/3. -- Fear most of all to be in error. -- Kierkegaard, quoting Socrates.