- From: Christian de Sainte Marie <csma@ilog.fr>
- Date: Tue, 08 Jan 2008 14:44:14 +0100
- To: Michael Kifer <kifer@cs.sunysb.edu>
- CC: RIF WG <public-rif-wg@w3.org>
Michael Kifer wrote: > Last Tuesday we were unable to resolve the issue of builtin functions > because we could not decide on their semantics. The problem is that builtin > functions are partial and are supposed to return an error if given wrong > arguments. For the strict purpose of rule interchange, do we need to give semantics to undefined items such as evaluated functions or predicates with out-of-domain arguments? Of course, if there were a standard semantics and/or expected behaviour, it would make sense for RIF to use it. But I understand that it is not the general case: so, wouldn't imposing a specific behaviour (e.g. as proposed by Michael) hamper interchange between rule languages that have a different behaviour (such as failing or throwing an exception, which is probably quite a common behaviour in current rule languages)? Do we need anything more than specifying that RIF does not mandate any specific behaviour for handling undefined items (and leave it to the implementations to decide/know what to do about it)? Or specifying that such cases must be handled as an error (leaving it to each implementation to decide or know how to handle the error), if we want to make sure that using RIF for rule interchange will not cause invisible unexpected consequences. In addition, that would save us the burden of inventing a model theory of error :-) Christian
Received on Tuesday, 8 January 2008 13:44:30 UTC