@scy semi #coroutine are the general concept

https://en.wikipedia.org/wiki/Coroutine

which could be seen from a categorical point as #coalgebra

https://en.wikipedia.org/wiki/Coalgebra

(Don't meant as answer for an unasked question - just blew my mind a while ago when I realized the deeper concept and thought it might joyful for you as well)

Coroutine - Wikipedia

Корутины C++20

Думаю, многие согласятся, что реализация корутин в C++20 с первого взгляда выглядит страшновато, а документация скорее более запутывает, чем вносит ясность. Многие воспринимают работу приостанавливаемых функций как некую магию со своими странными co_abracadabra()'ми и прочими promise_type'ами . В этой статье я хочу разоблачить якобы стоящую за корутинами магию, сдёрнуть покровы и показать, что спрятано под столом у фокусника.

https://habr.com/ru/articles/984536/

#coroutine #coroutines_internals #c++ #c++20 #c++23

Корутины C++20

Сеанс разоблачения магии. Думаю, многие согласятся, что реализация корутин в C++20 с первого взгляда выглядит страшновато, а документация скорее более запутывает, чем вносит ясность. Многие...

Хабр

За кулисами асинхронности: корутины, горутины и правда между ними

Асинхронность — слово, от которого у разработчиков дергается глаз и теплеет сердце. Корутины, горутины, event loop, трэдпулы — за этими терминами скрывается целая философия, меняющая взгляд на то, как писать высоконагруженные системы. Привет, Хабр! Меня зовут Дмитрий Буров и я Golang-разработчик, а также лидер Go-сообщества в Lamoda Tech. В IT свитчнулся из военного дирижера. В коммерческой разработке — более 10 лет, начинал как фуллстек-разработчик на стеке JS, PHP, CSS, а последние шесть пишу только на Go. В этой статье по мотивам моего доклада для GolangConf расскажу про асинхронность и её роль в современных высоконагруженных системах. Разберём исторический аспект, концепцию и реализацию корутин в разных языках, эволюцию асинхронных подходов, сравним корутины и горутины, выясним, зачем Go добавил в рантайм пакет coro и чем это может обернуться.

https://habr.com/ru/companies/oleg-bunin/articles/958566/

#go #golang #coroutine #goroutine #asynchronous #программирование #разработка #golangconf

За кулисами асинхронности: корутины, горутины и правда между ними

Асинхронность — слово, от которого у разработчиков дергается глаз и теплеет сердце. Корутины, горутины, event loop, трэдпулы — за этими терминами скрывается целая философия, меняющая взгляд на то, как...

Хабр
Channel: messages are shared out so that each message is received by exactly one consumer. Shared flow: messages are replicated so that each consumer receives its own copy of every message. #kotlin #coroutine tips 💡 The diagram is from 📚 Kotlin Coroutine Confidence 👉 pragprog.com/titles/...
💡 #Kotlin #coroutine tip: a channel itself isn't a resource that needs closing. Its close() and cancel() functions are there to help you shut down the tasks/resources that are using or passing through the channel. Read more in Chapter 12 of Kotlin Coroutine Confidence 👉

Kotlin Coroutine Confidence
Kotlin Coroutine Confidence

Escape callback hell and ship fast, clean code that reads as smoothly as it runs. Squash bugs and stamp out memory leaks with an intuitive concurrency toolkit.

В Asio за корутинами

Когда я начал работать с Asio и изучал документацию библиотеки, прочитал мнение, что доку писали «для роботов». Описание каждого концепта, функции или особенности приводится лишь однажды, без перекрестных ссылок и других удобных для разработчика деталей. Документация составлена так, что понять ее может разве что машина, «просканировав» текст целиком. Я подумал, что было бы здорово написать статью, которая служила бы введением в библиотеку. Статью, которая помогла бы начать пользоваться Asio, даже если раньше вы с ней не работали. Что получилось, читайте под катом.

https://habr.com/ru/companies/yadro/articles/939174/

#c++20 #coroutine #asio

В Asio за корутинами

Когда я начал работать с Asio и изучал документацию библиотеки, прочитал мнение, что доку писали «для роботов». Автор имел в виду, что описание каждого концепта, функции или особенности приводится...

Хабр
🌘 C++ Coroutine 進階:將 std::future 轉換為 asio::awaitable
➤ 提升 C++ 非同步程式設計效率的關鍵技巧
https://www.ddhigh.com/en/2025/07/15/cpp-coroutine-future-to-awaitable/
本文詳細介紹了一種高效、線程安全的將傳統 `std::future<T>` 轉換為 `asio::awaitable<T>` 的方法,尤其適用於使用 Boost.Asio 或獨立 Asio 的現代 C++ 非同步程式設計。此方法基於 `asio::async_initiate`,利用線程池避免阻塞 I/O 線程,並提供了完善的異常處理機制,確保程式碼的效能與穩定性。
+ 終於找到一種解決 `std::future` 和 `asio` 整合問題的有效方法了,之前的輪詢方式實在太慢了!
+ 這篇文章寫得非常清楚,範例程式碼也很實用,讓我對 C++ Coroutine 的應用有了更深入的理解。
#C++ #Coroutine #Asynchronous Programming #Asio
C++ Coroutines Advanced: Converting std::future to asio::awaitable

In modern C++ development, coroutines have brought revolutionary changes to asynchronous programming. However, when using boost::asio or standalone asio, we often encounter scenarios where we need to convert traditional std::future<T> to asio::awaitable<T>. This article will detail an efficient, thread-safe conversion method.

🌘 C++ Coroutine 的心智模型
➤ 解構 C++ 協程的內部機制與設計哲學
https://uvdn7.github.io/cpp-coro/
本文深入探討了 C++ coroutine 的運作原理,指出它並非現成的函式庫,而是一個定義自定義點的規格,讓程式設計師能夠靈活地控制協程的行為。作者詳細解釋了 coroutine 的核心概念,包括 call、return、suspend、resume 和 destroy 等操作,並闡述了 `Task<T>`、`promise_type`、`awaiter` 和 `awaitable` 在 C++ coroutine 中的作用,以及它們如何協同工作以實現非同步運算。文章進一步比較了 C++ coroutine 與 Rust Future 的異同,強調了 C++ coroutine 的彈性。
+ 這篇文章深入淺出地解釋了 C++ coroutine 的複雜概念,對於想要理解其底層原理的開發者來說非常有幫助。
+ 我一直覺得 C++ coroutine 很難上手,這篇文章讓我對它有更清
#C++ #Coroutine #程式設計
A Mental Model for C++ Coroutine

C++ coroutine is not a library that is ready to go (e.g. std::vector). It is not even a trait (think of Rust’s Future trait) that library writers or users can implement (or the compiler generates for you in the case of Rust). C++ coroutine is a specification that defines a set of customization points that library writers implement in order to get a functional coroutine.

Lu’s blog
【Kotlin Coroutines Flow】take や first は CancellationException が発生している - Qiita

はじめにtake() や first() は、条件に達したとき、CancellationException を継承した AbortFlowException が投げられていますので、キャンセル完了…

Qiita

Зачем мы написали библиотеку для создания телеграм ботов на С++?

Сейчас телеграм боты крайне популярны, казалось бы, если всё так просто и есть спрос, то наверняка уже сотни библиотек для удобного создания ботов? Вкратце - нет, если вы захотите написать телеграм бота, то вы (были) вынуждены делать это на python. Библиотеки на...

https://habr.com/ru/articles/874378/

#c++ #c++20 #telegrambot #telegram #coroutine #http2 #json #async

Зачем мы написали библиотеку для создания телеграм ботов на С++?

Сейчас телеграм боты крайне популярны, вкратце что они из себя представляют: чтобы создать своего бота нужно получить токен у @BotFather , а потом используя его обращаться в HTTP API для получения...

Хабр