Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!samsung!munnari.oz.au!goanna!ok From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) Newsgroups: comp.lang.prolog Subject: Re: Object Oriented Prolog question Message-ID: <4850@goanna.cs.rmit.oz.au> Date: 28 Feb 91 03:01:19 GMT References: <1991Feb19.093713.4151@ecrc.de> <29107@cs.yale.edu> Organization: Comp Sci, RMIT, Melbourne, Australia Lines: 19 In article <29107@cs.yale.edu>, ciancarini-paolo@cs.yale.edu (paolo ciancarini) writes: > Just as a matter of curiosity, what is a "coroutining system" > if it is not a system of things with independent states (i.e. objects) ? A "coroutining" Prolog is one which is capable of executing goals out of order. That is, if we have p :- q, r. q :- a, b. r :- c, d. (ignoring parameters), then the query ?- p. may be solved in the order c, b, d, a. There is *nothing* in here corresponding to a mutable state, there are *no* objects (no notion of "object identity" is useful or definable, and without object identity you haven't got objects). In fact, coroutining Prologs encourage pure coding, because it is hard to rely on the execution order of side-effective commands like assert/1 and retract/1. -- The purpose of advertising is to destroy the freedom of the market.