Input Bindings Suggestion

This is from our community [via Sheila Thompson]:

We can move the input bindings to the right side of the arrow and make
it part of the step invocation.  Every step has a first parameter that
is the input bindings.  We currently have a syntax for this as the
square bracket.

So, this:

$in → xinclude() → [$1,"stylesheet.xsl"] → xslt() ≫ $out

becomes:

$in → xinclude() → xslt([$1,"stylesheet.xsl"]) ≫ $out

If there are options, they come after:

$in → xinclude() → xslt([$1,"stylesheet.xl"],mode="fantastic") ≫ $out

This has the nice feature that a step now produces a set of named
outputs.  The first argument of the step is an input binding.  We just
need a default rule for casting and output port set into an input
binding (simple choice: first output port becomes first input
binding).

It also has the nice effect of explaining what happens when the input
binding isn't specified.  We are currying the step invocation... which
is good.  Except, not always... which is bad.

-- 
--Alex Miłowski
"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 Friday, 12 February 2016 15:51:01 UTC