- From: Dave Reynolds <der@hplb.hpl.hp.com>
- Date: Fri, 01 May 2009 11:02:07 +0100
- To: Jos de Bruijn <debruijn@inf.unibz.it>
- CC: Sandro Hawke <sandro@w3.org>, RIF <public-rif-wg@w3.org>
Jos de Bruijn wrote: >>>> [*] By the way, is this rule set in RIF Core? During the f2f discussion >>>> on "grounded lists" in the core I found it hard to follow on the phone >>>> what people were meaning by grounded lists. >>> No. We were talking about ground lists, and ground=no variables. >> My confusion was whether we meant the resulting lists are ground i.e. >> are we just ruling out prolog lists with unbound variables in them or >> blocking all "runtime" construction of lists. You are saying the later >> which was my impression also. >> >> In that case Lists are completely useless in Core. >> >> Am I allowed to have a DTB builtin for constructing lists? I remember >> this being discussed at the f2f but couldn't follow the argument against >> it. > > Yes, you can use the builtins. Because of this the lists are not useless > and, also, your system is not guaranteed to terminate. So why the restriction to ground lists? Could we not just define safety over List terms analogously to externals? As far as I can see I can translate any usage of List with variables to an equivalent using externals: ... List(?x ?y) ... => And( ... ?Z ..., ?Z = func:insert-before(func:insert-before(List(), 0, ?y), 0, ?x)) The syntactic restriction to ground List elements doesn't seem to be serving any purpose. Dave -- Hewlett-Packard Limited Registered Office: Cain Road, Bracknell, Berks RG12 1HN Registered No: 690597 England
Received on Friday, 1 May 2009 10:03:00 UTC