3 ms·
> A Smalltalk message is a function call that has to return. Yes, but, that does not mean "async messaging" is not supported. A Smalltalk "message" can return
by galaxyLogic 7y ago
> A Smalltalk message is a function call that has to return.
Yes, but, that does not mean "async messaging" is not supported.
A Smalltalk "message" can return "nil" immediately in other words return nothing. A message-argument can be a "block" which is an executable function-like object, in fact very close to JavaScript function-closures.
So the recipient of a message carrying a block can at any time in the future ask the block to execute itself, with arguments, and thus produce async "replies", again much like with JavaScript "callbacks".
The arguments of a block can be blocks as well thus providing multi-way message passing.
What Smalltalk does not support out of the box is Distributed Programming, i.e. multiple machines communicating and working together passing messages among themselves. You will have to create your own servers and communications protocols to do that.