[Versa] Updated ebnf with no conflicts

Jeremy Kloth jeremy.kloth at fourthought.com
Mon Sep 26 11:09:54 MDT 2005


On Monday 26 September 2005 11:04 am, Michael Olson wrote:
> > I see them being differentiated by bindings alone.  If the qname (in
> > expanded
> > form) is bound to a function where a function-reference is allowed,
> > use it.
> > There may be other issues I'm missing, but this doesn't seem difficult
> > for an
> > implementation to do.
>
> There is, because "rdf:type(all())" is a valid function call.  We
> discussed it on some thread on the list, but basically it translates to
> a traverse expression of all() - rdf:type -> *.  So, in the case of
> rdf:type it is _always_ a bound function call, and it is always a valid
> qname-constant.
>
> It would even be valid not in the special case as a function can always
> be defined with a qname, and can always conflict with a qname-constant.
>
> @function ext:name = all();
> list (ext:name)

So, you are saying a *function-reference* is a valid input to the list 
function?

-- 
Jeremy Kloth
Fourthought, Inc.
http://fourthought.com/
http://4suite.org/


More information about the Versa mailing list