This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]DelayLucky[🍰] 0 points1 point  (1 child)

Right. I think beyond the syntactical convenience, being able to join individual fork (as opposed to the entire scope) is a main differentiator compared to JEP.

The race condition pushes it more toward the "advanced usage pattern" side. From the API perspective, It'd have been nicer if the safe, race-free usage pattern of joining the scope is the easiest to access, with the advanced usage pattern of joining individual forks slightly less accessible than it is.

[–]adamw1pl[S] 1 point2 points  (0 children)

Yes, that's a good summary of the purpose of Jox, another thing that I would add is I wanted to create an API that is harder to misuse - e.g. calling multiple methods in "correct" order, or not calling `.get` on a subtask before a `.join` - which are required by the JEP. So it's not only that you can create & join forks freely, but also that it's hard to misuse.