- From: Michael Kifer <kifer@cs.sunysb.edu>
- Date: Thu, 15 Nov 2007 18:14:53 -0500
- To: Paula-Lavinia Patranjan <paula.patranjan@ifi.lmu.de>
- Cc: public-rif-wg@w3.org
Thanks Paula, There is really no issue semantically and the order of the builtins does not matter for BLD. PRD might be a different matter, but PRD is not my department, and it is still not in a shape when it makes sense to spend time discussing builtins. There is pragmatic issue for BLD, which boils down to the need to specify binding patterns (or modes) for invocation of builtins. If a builtin is invoked by not binding the right arguments, semantically this means that the corresponding relation is infinite. But pragmatically the application should possibly return an error. We could incorporate errors into the semantics, but I think it would be an unnecessary complication. Perhaps we should see what OWL people say on that matter. Another problem is whether we should allow builtins to be represented as functions and not just predicates. Again, there is no problem with this in principle, but it complicates the model theory and I think we should not do that --- at least not in Phase 1. It is easy, however, to define builtin functions as syntactic sugar (i.e., by translating them into predicates). We discussed these issues on the mailing list -- primarily with Axel -- and I think he agreed. The only unresolved issue is whether there should be special syntax for calling builtins. Some people wanted a special syntax, like {foobar(123)} (or whatever). This has an advantage of simplicity, but some people did not like it because it looks ugly. Another problem is that {foobar(123)} and foobar(123) would then mean different things, and this is not nice. I made a proposal that we should treat builtins using the same mechanism as modules. For instance, if a builtin is defined in the XQuery/XPath library then we would refer to it as fn:dateTime(...)@http://www.w3.org/2005/xpath-functions where fn is a prefix for http://www.w3.org/2005/xpath-functions Since all external predicates must be told where they are defined (in which module, KB), builtins would be just one kind of the externals. But the module mechanism has not been defined. There is no technical problem here, however. Just a matter of time. cheers --michael > Hi Michael, > > during the telecon this week I took the action to contact you for > addressing ISSUE-40 [1] on Builtins and logic functions in BLD. > Since this issue is a CP one and I did start the list of functions and > operators [2] to be considered for BLD, I would be happy to help > you towards a proposal for resolving this issue. > > I've read through the minutes of the last F2F and noticed that there > were some discussions on built-ins (such as open list of built-ins > vs. fixed, special syntax to identify built-ins or not), but I didn't find > information on decisions regarding these issues. Since I couldn't attend > the F2F I don't know how to best address the issue of built-ins for BLD. > Should we start by choosing from [2] the built-ins to be supported by BLD? > > Please let me know how we should approach ISSUE-40. We can talked > about it over phone if you think it is easier to discuss this than per > email. > > Best regards, > Paula > > [1] http://www.w3.org/2005/rules/wg/track/issues/40 > [2] http://www.w3.org/2005/rules/wg/wiki/List_of_functions_and_operators >
Received on Thursday, 15 November 2007 23:18:38 UTC