Re: The first five minutes ... a thought experiment (long)

On Thu, Feb 20, 2014 at 2:23 PM, Romain Deltour <rdeltour@gmail.com> wrote:
>>
>> I am referring to that proposal as well.
>
> OK. In that proposal I suggest that readable ports can be declaratively assigned to variables added to the in-scope bindings. This declaration is explicit, static info and can be relied on for static analysis.
>

After a lot of discussion yesterday at the WG meeting, that is a lot
harder than the words you've written above make it seem like.

>>
>> Hmm, ... not sure that's a great solution.  Primarily, the concept of
>> the "binary is a document" is lost by just using arbitrary values.
>
> I'm not sure I understand what you mean by that.

What is the media type of the expressions "1" and "(1 2 3)" ?


>
>
>> In particular, I question the
>> streaming capabilities of such an approach as the "XPath expression"
>> assumption requires that you have the complete value in some sense
>> (e.g. you have the complete set of documents from the preceding step
>> if it produced more than one document).
>
> OK, that's a very good point.
>
> For one thing, it's possible to make non-streamable XProc in v1 already.
> Another thing is that all the work on XQuery and XSLT streamability may be used here to analyze whether an XPath expression is streamable.

Of course, but I think it makes it harder when the inputs are just
XPath expression.  Simple expressions of straight though pipelines can
quite easily become non-streamable with simple tweets to the
expression.

>
> Yeah, and to be honest I can see value in that distinction.
>
> That said, looking at the inventory of v1 steps is a red herring. Of course options universally have simple values, that cannot be otherwise. Or it would be hell too complicated to parse.
> But, if v2 allows any XDM in options (MUST req 2.5), that could change, right ? An option can theoretically be a sequence of documents. Or are you limiting it to sequence of atomic types ?
>

Yes, we are going to give you pandora's box.  You can open it if you want.

You will be able to create steps that only have options and no inputs
(as you can today).  Because V2 will allow you to have sequences of
items for those option values, you can pass all your documents via
those options.  That will not stream, probably never stream.  If
that's what you want, great.

Streaming is a bit of a red-herring because many pipelines run fine
without it.  Leaving the ability open is a requirement for the
specification.

-- 
--Alex Milowski
"The excellence of grammar as a guide is proportional to the paucity of the
inflexions, i.e. to the degree of analysis effected by the language
considered."

Bertrand Russell in a footnote of Principles of Mathematics

Received on Thursday, 20 February 2014 15:00:26 UTC