Re: Naming ports vs. naming documents

Rui Lopes wrote:
> Norman Walsh wrote:
>> / Richard Tobin <richard@inf.ed.ac.uk> was heard to say:
>> | I'm assuming that there's a component description somewhere with the
>> | signature of the component in it.  The XSLT component has "source" and
>> | "stylesheet" inputs and a "result" output, so all instances of the
>> | XSLT component have them.  There is no need for any ports to be
>> | mentioned in the pipeline except to connect them up.
>> I see. Yes, that would work, but I think I'd prefer to make all the
>> inputs and outputs explicit in each step even if it's not technically
>> necessary. I think allowing all those defaults would make pipelines
>> much harder to read.
> 
> I agree. Having defaults and assumptions raises the bar for language 
> knowledge. By making them explicit, they become pretty straight-forward 
> to understand. However, it may be argued that by not having defaults, it 
> will be more "tedious" to code pipelines by hand (but that's what GUIs 
> are for).

I think if we make a tedious language, we will not be successful.  While
we should plan for GUIs, simple things need to be simple.  We don't want
to repeat a concrete syntax that everyone seems to dislike or hate (e.g.
XML Schema).

So, for example, chaining XSLT transforms together should have some
defaults:

<step type='xslt'>
    <input name="stylesheet" ref="..."/>
</step>
<step type='xslt'>
    <input name="stylesheet" ref="..."/>
</step>

Of course, the problem is, does that XSLT output one document or many?
Does it take in one or many?

I think a useful default is that there *one* implicit input and *one*
implicit output.  If that doesn't match the context in which the step
is used, halt-and-catch-fire.


--Alex Milowski

Received on Friday, 28 April 2006 16:19:34 UTC