4 ms·
This is super interesting and I'm still going through the paper. For folks with a "Cool, but why" reaction, the introduction elaborates: For example, the P l
by rraval 9y ago
This is super interesting and I'm still going through the paper. For folks with a "Cool, but why" reaction, the introduction elaborates:
For example, the P language [10] is a language for describing verifiable asyn-
chronous state machines, and used for example to implement and verify the core
of the USB device driver stack that ships with Microsoft Windows 8. Compiling
to C involves a complex CPS-style transformation [19, 26] to enable async/await
style programming [5] with a receive statement – using the effects library this
transformation is no longer necessary and we can generate straightforward C
code instead. Similarly, we hope to integrate this library with libuv [29] (the
asynchronous C library underlying Node [43]) and improve programming with
libuv directly from C or C++ using async/await style abstractions [12, 27]
Since the linked abstract doesn't actually mention this practical application, consider this comment as a goad to encourage more people to click through to the paper :)
- zengid 9y agoIt should be noted that the previous sentence before your quote is: "For now, we mainly see the library as a target for library writers or compilers."
- mannykannot 9y agoYour caveat is well-taken, but you can learn a lot from what is done in these fields.
- Matthias247 9y agoCouldn't these kind of goals also be reached with the upcoming C++ coroutines (also pioneered by Microsoft)? I remember some presentation that those (or at the least the LLVM implementation underneath it) could also be used for C.