I can do this. Please assign me an action.
Jos
Chris Welty wrote:
>
> So who will take up the issue of binding patterns for lists in Core?
> Axel? Jos?
>
> -Chris
>
> Sandro Hawke wrote:
>> I think the DTB section on RIF lists [1] is now ready for review for
>> Last Call. A few notes and questions:
>>
>> * I removed the func:delete function, because (a) it's
>> not in xpath,
>> (b) it's confusingly similar to func:remove, and
>> (c) it's trivial emulated: func:delete(L,
>> I) = func:except(L, func:make-list(I))
>>
>> Some other functions are trivial emulated, but they're in xpath. I
>> think the bar is higher for us adding functions. This way, the
>> only ones we're adding are is-list, list-contains, make-list, and
>> get. list-contains is that only the can be emulated:
>> list-contains(L, I) iff count(index-of(L, I)) > 0
>> but I think we specifically discussed that and agreed it was
>> worthwhile to have list-contains.
>>
>> Obviously, if someone actually wants it, I'm okay with putting
>> func:delete back in.
>>
>> * This section has examples. I could trivially suppress them for now
>> (this wiki-text is generated by a program [2]), if they bother
>> people. I like them. They have all been checked by my demo code
>> [3]. I'm willing to make similar examples for the rest of DTB for
>> a later edition.
>>
>> * I don't know the right binding pattern for list-contains. Above, I
>> was assuming it was (b,b), but I can imagine some utility to all
>> binding patterns, and at least (b,u) seems pretty reasonable. It's
>> not clear to me whether PR systems would do what I'm imagining with
>> that, but it'd be nice to write rules like:
>>
>> forall M ( if
>> list-contains(eg:list_of_friends, M)
>> then eg:is_friend(M)
>> )
>>
>> Without it, I guess you'd need some much more cumbersome
>> tail-recursive rules like this:
>>
>> friend_list(eg:list_of_friends) forall L M (
>> if friend_list(L) and
>> get(L, 0) = M
>> then eg:is_friend(M)
>> )
>> forall L (
>> if friend_list(L) and
>> count(L) > 0
>> then friend_list(sublist(L, 1))
>> )
>>
>> PR folks, what do you want, there?
>>
>> I think that it. This complete ACTION-760.
>> -- Sandro
>>
>>
>> [1]
>> http://www.w3.org/2005/rules/wiki/DTB#Functions_and_Predicates_on_RIF_Lists
>>
>> [2] http://dev.w3.org/cvsweb/2009/rif/list_builtins.py
>>
>>
>
--
+43 1 58801 18470 debruijn@inf.unibz.it
Jos de Bruijn, http://www.debruijn.net/
----------------------------------------------
Many would be cowards if they had courage
enough.
- Thomas Fuller