Path: utzoo!mnetor!uunet!husc6!sri-unix!quintus!ok From: ok@quintus.UUCP (Richard A. O'Keefe) Newsgroups: comp.lang.prolog Subject: Re: Logic of Database Updates, Destructive assignments Message-ID: <794@cresswell.quintus.UUCP> Date: 23 Mar 88 00:49:04 GMT References: <4381@megaron.arizona.edu> <1897@ubc-cs.UUCP> Organization: Quintus Computer Systems, Mountain View, CA Lines: 19 Keywords: Reassignable Variables, Database updates Summary: please explain further In article <1897@ubc-cs.UUCP>, voda@ubc-cs (Paul Voda) writes: { criticising Prolog } > Quite often the state is encoded by a list, but even if it is a functor > or a tree there is a significant amount of copying to be done in order > to create a new state. { praising Trilogy } > Trilogy is careful to preserve the logic in similar situation by copying out the > value of y into the variable x. ^^^^^^^ When does Trilogy require copying? Does it use reference counting, as SETL used to, or is it a compile time analysis? > Trilogy does not require the concept of worlds to to allow the > updates to the data bases. The input-output variables are used with the > advantage here. But the Bowen approach permits the manipulation of several worlds at once. (Something which isn't possible in vanilla Prolog either.)