I think we can replace iterator chaining by objects that represent the 
transformations.

Then it can be applied lazily like Dask (aka build a compute graph) or applied 
like D-ranges, a bit like @timotheecour 
[PoC](https://github.com/timotheecour/vitanim/blob/82b73565bf24a984658974790c8ada32632f5a6a/drange/src/drange/drange_algorithms.nim).
 AFAIK the new C++20 ranges work like this as well. 

Reply via email to