[Swift-devel] problems with external dependencies

Ben Clifford benc at hawaga.org.uk
Wed Mar 25 08:43:07 CDT 2009


(this belongs on swift-devel - i moved it)

On Sun, 22 Mar 2009, Ian Foster wrote:

> I can't recall whether we talked about this before, but if we could 
> choose to run in a mode whereby compound procedures wait for all input 
> parameters, that could simplify debugging. But maybe the semantics are 
> now rich enough that this would not necessarily be correct.

There are a few things in the above paragraph that I think can be 
considered separately:

 * should it be possible to make compound procedures wait for all of their 
inputs to be closed, rather than letting components do this?

  perhaps. you suggest debugging. I can't think of other use cases. So see 
other stuff I have written saying that debugging can perhaps be approached 
in other ways.

 * does this simplify debugging

  unsure. I've never come across the need for it when I've been doing 
things. I'm unsure if others have. It feels to me a bit like "heres 
something to jiggle dependency handling" but without being clearly more 
useful.

 * is an execution mode the way to do this?

  I think no. It would make the language more symmetrical to allow 
compound procedures to wait for their inputs (at the expense of 
parallelism). I think making this a "mode" is the wrong thing to do. It 
might be better expressed as a modifier on procedure declarations, eg: 
(making up terms strict and ready):

  strict (int i)myproc(external ds) { .... }

or 
  (int i)myproc(ready external ds) { ... }

signifying (respectively) that all inputs must be ready, or that the 
specified input must be ready.

That would not be hard to implement.

-- 




More information about the Swift-devel mailing list