Сопрограмма — компонент
программы, обобщающий понятие
подпрограммы, который дополнительно поддерживает множество входных точек (а не одну как подпрограмма) и остановку и продолжение выполнения с сохранением определённого положения.Сопрограммы являются более гибкими и обобщёнными, чем подпрограммы, но реже используются на практике. Применение сопрограмм, являлось методикой ещё
ассемблера, практиковалось лишь в некоторых
высокоуровневых языках (
Simula,
Modula-2). Сопрограммы хорошо пригодны для реализации многих похожих компонентов программ (
итераторов,
бесконечных списков, каналов,
совместных задач).
Продолжение на Wikipedia.οrg...