# RE: [PRD] Implemented Harold's comments, completing ACTION-809 (Was: Re: [RIF][PRD] ACTION-767: Review PRD)

From: Boley, Harold <Harold.Boley@nrc-cnrc.gc.ca>
Date: Fri, 15 May 2009 17:43:30 -0400
Message-ID: <E4D07AB09F5F044299333C8D0FEB45E907EF0A59@nrccenexb1.nrc.ca>
To: "Christian De Sainte Marie" <csma@fr.ibm.com>
Cc: "RIF" <public-rif-wg@w3.org>
Christian, Here are further remarks. Harold

> Ok. Btw, the wording in PRD is copied verbatim from BLD => Maybe you should make the correction in > BLD, and I will copy it in PRD (thus making sure that you are satisfied with the correction :-).

Done:
http://www.w3.org/2005/rules/wiki/index.php?title=BLD&diff=9317&oldid=9310

How do you normally synchronize your copies with updates in the orginal?

> That is because the first occurrence declares the name of the action variable, and the second occurrence binds it. Need that be made clearer in the definition?

No.

> I removed the redundant (and, thus, confusing) brackets. It is meant as a parameterless construct, > at this stage (an empty element, in the normative XML syntax).

As a (parameterless) call to a primitive or built-in operator it would have different presentation and serialization syntaxes
than as a new *kind* of construct (see also http://www.w3.org/TR/xslt20/#generate-id). Note: "Likewise, a symbol cannot be an atomic formula by itself. That is, if p \in Const then p is not a well-formed atomic formula. However, p() can be an atomic formula."
(http://www.w3.org/2005/rules/wiki/BLD#The_Presentation_Syntax_of_RIF-BLD_as_a_Specialization_of_RIF-FLD)

> It might be extended to use it for externally defined constructors, e.g. with the class name as a  parameter. But that would be for a future OO extension.

Another reason to already now use a call construct rather than a new kind of construct.

> In a parallel discussion with Gary and Adrian, I suggested adding "some kind of 'implementation note', stressing that the priority mechanism can be used to simulate all the syntactic static ordering of rules (which includes most specificity ordering, as well as the ordering by order of the > rules in the ruleset, etc), by assigning priorities according to said ordering at translation time > on the producer side."
>
> Is this what you have in mind?

Is there a paper about simulating  "most(?) specificity orderings" that you could just cite?

________________________________

From: Christian De Sainte Marie [mailto:csma@fr.ibm.com]
Sent: May 15, 2009 5:18 AM
To: Boley, Harold
Cc: RIF
Subject: RE: [PRD] Implemented Harold's comments, completing ACTION-809 (Was: Re: [RIF][PRD] ACTION-767: Review PRD)

********* NOTICE **********
My new email address at IBM is: csma@fr.ibm.com
My ILOG email address will not be forwarded after June 8
*****************************
Hi Harold,

Thanx for the clarifications. Responses below.

"Boley, Harold" <Harold.Boley@nrc-cnrc.gc.ca> wrote on 14/05/2009 23:45:17:
>
>> - In the definition of a semantics structure [1], item 5, definition
>> of IFrame, you stroke through the example frmae with repeated
>> attribute/value pairs, o[a->b a->b]. Why is that?
>
> Just because this same example comes back two sentences later.
> If you do want to have it twice, the example could also be 'introduced'
> better than by just using a colon:
> Bags (multi-sets) are used here because the order of the attribute/
> value pairs in a frame is immaterial and pairs may repeat as in o[a->b a->b].

Ok. Btw, the wording in PRD is copied verbatim from BLD => Maybe you should make the correction in BLD, and I will copy it in PRD (thus making sure that you are satisfied with the correction :-).

> - You marked the definition of action variable declaration [2] with
> question marks in the margin: is that because the definition is
> unclear, or is it something else?
>
> Because (?o New) used to be (?o New(?o))
> and (?value o[s->?value]) has a similarly looking variable duplication.

That is because the first occurrence declares the name of the action variable, and the second occurrence binds it. Need that be made clearer in the definition?

> BTW: Could New() be considered as a parameterless primitive or
> built-in operator?

I removed the redundant (and, thus, confusing) brackets. It is meant as a parameterless construct, at this stage (an empty element, in the normative XML syntax).

It might be extended to use it for externally defined constructors, e.g. with the class name as a parameter. But that would be for a future OO extension.

> I added the following sentence, just after the itroduction
> refraction, recency and priority:
> [...]
>
> Is that ok?
>
> Yes, this is fine with me modulo some improvements to the English
> such as using the plural "vary widely".

Done.

> Best (RIF-PRD) Practices: Should we advise users of existing
> production rule systems to shy away from becoming dependent on specificity
> whenever they want to interoperate? Is there a methodology to transform
> specificity to (a combination of) some of the basic conflict
> resolution strategies that RIF-PRD specifies normatively?

In a parallel discussion with Gary and Adrian, I suggested adding "some kind of 'implementation note', stressing that the priority mechanism can be used to simulate all the syntactic static ordering of rules (which includes most specificity ordering, as well as the ordering by order of the rules in the ruleset, etc), by assigning priorities according to said ordering at translation time on the producer side."

Is this what you have in mind?

> I would support moving [section 8 - Presentation syntax] to an appendix, esp. since it is used
> rather lightly in the document. and it is not normative.
>
> I now think it's better to move it right before section 7 XML
> Syntax, so these two syntaxes are adjacent, in the natural
> presentation-to-serialization order.

I do not think so: in PRD, the mapping is from the abstract syntax to the XML syntax, not from the presentation syntax to the XML syntax. That is what I meant, when I wrote that the PS was not used heavily in the document.

Cheers,

Christian

ILOG, an IBM Company
9 rue de Verdun
94253 - Gentilly cedex - FRANCE
Tel. +33 1 49 08 35 00
Fax +33 1 49 08 35 10

Sauf indication contraire ci-dessus:/ Unless stated otherwise above:
Compagnie IBM France
Siège Social : Tour Descartes, 2, avenue Gambetta, La Défense 5, 92400 Courbevoie
RCS Nanterre 552 118 465
Forme Sociale : S.A.S.
Capital Social : 609.751.783,30 €
SIREN/SIRET : 552 118 465 02430


Received on Friday, 15 May 2009 21:44:59 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:34:08 GMT