[HN Gopher] Structured Concurrency ___________________________________________________________________ Structured Concurrency Author : pcr910303 Score : 23 points Date : 2022-03-18 11:51 UTC (1 days ago) (HTM) web link (250bpm.com) (TXT) w3m dump (250bpm.com) | ghoward wrote: | Just so you know, those of us who believe in structured | concurrency often have slightly different meanings (which I | believe will converge over time). My definition is at [0]. | | Beyond libdill, a rough version has now been implemented in C. | (By me, sorry for shilling.) | | An example of it in code is at [1]. | | Combine it with something I call a stackpool (basically a heap- | allocated replacement for `alloca()`), and you can worry very | little about managing memory manually, even in C. | | In fact, both together can even serve the same purpose as Rust's | borrow checker in C, if you are willing to write your code with a | certain style. | | Once I implement it as a first-class construct in a language | (which I'm doing right now), it will look like this: | threadset { // This starts a thread. | go run_thread(arg1, arg2, etc); // The current | thread does not leave // this block until all threads | finish. } | | I'm happy to answer questions. | | [0]: https://gavinhoward.com/2019/12/structured-concurrency- | defin... | | [1]: | https://git.yzena.com/Yzena/Yc/src/commit/30f4ae4e471cb5a500... | speps wrote: | (2016) ___________________________________________________________________ (page generated 2022-03-19 23:00 UTC)