Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!att!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!samsung!uunet!edsews!edsdrd!web From: web@edsdrd.eds.com (William E. Bejcek) Newsgroups: comp.object Subject: Re: Infinite Loop of Message Passing Message-ID: <321@intrepid.edsdrd.eds.com> Date: 28 Jan 91 14:09:35 GMT References: <26386@uflorida.cis.ufl.EDU> <4172@osc.COM> Reply-To: web@intrepid.eds.com (William E. Bejcek) Distribution: usa Organization: EDS Research & Development Lines: 32 In article <4172@osc.COM> tma@osc.UUCP (Tim Atkins) writes: >The buck has to stop somewhere. It is the very function of the >Evaluator to take a method as argument to its eval function and >actually execute it. Exactly. We did an environment here, internally named OWL (not to be confused with Trellis/Owl from DEC), where "everything" is an object" including the "evaluator". We incorporated the concept of an external method (one coded in the native language) but having an object in the environment that represents it. Encapsulating the native code with a consistent protocol can introduce some really nice features. For example, in OWL, you can trap any object with additional instance level behavior. There are traps for tracing, breaking, & debugging that can be put on other behavior to aid with debugging. These work equally well on external methods as they do with standard intrepreted methods. The diffence is that you can trap the individual "statements" of a standard method (they are just objects that get eval'ed) giving finer granularity. Using the "all object" approach for behavior (a term that we use as a generalization of the standard method term) along with a consistent protocol provides a very powerful extensible environment. We've used this for defining inferencing behavior (logic, forward & backward chaining), properties, slot (instance variable) accesses, programable slots (i.v. x method), expainable slots (how did the value get there), etc. -- / William E. Bejcek / They choose the path where no one goes / / Electronic Data Systems / They hold no quarter, they ask no quarter - LZ / \ web@edsdrd.eds.com \ UUCP ... {rutgers!rel,uunet}!edsews!edsdrd!web \