[Haskell-cafe] How did iteratees get their names?

Ketil Malde ketil at malde.org
Wed Dec 7 21:53:59 CET 2011


Henrik Nilsson <nhn at Cs.Nott.AC.UK> writes:

>> Just like chatter and chattee, employer and employee, there is an
>> iterator (usually as part of an enumerator/ee) and an iteratee.

> Thanks for the attempt to explain. But I, at least, remain mystified,
> and I agree with Douglas that the terminology is confusing.

FWIW, I always thought it was a kind of pun on the iterators in OO-land.

There, the iterator is a cursor-like object, and the program controls it to
iterate over the input -- typically a collection or similar.  Iteratees
invert this, the "program" is in the form of an iteratee, and it is
being iterated by the input (enumerator).  

So the iterator is actively controlling a passive (or reactive) input,
while the iteratee is reactively processing an active or controlling
input.

Or something, I'm hardly an authority on this.  I hope it makes sense.

-k
-- 
If I haven't seen further, it is by standing in the footprints of giants



More information about the Haskell-Cafe mailing list