Re: Determining whether a pipeline has a (defaulted) output

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

Further to action A-86-04, here's a draft proposal on how to address
the problem raised by this thread, namely: if the last step of a
pipeline is itself a pipe, how do we tell, as required by the
output-defaulting rule, if that last step has output, w/o requiring
implementations to solve the halting problem?

Add the following after the definition of *last step* in section 2.1:

- ----------

  For the purposes of output defaulting, the *last step* is considered
  to have a primary output port if and only if

   1) It is an atomic step whose step type definition specifies a
      primary output port;
   2) It is a named pipeline whose definition includes an explicit
      primary output port;
   3) It is a p:choose one of whose branches has a *last step* with a
      primary output port;
   4) It is a p:try whose p:group has a *last step* with a primary
      output port;
   5) It is some other compound step whose *last step* has a primary
      output port;

  NOTE: It follows that authors of pipeline libraries SHOULD include
  explicit primary output port declarations where appropriate.

- -----------

This achieves the stated goal, namely that the output defaulting rule
can be applied w/o arbitrary recursion and analysis through named
pipelines.

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)

iD8DBQFHIKIWkjnJixAXWBoRAiHxAJ0ep3r4l5yqPRPUW8/bAszT0t+nvwCbB2NW
5uWn/1L50WJFvYKklMs9dHM=
=UVjz
-----END PGP SIGNATURE-----

Received on Thursday, 25 October 2007 14:03:27 UTC