Re: Revisiting "fixing parameters"

Norman Walsh <ndw@nwalsh.com> writes:

> Here's my synthesis of the discussions at the face-to-face:

There's one aspect of this I'm having difficulty reconstructing: 

> 4. If a step has no bindings for any of its parameters options, then
>    the bindings of the nearest enclosing pipeline are inherited.
> . . .
> 6. If a pipeline declares more than one parameters option, then it is
>    en error to rely on the inheritance; each contained step must specify
>    a binding for each of its parameter options.

On the face of it those two appear to be inconsistent.  If, per (4),
this works:

<p:declare-step type="p:awk">
 ...
 <p:option name="p1" parameters="true"/>
 <p:option name="p2" parameters="true"/>
 ...
</p:declare-step>

<p:declare-step type="p:ex1">
 ...
 <p:option name="p1" parameters="true"/>
 ...


 <p:awk>
  ...
  <p:with-option name="p2" select="map{'x' := 'open'}"/>
 </p:awk>
</p:declare-step>

<p:ex1>
  <p:with-option name="p1" select="map{'y' := 'closed'}"/>
  ...
</p:ex1>

[I now realise (4) and (6) are a bit unclear wrt what 'enclosing'
means, but I believe we said 'lexical'.  And the above example is OK
with that, I think]

So if my ex1 above is OK, why isn't this OK too:

<p:declare-step type="p:awk">
 ...
 <p:option name="p1" parameters="true"/>
 <p:option name="p2" parameters="true"/>
 ...
</p:declare-step>

<p:declare-step type="p:ex2">
 ...
 <p:awk>
  ...
 </p:awk>
</p:declare-step>

<p:ex2>
  <p:with-option name="p1" select="map{'y' := 'closed'}"/>
  <p:with-option name="p2" select="map{'x' := 'open'}"/>
  ...
</p:ex2>

?  Is the problem that you don't mean inheritance to be by parameter
name at all?

ht

[Note that (3) should have p:with-option, not p:with-param, right?]
-- 
       Henry S. Thompson, School of Informatics, University of Edinburgh
      10 Crichton Street, Edinburgh EH8 9AB, SCOTLAND -- (44) 131 650-4440
                Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk
                       URL: http://www.ltg.ed.ac.uk/~ht/
 [mail from me _always_ has a .sig like this -- mail without it is forged spam]

Received on Wednesday, 5 December 2012 09:17:11 UTC