<div dir="ltr"><i>> <span style="white-space:pre-wrap"> `STILLBORN` state</span></i><div><span style="white-space:pre-wrap"><br></span></div><div><span style="white-space:pre-wrap">My feedback - I'd look for another name for this state. That word might be a fairly deep emotional trigger for some folks so imo I'd hope for an alternative for that state.</span></div><div><span style="white-space:pre-wrap"><br></span></div><div><span style="white-space:pre-wrap">Now 2c</span></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 19 May 2023 at 12:17, Rob Bygrave <<a href="mailto:robin.bygrave@gmail.com">robin.bygrave@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><i>> all Concurrent Tasks should be Structured</i><div><br></div><div>That was my thought too, there isn't a "UnstructuredTaskScope" per se [and I don't think there will be one in the future?] ... so the "Structured" part of StructuredTaskScope can seem unnecessary. It feels like it could be "TaskScope" perhaps?</div><div><br></div><div><br></div><div><i>> `StructuredTaskScope` is not a task though, but it is really a scope<br></i></div><div><br></div><div>fwiw I agree, I think of it as a "scope" that contains "tasks" [that will usually run concurrently].</div><div><br></div><div><br></div><div>My 1c </div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 19 May 2023 at 10:01, Attila Kelemen <<a href="mailto:attila.kelemen85@gmail.com" target="_blank">attila.kelemen85@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">><br>
> So, what does "Subtask" mean when there is no "Task"?<br>
><br>
><br>
> Personally, I would go with either just "Task" or "StructuredScopeTask" as "Subtask" is sort of inventing new terminology.<br>
><br>
> If you renamed "StructuredTaskScope" to just "Task" then "Subtask" would make more sense as it is something spawned from a Task. This would be my preferred choice. Shorter names for common things... in particular things that should become common.<br>
><br>
> However, what is the relationship to "Task" with all those other things called "...Task..." Maybe just "ConcurrentTask" and "ConcurrentSubtask" are more meaningful, but "java.util.concurrent.Task" and "java.util.concurrent.Subtask" are probably clear enough.<br>
><br>
> In a sense, we would be saying that all Concurrent Tasks should be Structured.<br>
<br>
`StructuredTaskScope` is not a task though, but it is really a scope<br>
(besides, a simple name like `Task` would conflict with a lot of<br>
existing things, which would be horrible, even if others shouldn't<br>
have given such a simple name as well).<br>
<br>
The way I imagine it is that the "task" you are looking for is the<br>
block between the creation and closing of `StructuredTaskScope`.<br>
Still, obviously naming this is difficult, because it is also not<br>
exactly a task (I mean it has a task() method for confusion, and that<br>
is not the parent, but actually the action of the `Subtask`, but I<br>
believe the `task()` method should be removed, as it is harmful). As<br>
far as usage goes, this wants to be a reference to the result of the<br>
task, but the existence of `state()` would make it awkward to call it<br>
some kind of result (also then `get` would return the result of a<br>
result, which is also awkward). So yeah, it should be<br>
`ResultReferenceWithStateOfComputation` :). Though, on a second note,<br>
it could be called result, and you could think of state as the state<br>
the result is in (since you are not really expected to rely on this<br>
changing, and should not use it before `join`).<br>
</blockquote></div>
</blockquote></div>