Iteratee, in which, instead of the developer calling the iterator repeatedly to get new values, the iteratee is called repeatedly to process new chunks of data - an example of inversion of control. Design pattern Iteration Iterator pattern Range Visitor pattern Pointer (computer programming)