[Swift-devel] serialised execution of @function and operator arguments

Michael Wilde wilde at mcs.anl.gov
Sun May 17 22:37:34 CDT 2009


Ben, can you clarify?

By 'serialized', I assume you mean that if the @function has multiple 
args, they are evaluated one at a time? And the same for any binary 
(2-arg) operator?

And is *each* arg evaluation done serially, all the way down to the 
leaves of the evaluatiion?

By "confuse or upset" you mean it will confuse users who would expect 
all the args to be evaluated in parallel, when the args are expressions 
that could directly or indirectly involve an app() execution?

Is this easy, or hard, to fix? (Just curious; doesnt seem urgent till it 
  causes problems for a real application).

On 5/17/09 12:38 PM, Ben Clifford wrote:
> I noticed that execution of @function arguments and operator operands is 
> serialised.
> 
> One day I'm sure that this will confuse or upset someone, though it seems 
> to have been ok so far in production.
> 
> When evaluation of @function arguments or operator operands was trivial, 
> this did not really matter, but recently (in the past year) these can 
> contain non-trivial code so this is perhaps something to change. In this 
> paragraph, by trivial, I mean not involving any external appliation 
> execution, and being evaluated entirely within the Swift client.
> 



More information about the Swift-devel mailing list