Thanks, Peter. Your point about there not being a "proper" Prolog interpreter according to that definition is shared by Reiter.
On Nov 4, 2008, at 12:23 AM, Peter Van Weert wrote:
Hal Hildebrand wrote:I'm doing some offline research on Reiter's GOLOG and came across hi assertion that he requires a "proper prolog interpreter". Since I'm going to be using JESS rather than a prolog interpreter for this bit of investigation, I was wondering if JESS actually does meet his requirement: A /proper/ Prolog interpreter is one that evaluates a negative literal not *A*, using negation-as-failure, and moreover, does so /only when (at the time of evaluation)/ the atom *A* /is ground/. When *A* is not ground, the interpreter may suspend its evaluation, working on other literals until (with luck) *A* does become ground, or it may abort its computation. Either way, it never tries to fail on non-ground atoms Obviously, I'm way out of my league here if I don't know the answer to the question as to whether JESS satisfies this requirement, but I thought I'd get the answer from those who do know.In a way it does, but probably not the way you want. Its true that Jess will never try to fail on non-ground atoms, but only because neither non-ground atoms or negation-as-failure are supported by Jess. Jess is not Prolog, nor will it ever be. Jess is a forward chaining rule engine, Prolog is a backward chaining engine with built-in chronological backtracking. Jess only supports ground data (and objects), whereas Prolog reasons over non-ground logical data. So, though there is an overlap in application areas, Prolog and Jess are quite different languages. Btw: I haven't read Reiter's work, so I do not know why he's defining a "proper" Prolog interpreter that way, but I do know that using that definition no Prolog implementation I know of is "proper", nor should they be. All Prolog engines attempt negation-as-failure for non-ground data, and I'm pretty sure that's also what the Prolog language standard demands. Peter <Peter_VanWeert.vcf>
-------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] --------------------------------------------------------------------
