I like iteration as a paradigm for I / O, but I have some problems with names.
I am having problems developing relationships with these names. Can someone explain their origin? Definition of data Stream a = Chunks [a] | EOF
data Stream a = Chunks [a] | EOF
worse if you like. This is not in line with my previous view of flow, because it is only a small part of the total flow.
It seems that if Iteratee
consume things, Enumerator
produce them, and Enumeratee
fulfill both of these names, such as Sink
, Source
and Transformer
or Consumer
, Producer
and Transformer
might be the best choice? Is there any reason not related to the convention why these names are not consistent with ideas?
Out of all 11 options from this topic, I'm intrigued. John Millikin will take this old Haskell-Cafe thread about a variation that statically fixes the "diverging iteration" problem (the iteration problem that returns Continue in response to EOF), but my name problems apply to all versions that I have yet seen.
source share