Re: A proposal to restructure our top-level syntax

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Norman Walsh writes:

> / ht@inf.ed.ac.uk (Henry S. Thompson) was heard to say:
> | So now you can write a single recursive pipeline (it has a type you
> | can use to call it with now, namely 'main'), and you can import single
> | pipelines, because they are _really_ libraries after all.
>
> You can't import single pipeline*s*, you can import a single pipeline,
> right? If you import two, they're both named main and you lose.


So the basic story as proposed is that

 a) p:pipeline has no name or type attribute;
 b) p:declare-step has a type but no name;
 b') p:pipeline is shorthand for a library with a single
      p:declare-step with type="main";
 c) to refer to the ports of a p:pipeline or p:declare-step, use
    <p:pipe port="portname"/>.

Importing two files each of which contains a p:pipeline causes a name
clash.

Two possible solutions

 1) Allow an optional 'name' attribute on p:pipeline;

 2) Allow an optional 'type' attribute on p:import, semantics being
    "use this as the type of the implicit p:declare-step, iff the
    resolved-to document is a naked p:pipeline.  Otherwise, no-op if
    the resolved-to document is a library containing the declaration
    of that type, otherwise an error.

I sort of like (2), but I can live with (1).

ht
- -- 
 Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
                     Half-time member of W3C Team
    2 Buccleuch Place, Edinburgh EH8 9LW, 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 really from me _always_ has this .sig -- mail without it is forged spam]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)

iD8DBQFHYCvukjnJixAXWBoRAsAUAJ0Z3LHmsMFdR7Y3E19ZCQI/mrD9VwCfW7V/
HCHB1lntTYSqKXxMZjNIksI=
=tgEL
-----END PGP SIGNATURE-----

Received on Wednesday, 12 December 2007 18:44:13 UTC