Noun
coroutine (plural coroutines)
(programming) A piece of code that performs a task, and that can be passed new input and return output more than once.
Although a powerful tool, coroutines can be hard to understand due to the way data can flow back and forth between sections of the code.