- From: Noldus Reijnders <n_reijnders@hotmail.com>
- Date: Tue, 19 Jun 2012 15:29:32 +0200
- To: <csma@fr.ibm.com>, <public-rif-comments@w3.org>
- Message-ID: <BAY164-W525E3F41850B6AF28F2B8384FF0@phx.gbl>
Thank you for your explanation. When I posed the question I thought I could use External as an action, but when better reading the PRD-specification I found out it wasn't. Your explanation makes it more clear!Gr. Noldus To: n_reijnders@hotmail.com; public-rif-comments@w3.org Subject: Re: Execute actions VS external functions From: csma@fr.ibm.com Date: Tue, 19 Jun 2012 15:22:13 +0200 Hi Noldus, You wrote on Thu, 24 May 2012 19:12:42 +0200 [1]: > > I was wondering how (taken from RIF-PRD specification) > Do(Execute( act:print(func:concat("New customer: " _c1)) )) > differs from ('Do(Execute' changed in 'External') > External( act:print(func:concat("New customer: " _c1)) ) > To me it seems they both execute the function. Could > someone please explain me the difference between the two? The RIF-PRD specification does not allow External as an action => the proposed alternative conclusion, using External, is not a well-formed action block in RIF-PRD, and its semantics are not defined. This being said, you are right that Execute is, essentially, the RHS counter-part of Externa. The different syntax emphasizes the different roles in the semantics of PRD: with External, a, externally defined function is executed to check whether a substitution is matching or not; with Execute, it is executed for its side effects only, and whatever is maps to is discarded. Cheers, Christian IBM 9 rue de Verdun 94253 - Gentilly cedex - FRANCE Tel./Fax: +33 1 49 08 29 81 Sauf indication contraire ci-dessus:/ Unless stated otherwise above: Compagnie IBM France Siège Social : 17 avenue de l'Europe, 92275 Bois-Colombes Cedex RCS Nanterre 552 118 465 Forme Sociale : S.A.S. Capital Social : 639.291.962.10 ¤ SIREN/SIRET : 552 118 465 03644 - Code NAF 6202A
Received on Tuesday, 19 June 2012 13:30:06 UTC