Streaming parsers in D a novel design

Dmitry Olshansky dmitry.olsh at gmail.com
Thu Apr 20 00:17:05 UTC 2023


On Wednesday, 19 April 2023 at 20:46:23 UTC, Sebastiaan Koppe 
wrote:
> On Wednesday, 19 April 2023 at 19:50:35 UTC, Dmitry Olshansky 
> wrote:
>> Cancelation is trivial, you can break a fiber at any safe 
>> point (where it yields)
>
> Interrupting a fiber and cancelling work aren't the same thing. 
> The latter might involve some cleanup, which itself might be 
> async.
>
> Quote from Rust's wg-async 
> https://rust-lang.github.io/wg-async/vision/roadmap/scopes.html#cancellation:
>
>> In today's Rust, any async function can be synchronously 
>> cancelled at any await point: the code simply stops executing, 
>> and destructors are run for any extant variables. This leads 
>> to a lot of bugs.
>
I think your structured concurrency stuff would fit nicely in 
photon, maybe we should get in touch and discuss it.

> Also a blog post on uring and rust, 
> https://without.boats/blog/io-uring/
>
> Suffice to say its tricky.




More information about the Digitalmars-d mailing list