- From: Christian de Sainte Marie <csma@ilog.fr>
- Date: Fri, 11 Jan 2008 13:57:10 +0100
- To: Michael Kifer <kifer@cs.sunysb.edu>
- CC: RIF WG <public-rif-wg@w3.org>
Michael,
So, while you were drinking vodka, I paused and tried to think instead
of reacting with my reptilian brain; and (thanx to that very useless
meeting I have to attend this morning :-) I looked a little bit into
something I had had in the back of my head all the time and got too
carried out to consider further...
What if the new truth value E was such that:
~E = E/\F = E/\T = E\/F = E\/T
= E :- T = E :- F = T :- E = F :- E
= Forall E = Exists E
= E
so that as soon as you have an E somewhere, everything becomes E (so,
the intuitive semantics of E is more like "undefined" than "error")?
Would that lead somewhere?
The intuition is that such an E would allow us to say that a RIF dialect
does not guarantee any useful meaning if rules retrieved from the format
are used in a way that is not supported by the dialect.
In the present case, it would allow us to say that BLD does not carry
any useful meaning as soon as a builtin is applied to an out-of-domain
argument, thus allowing one implementation to throw an exception,
another one to add an error fact in a fact base, yet another to continue
drawing inferences at its own risk (possibly notifying the user that
these inferences are not necessarily intended by the producer of the
rules retrieved from RIF) etc.
Would that be a workable direction to explore?
> 4. The builtin functions will be defined so that they will return rif:error
> whenever their arguments are of the wrong type.
Another question I had in mind (but I am not sure how important it is)
is: can we do without introducing rif:error? That is, specify directly
something like:
/
| I_F(f)(I(t1),...,I(tn)) if all args are ok
I(f ( t1 ... tn )) = <
| _|_ if one argument is of the wrong type
\
> Comments? (esp. if anyone can see whether option (a) breaks somewhere)
Ideally, we should specify E in suc a way that extensions (standard or
user-defined) of BLD could give it stronger semantics, e.g.
corresponding to options (a) or (b).
Christian
Received on Friday, 11 January 2008 12:57:35 UTC