Re: model theory of error

Michael Kifer wrote:
>>
>>How do commonly used implementations of basic logic rule languages 
>>handle the case [...]
> 
> Usually they issue an error. But they do not have a model theory for it,

Which is why I am somewhat insistant that we should consider doing what 
I call "not giving a semantics to error" and that Bijan calls (certainly 
more appropriately, since you understand him :-): "support builtins 
syntactically but say that their semantic  on error is implementation 
dependent" [1] (Bijan: yes, this is what I propose as a third alternative).

> and they do not write a document for W3C saying "this is THE semantics of
> ...".

But we do not _have_ to write a document for W3C saying "this is THE 
semantics of..."!

We have to write for W3C a "technical specifications of [a rule] 
interchange format, suitable for implementers of rule engines and rule 
language translation software", where "this format (or language) will 
function as an interlingua into which established and new rule languages 
can be mapped, allowing rules written for one application to be 
published, shared, and re-used in other applications and other rule 
engines".

To me, this seems perfectly compatible with not supporting a specific 
semantics for error if there is not one that is prevalent in current 
implementations.

This is why I insist that we should consider alternative (c) in addition 
of (a) and (b):

(c) to support builtins (and evaluated functions and predicates in 
general) syntactically, and semantically within their domains of 
definition, but to leave their semantics of error implementation 
dependent. (Maybe requiring that the error not be processed silently, 
though).

I understand that alternative (c) would not work if we were chartered to 
specify a rule language, but that is one of the benefits of having to 
specify "only" an interchange format that it works for us!

Christian

Received on Thursday, 10 January 2008 16:25:24 UTC