I must admit to some curiosity about this as well.  My recollection was that the original approach was to use lazy streams 
IO:: [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".  
 

On Sun, Oct 23, 2016 at 11:31 PM, Clinton Mead <clintonmead@gmail.com> wrote:
Just curious, what was the IO approach that "wasn't ready in time"?


Are you aware how "monadic IO" became the standard in Haskell?
It was one of three competing approaches, and AFAIK one turned out to be less useful, and the other simply wasn't ready in time (so it might still be interesting to investigate).

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.



--
Ron Legere (rjljr2@gmail.com)
 C'est le temps que tu as perdu pour ta rose qui fait ta rose si importante