-
Notifications
You must be signed in to change notification settings - Fork 529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added conceptual documentation and general introduction #2140
Added conceptual documentation and general introduction #2140
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just some typos I saw while reading part of it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing read. Thank you so much for this.
|
||
#### Structured Concurrency | ||
|
||
Formally-speaking, structured concurrency is a form of control flow in which all concurrent operations must form a closed hierarchy. Conceptually, it means that any operation which *forks* some actions to run concurrently must forcibly ensure that those actions are completed before moving forward. Furthermore, the *results* of a concurrent operation must only be made available upon its completion, and only to its parent in the hierarchy. `parTupled` above is a simple example of this: the `IO[(Response, Response)]` is unavailable as a result until *both* service calls have completed, and those responses are only accessible within the resulting tuple. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since fork has not been used up to here, should we add a (start
in Cats Effect) to maybe link the general concept to the actual implementation in CE?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I struggled a lot with this paragraph. "Fork" in particular is difficult, because it's hard to define the concept without being circular. I'm not sure the implementation really helps, but I do agree this needs re-wording.
Co-authored-by: Vasil Vasilev <vasil@vasilev.io>
TIL, commit co-authoring. Handy. |
Says the guy who figured out how to co-author all of his tracing commits with @RaasAhsan… |
I did not actually, they are all authored solely by @RaasAhsan. I only committed them (even though in reality I also wrote them, because they needed a lot of changes since the underlying code had moved forward so much). |
I used |
No description provided.