PROLOG-REQUEST@SUSHI.STANFORD.EDU (Chuck Restivo, The Moderator) (07/28/87)
PROLOG Digest Tuesday, 28 Jul 1987 Volume 5 : Issue 49 Today's Topics: Query - Representation, Implementation - CProlog Parser, LP Library - WARPLAN Update ---------------------------------------------------------------------- Date: Mon, 20 Jul 87 16:58:51 MET From: norbert%germany.csnet@RELAY.CS.NET Subject: Feature (!) in C-Prolog parser The 'bug' mentioned in the latest issue of the Prolog Digest is one of the numerous undocumented features of C-Prolog: If the parser encounters a sequence of a token ',' and a token '..' in a place where the list separator '|' might be useful, the sequence is interpreted as that separator. I suppose this was intended to help people with non-american keyboards, that can't enter '|' or will see another character instead of it (e.g. in German 'ASCII' the same code is used for an 'o', decorated with two dots). In fact, it does not help, because nobody knows about it. -- Norbert Lindenberg Universitaet Karlsruhe, West Germany ------------------------------ Date: 15 Jul 87 20:09:05 GMT From: uunet!mnetor!yetti!asst-jos@seismo.css.gov Subject: Request for help with C-prolog program I have a Prolog question that I'm hoping someone might be able to help me with. I am using C-Prolog version 1.5 on a Vax/VMS 8600. C-Prolog assigns a unique system name (or internal representation) to a variable that is composed of the underscore, followed by a sequence of digits. To illustrate this I include a sample session with the Prolog interpreter using a Vax/VMS 8600). $ prolog C-Prolog version 1.5 | ?- [user]. | go(A,B):-read(A), read(B). | Exit user consulted 104 bytes 2.000041e-03 sec. yes | ?- go(LIST1,LIST2). |: [A, B, C]. |: A=32, B=45. LIST1 = [_6,_7,_8] _15=32,19=45 yes | ?- Exit [ Prolog execution halted ] Note that the internal representation of variable A in LIST1, (_6), is different from the internal representation of variable A in LIST2, (_15), and that the internal representation of variable B in LIST1, (_7), is different from the internal representation of variable B in LIST2, (_19), because they were read separately. My problem is that I would like to read the same variables from two different files, and would like to know if it is possible to assure that they are read as the same variable. To explain this better, I'll give an example of what I would like to achieve. FILE-1 contains: [A, B, C]. FILE-2 contains: A = 3, B = C + A I would like assert the following predicate: sample_predicate:- see('FILE-1'), read(VECTOR), seen, see('FILE-2'), read(TEST),seen, assert(( is_true(VECTOR):-TEST )). The goal is to be able to assign values to the variables in VECTOR, and then execute 'is_true', so that it will return a value of 'true' iff TEST is true. The problem is that the variable 'A' read from FILE-1 is a different variable from the variable 'A' read from FILE-2, as seen in the sample prolog code above. How can I make the A read from FILE-1 be the same A read from FILE-2? -- Jeff Klein York University. ------------------------------ Date: Sun 26 Jul 87 15:22:40-PDT From: Chuck Restivo <Restivo@Sushi.Stanford.EDU> Subject: WARPLAN Prof. D.H.Warren posted a copy of WARPLAN and sample STRIPS world. Unlike the last version, this one works properly. See SUSHI.STANFORD.EDU:PS:<Prolog>WARPLAN.PL . Anonymous FTP should work, if you cannot FTP, post a note to PROLOG-REQUEST at this site. -- Chuck ------------------------------ End of PROLOG Digest ********************