Iterable fibonacci() sync* { int a = 1, b = 1; while (true) { yield a; int temp = a; a = b; b = temp + b; } } void main() => print(fibonacci().take(20));