The Dart programming language has recently incorporated a set of extensions designed to support asynchrony and generator functions. Because Dart is a language for Web programming, latency is an important concern. To avoid blocking, developers must make methods asynchronous when computing their results requires nontrivial time. Generator functions ease the task of computing iterable sequences.
Meijer, E., Millikin, K., & Bracha, G. (2015). Spicing Up Dart with Side Effects: A set of extensions to the Dart programming language, designed to support asynchrony and generator functions. ACM Queue: tomorrow's computing today, 13(3), 40:40-40:59. https://doi.org/10.1145/2742694.2747873