Un générateur est une généralisation d'un sous-programme, principalement utilisé pour simplifier l'écriture des itérateurs. L'instruction yield dans un générateur ne spécifie pas une coroutine vers laquelle sauter, mais renvoie plutôt une valeur à une routine parent.