3 ms·
> For example: if a single message is sent to two different objects, then those two objects send a message to a third (diamond shape), the third object will be
by jancsika 7y ago
> For example: if a single message is sent to two different objects, then those two objects send a message to a third (diamond shape), the third object will be executed twice, despite all of this happening in the same logical time-step.
That's not an accurate description of the language's semantics.
For example-- is the third object a unary or binary operator?
Also-- for a unary object in a proper flow-based language, what happens if that third object is a unary operator like `sin`? I think the language/frontend cannot let you make the connection because it doesn't make any sense (or you'd end up implicitly overwriting one of the values/vectors).
In a Max control chain you do get two outputs from two incoming connections to a unary operator. But then perhaps the programmer wanted to collect those two values into a two-item list and trigger that further down the chain. If they practiced "Fresco-based write protection" as they were trained, the diagram is encoded as spaghetti and we can never know for sure. :)
- qmmmur 7y agoI mean, this kind of comment really only comes from someone who has never used the language in any kind of depth. Whether or not the object triggers twice depends on type of object as you pointed out, ordering of inputs forgetting whether or not two executions is perhaps intended.
- tayistay 7y agoSorry, I should have specified that the third object is a unary operator (was thinking just print). The point is that it can execute something twice, and that differs from a proper flow-based language. The main point is that the semantics are, shall we say, interesting.