Deferred is not the same as lazy!
Lazy and eager execution is not the same as deferred or immediate.
An operator is deferred if it only pulls the input when iterated. Select pulls nothing on this line. It is deferred.
Iterating a deferred operator is where lazy operators differ from eager ones.
A lazy operator will pull the minimum of inputs required to produce each item. Select pulls one input item to produce one output item.
An eager operator will pull the entire input only to produce the first output.
Reverse is deferred, but eager. It will pull the entire input sequence to produce the first output item.
Immediate operators are neither lazy nor eager. Like First or Last operators they pull as much input as they need, and so First will pull one item, and Last will pull all of them – immediately.
Visit my channel and learn more.
[ad_2]
source