start message
to start concurrent processing. The object receiving the message
messagename processes this message
concurrently with the sender's continued processing.result message. For further details,
see Message class method
start.
world = .WorldObject~new
-- these calls are equivalent and produce "Hello World, I'm Fred!"
msg1 = world~startWith("HELLO", .Array~of("World", "Fred"))
msg2 = .message~new(world,"HELLO", "a", .Array~of("World", "Fred"))~~start
say msg1~result
say msg2~result
::class WorldObject
::method hello
use strict arg place, name
return "Hello" place", I'm" name"!"