Path: utzoo!attcan!uunet!cs.utexas.edu!sdd.hp.com!wuarchive!mit-eddie!uw-beaver!ubc-cs!alberta!arcsun.arc.ab.ca!cpsc.ucalgary.ca!news From: cleary@cs-sun-fsc.cpsc.ucalgary.ca (John Cleary) Newsgroups: comp.lang.prolog Subject: Re: Standards question: behavior of arg/3 Keywords: ANSI, standard Message-ID: <1990Oct29.042755.18583@cpsc.ucalgary.ca> Date: 29 Oct 90 04:27:55 GMT References: <9888@bunny.GTE.COM> <3992@goanna.cs.rmit.oz.au> <1753@ecrc.de> Sender: news@cpsc.ucalgary.ca Organization: U. of Calgary Computer Science Lines: 36 Nntp-Posting-Host: cs-sun-fsc I very glad to see some real discussion of errors in Prolog. This topic is important and I have not yet seen any principled and acceptable solution. However, it is worth noting that the question is not as simple as it seems. Consider for example is. Now X is fred should clearly generate an error message :-). But at least once in my career I desperately wanted it not to. I wanted to use is to test whether an expression was a valid arithmetic expression. If is had failed silently then I would have had a nice portable clean way of testing this. As it was I had to (sigh) program it all in myself and worry about what was allowable on different systems and machines. AS for 2 is Y+3 there are number of systems quite able to deduce that Y is 1. This is the right way to do it! Not an error message. But I guess if we must standardize to obsolete lanagugaes then we have to live in the past:-). So come on some genius out there give us a good clean solution to this problem of errors. John G. Cleary Department of Computer Science University of Calgary 2500 University Drive N.W. Calgary Alberta T2N 1N4 Canada cleary@cpsc.UCalgary.ca Phone: (403)282-5711 or (403)220-6087