import std.stdio, std.algorithm, std.range; auto pascal() pure nothrow { return [1].recurrence!q{ zip(a[n - 1] ~ 0, 0 ~ a[n - 1]) .map!q{ a[0] + a[1] } .array }; } void main() { pascal.take(5).writeln; }