On 24 Oct 2016, at 15:50, Ronald Legere <rjljr2@gmail.com> wrote:I must admit to some curiosity about this as well. My recollection was that the original approach was to use lazy streamsIO:: [request] -> [respose].This can be managed a bit better using continuations (Perhaps continuations can also be considered a separate approach?)And now we have the IO Monad. (which can be defined in terms of the stream based approach but is not implemented that way)The only other approach I am aware of is Clean's "Unique types".