- From: Francis McCabe <frankmccabe@mac.com>
- Date: Tue, 17 Oct 2006 07:56:48 -0700
- To: Adrian Giurca <giurca@tu-cottbus.de>
- Cc: Gerd Wagner <wagnerg@tu-cottbus.de>, "'Chris Welty'" <cawelty@frontiernet.net>, "'Public-Rif-Wg (E-mail)'" <public-rif-wg@w3.org>
This misses the point. I was interested in how the *type* information would be carried. Frank On Oct 17, 2006, at 7:24 AM, Adrian Giurca wrote: > Dear all, > > Francis McCabe wrote: > >> >> Gerd: >> Looking at the example XML encoding, I would predict that you >> would have some trouble representing generic or polymorphically >> typed entities. >> Can you show how you would encode: >> >> concat:[list[t],list[t]]=>list[t]. >> concat([],L)=>L. >> concat([E,..L],M)=>[E,..concat(L,M)]. >> >> (This is a function, but cold easily be expressed using >> predications.) >> Frank >> > The standard append Prolog predicate is expressed by two derivation > rules. > > append([],L,L). > > append([X|L1],L2,[X|L12]) :- append(L1,L2,L12). > We need just a built-in function i.e. the list constructor and a > GenericEntityName i.e. the empty list. > In R2ML this it will be: > > <r2ml:DerivationRuleSet> > > <r2ml:DerivationRule> > > <r2ml:Documentation> > > <r2ml:SourceCode> > > append([],L,L). > > </r2ml:SourceCode> > </r2ml:Documentation> > > <r2ml:conclusion> > > <r2ml:GenericAtom r2ml:predicateID="append"> > > <r2ml:arguments> > > <r2ml:GenericEntityName r2ml:genericEntityID="ns:emptyList"/> > > <r2ml:GenericVariable r2ml:name="L"/> > > <r2ml:GenericVariable r2ml:name="L"/> > > </r2ml:arguments> > > </r2ml:GenericAtom> > > </r2ml:conclusion> > > </r2ml:DerivationRule> > > <r2ml:DerivationRule> > > <r2ml:Documentation> > > <r2ml:SourceCode> > > append([X|L1],L2,[X|L12]):- append(L1,L2,L12). > </r2ml:SourceCode> > </r2ml:Documentation> > > <r2ml:conditions> > > <r2ml:GenericAtom r2ml:predicateID="append"> > > <r2ml:arguments> > > <r2ml:GenericVariable r2ml:name="L1"/> > > <r2ml:GenericVariable r2ml:name="L2"/> > > <r2ml:GenericVariable r2ml:name="L12"/> > > </r2ml:arguments> > > </r2ml:GenericAtom> > > </r2ml:conditions> > > <r2ml:conclusion> > > <r2ml:GenericAtom r2ml:predicateID="append"> > > <r2ml:arguments> > > <r2ml:GenericFunctionTerm > r2ml:genericFunctionID="ns:list_constructor"> > > <r2ml:arguments> > > <r2ml:GenericVariable r2ml:name="H"/> > > <r2ml:GenericVariable r2ml:name="L1"/> > </r2ml:arguments> > > </r2ml:GenericFunctionTerm> > <r2ml:GenericVariable r2ml:name="L2"/> > <r2ml:GenericFunctionTerm > r2ml:genericFunctionID="ns:list_constructor"> > <r2ml:arguments> > > <r2ml:GenericVariable r2ml:name="H"/> > > <r2ml:GenericVariable r2ml:name="L12"/> > </r2ml:arguments> > > </r2ml:GenericFunctionTerm> > </r2ml:arguments> > > </r2ml:GenericAtom> > > </r2ml:conclusion> > > </r2ml:DerivationRule> > > </r2ml:DerivationRuleSet> > > -Adrian Giurca > >> >> On Oct 17, 2006, at 6:20 AM, Gerd Wagner wrote: >> >>>> We expect to plan the bulk of the next telecon discussing the >>>> technical >>>> proposal [http://www.w3.org/2005/rules/wg/wiki/CORE], especially >>>> the >>>> syntax. >>> >>> >>> Here is a proposal how to extend it in order to accommodate typing. >>> >>> -Gerd >>> <REWERSE RIF Condition Language Extension Proposal.html> >> >> >> >
Received on Tuesday, 17 October 2006 14:57:08 UTC