Is there any way to do a lazy bind operation, something like
a <- $ getLine
return (Constructor $ a)
this works for computations in the IO monad :-
a <- unsafeInterleaveIO getLine
return (Constructor $ a)
but I need to do this for a general monad M.
Keean Schupke
Department of Electrical & Electronic Engineering,
Imperial College London.