On 24/03/2026 21:35, Eirik Bjørsnøs wrote:

The "Joiner" is weakly named, maybe because it has too many responsibilities. No pointy-haired boss ever uttered: "Fred, will your tasks be joined by Friday?". In the real world, tasks are completed, not joined. Worse, we don't even join a task, we join a scope: scope.join(). Joining a scope makes no sense.


Subtasks are forked individually, and joined as a unit. That is fundamental to this feature. A Joiner produces the outcome for the join method, it doesn't have other responsibilities. As always, considerable time was spent on the naming here too. Kudos to Viktor for coming up with "Joiner" as it avoided using a name derived from words like "reduce" or "fold" that was too far from its role to produce outcome for the join method.

-Alan

Reply via email to