[Swift-devel] problems with external dependencies
Ben Clifford
benc at hawaga.org.uk
Sun Mar 22 16:47:45 CDT 2009
As far as I can tell from a brief poke around, this is what is happening
for you:
Compound procedures do not themselves wait for their input parameters
to all be ready to use. instead, they start trying to run all component
pieces.
If some data necessary for some component piece is not ready yet, that
component piece will wait, so the compound procedure doesn't need to (and
indeed shouldn't, because that reduces potential parallelism in some
cases)
You say this:
analyseDatabase(external i) {
trace("i am analyseDatabase");
}
The trace call does not have any need to wait for i to be ready. So it
doesn't wait for i to be ready.
If you say this:
analyseDatabase(external i) {
trace("i am analyseDatabase", i);
}
then the trace call must wait for i to be ready (and fortuitously in the
present implementation doesn't explode even though i cannot be
meaningfully traced).
With that change, you'll see the behaviour you want.
--
More information about the Swift-devel
mailing list