yield
Mot-clé qui met une fonction en pause et renvoie une valeur ; à l'appel suivant, l'exécution reprend exactement là où elle s'était arrêtée.
C'est ce qui crée les fonctions génératrices en Python, en JavaScript (function*) et en C#. En Ruby, yield sert plutôt à appeler le bloc passé à la méthode : même mot, autre mécanique. Exemple Python : une fonction evens() contenant while True: yield n produit des nombres pairs à l'infini sans jamais les stocker. C'est de l'évaluation paresseuse : les valeurs sont calculées à la demande, pas toutes d'avance, ce qui ménage la mémoire sur les grandes séquences, voire les séquences infinies.