Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!apple!claris!ames!amdcad!sun!pitstop!sundc!seismo!uunet!mcvax!prlb2!kulcs!bimbart From: bimbart@kulcs.uucp (Bart Demoen) Newsgroups: comp.lang.prolog Subject: setof / ,/2 Message-ID: <1411@kulcs.kulcs.uucp> Date: 26 Aug 88 07:05:51 GMT Reply-To: bimbart@kulcs.UUCP (Bart Demoen) Organization: Katholieke Universiteit Leuven, Dept. Computer Science Lines: 36 In article <301@quintus.UUCP> ok@quintus.uucp (Richard A. O'Keefe) writes: > Well, no. That was just one example. Let me provide another example: > | ?- A = 1, B = 1, > | setof(X, (X = A ; X = B), L). > Result: L = [1] > > | ?- setof(X, (X = A ; X = B), L), > | A = 1, B = 1. > Result: L = [1,1] I will try one more time: if setof/3 is non-logical when its solutions are not ground, that is because @ ok@quintus.uucp (Richard A. O'Keefe) writes: > {I claim that clause((_,_), _) SHOULD report an error in every Prolog; > (_,_) has a definition, it's just that the Prolog system refuses to > show it do you.} sounds as if ok@quintus wants to tell us that (_,_) actually has a Prolog definition, but that his favourite Prolog doesn't want to show it by means of clause/2 ... a disease inherited from Edinburgh ? I am amazed: there is no reason why 'every Prolog' should have a Prolog definition of (_,_); on the contrary ,/2 is a syntactic construct, with a semantics, but it is not a builtin predicate, nor a predicate defined in Prolog bimbart@kulcs.uucp Bart Demoen Dept. of Computer Science Celestijnenlaan 200A B-3030 Leuven Belgium