Streaming parsers in D a novel design

Sebastiaan Koppe mail at skoppe.eu
Wed Apr 19 20:46:23 UTC 2023


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.

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