<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: ispeters</title><link>https://news.ycombinator.com/user?id=ispeters</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 14 Jun 2026 22:26:52 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ispeters" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ispeters in "Ask HN: What are you working on? (June 2026)"]]></title><description><![CDATA[
<p>I'm working on a proposal for C++29 to extend `std::execution` by introducing a type-erased sender (P4223 <a href="https://wg21.link/p4223" rel="nofollow">https://wg21.link/p4223</a>).<p>I discovered this week, while the paper was being reviewed by SG1, that I've accidentally stumbled into tackling a rather important problem. Senders as shipped in C++26 can really only express the async equivalent of inline functions because, except for `task`, all the standard senders fully encode the shape of their computation in their type. With something like the `function` I'm proposing, you can use senders to express async algorithms that are separately compiled, just like sync functions.<p>If the feature lands in a shape similar to what I've proposed in P4223R0, then I think an obvious extension is to modify the core language to support a newer kind of "coroutine" that allows you to define a sender with imperative code. My vision here is that we act on the observation that `std::execution` is a language feature implemented in the library by teaching the compiler how to turn imperative C++ with `co_await`s sprinkled through it into the corresponding sender and operation state. I think this would open the door to putting async object lifetime analysis and optimization where it belongs (in the compiler) without the overheads and inconveniences of C++20 coroutines. It would even let us apply the inliner to async functions when the compiler can see the body of an async callee, not just its declaration.<p>For now, my next step is to write P4223R1 to incorporate feedback from this past week's WG21 meeting, and continue exploring the design space around specifying sender attributes for a `function`—I'm thinking the current approach of specifying query function signatures needs to be replaced with a key-value object like receiver environments, but I'm not sure yet what consequences that change would have on the design.</p>
]]></description><pubDate>Sun, 14 Jun 2026 20:09:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48532084</link><dc:creator>ispeters</dc:creator><comments>https://news.ycombinator.com/item?id=48532084</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48532084</guid></item><item><title><![CDATA[New comment by ispeters in "New pancreatic cancer drug might open the door to much longer survival times"]]></title><description><![CDATA[
<p><a href="https://archive.ph/d4mT2" rel="nofollow">https://archive.ph/d4mT2</a></p>
]]></description><pubDate>Sat, 13 Jun 2026 15:25:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48518203</link><dc:creator>ispeters</dc:creator><comments>https://news.ycombinator.com/item?id=48518203</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48518203</guid></item></channel></rss>