This is from Axel, Harold
-----Original Message-----
From: axel@ww.ia.urjc.es [mailto:axel@ww.ia.urjc.es]
Sent: March 2, 2008 3:39 AM
To: Boley, Harold
Subject: [Fwd: [DTB] Datatypes and Built-ins first run to clean up and
extend the initial list]
Can you forward this to the RIF list?
It seems I cannot send it from this webmail-client to the list, I am
behind a mail-safe firewall ;-)
thanks,
axel
---------------------------- Original Message
----------------------------
Subject: [DTB] Datatypes and Built-ins first run to clean up and extend
the initial list
From: axel@ww.ia.urjc.es
Date: Sat, March 1, 2008 9:53 pm
To: public-rif-wg@w3.org
------------------------------------------------------------------------
--
Dear all,
I did a first run on cleaning up the datatypes and built-ins document at
http://www.w3.org/2005/rules/wiki/DTB
What I did so far is:
* Moving the syntax discussion for builtins to an own section (this
might go to BLD/FLD though)
* Added a new syntax proposal for built-ins, which is very simpe:
Why not just add one or two new symbol spaces for built-ins?
We anyway cannot really take the XQuery/XPath functions and ops "as
is"
since we have a deviating semantics in some respects, see below and
comments in *bold* font in the document.
* Adding "guards" and negative guards for all datatypes.
* Adding cast functions
* Sorting the list by Paula into functions and predicates
* Cleaning up the syntax used a bit, e.g. istead of:
op:numeric-multiply($arg1 as numeric, $arg2 as numeric) as numeric
I now write:
op:numeric-divide($arg1 as TERM, $arg2 as TERM) as numeric
since - as if i understood correctly builtin terms are uniterms as
well -
TERMs will be allowed in all argument positions.
I should probably rather use the FLD signature definition syntax here.
For predicates, I just droped the return type xds:boolean in Paula's
list, e.g.
"
op:numeric-equal($arg1 as numeric, $arg2 as numeric) as xs:boolean "
is now
"
op:numeric-equal($arg1 as TERM, $arg2 as TERM)
only defined if all arguments are numeric (i.e. their
interpretation is in the value space of xsd:integer,
xsd:long, or xsd:decimal), otherwise returns false.
"
We run into some issues here which I pointed out in *bold* font in the
document.
This is only a first draft, and I am struggling with the formatting of
the new wiki... but given the limited time I had, what I could achieve
so far.
best,
Axel