Re: named-argument uniterms [was: regrets telecon on Tuesday]

> 
> After recent email interchanges I realized that named-arg uniterms bring
> very little (just possible args reordering, but one has to list them all).
> The only argument in favor of keeping them thus remains to have BLD general
> (and define various useful profiles).
> For my taste the little gain doesn't justify complications, therefore
> I am reversing my straw poll vote: I'm in favor of not including them in
> BLD but will not object to have them.
> 
> Regards,
> Igor


I think this debate is loosing sight of what we are trying to accomplish.
Here are some points to clarify things.

1. Positional notation, frames, and named arguments are three equivalent
   notations. One can encode the other two, and there is no gain in the
   expressivity.

BUT

2. We are not designing a minimalist language, but an *interchange format*.
   The goal is to be able to send rules like this:

   SystemA ----> RIF ----> SystemB

   Suppose that both systems support named arguments and want to
   communicate through RIF, but RIF does not support named arguments.

   In that case, the two systems would have to encode named args as follows
   (there are several ways - I just picked up one):

   SystemA                       RIF                              SystemB
   p(foo->2,bar->"abc") ----> p(foo(2),bar("abc")) -----> p(foo(2),bar("abc"))

   The big trouble is that if SystemA & SystemB also support positional
   predicates then p(foo(2),bar("abc")) is also a valid formula in both of
   those systems.  So:

   p(foo(2),bar("abc")) ----> p(foo(2),bar("abc")) -----> p(foo(2),bar("abc"))

   What happened is that two distinct formulas are now mapped into the same
   thing and no exchange is possible. At least, not in a natural way.


	--michael  

Received on Wednesday, 23 January 2008 07:39:47 UTC