Skip to content

✍️ Reframe strict structured concurrency around lifetime correctness#1138

Merged
cowboyd merged 1 commit intov4from
strict-structured-concurrency-blog
Apr 7, 2026
Merged

✍️ Reframe strict structured concurrency around lifetime correctness#1138
cowboyd merged 1 commit intov4from
strict-structured-concurrency-blog

Conversation

@cowboyd
Copy link
Copy Markdown
Member

@cowboyd cowboyd commented Mar 12, 2026

Motivation

The strict structured concurrency post already introduced foreground and background work, but it still read primarily as a convenience refinement. This update makes the stronger claim explicit: when incidental background work can keep a scope alive after the meaningful computation is complete, the lifetime model is semantically wrong and every framework built on top of it inherits an incorrectness tax.

Approach

Rewrite the article to lead with the correctness argument, introduce foreground vs background earlier, and recast the spinner/timeout example as a semantic and operational failure mode rather than cleanup boilerplate. Preserve the existing points about aggressive teardown, classic structured concurrency, and orderly cleanup while tightening the argument around lifetime correctness, hung scopes, and the operational cost of letting support work outlive the computation it was supposed to support.

Preview

https://effection--strict-structured-concurre.deno.dev/blog/2026-03-12-strict-structured-concurrency/

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Mar 12, 2026

Open in StackBlitz

npm i https://pkg.pr.new/effection@1138

commit: bee2e07

@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from e1e4c0c to 38de956 Compare March 12, 2026 23:49
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from 38de956 to 206d386 Compare March 12, 2026 23:51
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from 206d386 to 05bd9ef Compare March 16, 2026 21:46
@taras taras changed the title ✨ Add strict structured concurrency blog post ✍️ Reframe strict structured concurrency around lifetime correctness Mar 16, 2026
@taras taras force-pushed the strict-structured-concurrency-blog branch from d139195 to 05bd9ef Compare March 16, 2026 23:58
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from 2d97874 to 2b6d726 Compare April 1, 2026 17:39
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from 2b6d726 to f9828d3 Compare April 1, 2026 21:42
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch 3 times, most recently from 52b4536 to d362396 Compare April 2, 2026 03:57
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from d362396 to 2c2d7e5 Compare April 2, 2026 04:14
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from 2c2d7e5 to e0b5e3c Compare April 2, 2026 04:16
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from 9c38fb4 to 9237d26 Compare April 2, 2026 16:55
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from 9237d26 to 5886d13 Compare April 2, 2026 16:59
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from 7643c49 to b267283 Compare April 2, 2026 21:51
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from b267283 to 008a7e0 Compare April 2, 2026 21:55
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from 008a7e0 to 3fc92e9 Compare April 2, 2026 23:19
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from 3fc92e9 to 376b1b9 Compare April 3, 2026 00:20
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from d198610 to 8137d45 Compare April 3, 2026 01:44
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch 2 times, most recently from db375af to 3947b58 Compare April 3, 2026 17:40
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from 3947b58 to a10f632 Compare April 3, 2026 17:50
@cowboyd cowboyd requested review from jbolda and taras April 3, 2026 18:11
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from a10f632 to 0296edc Compare April 3, 2026 20:54
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from 0296edc to e608c1e Compare April 3, 2026 22:02
@cowboyd cowboyd force-pushed the strict-structured-concurrency-blog branch from e608c1e to bee2e07 Compare April 6, 2026 17:24
@cowboyd cowboyd merged commit a22dfe1 into v4 Apr 7, 2026
17 checks passed
@cowboyd cowboyd deleted the strict-structured-concurrency-blog branch April 7, 2026 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants