18 Apr
                
                    2016
                
            
            
                18 Apr
                
                '16
                
            
            
            
        
    
                4:26 p.m.
            
        Urk.. I mean there's no need to execute the readLn action.
On Apr 18, 2016 4:18 PM, "David Feuer" 
If
f :: a -> IO a
for some a, and I want to use
mfix f
then f must not inspect its argument in any way, or the computation will get stuck. In some cases, this seems a bit harsh. For example,
mfix (\x -> fmap (3 :) (x `seq` readLn))
looks perfectly reasonable. There is no need to inspect the return [] action to know that the final result of the computation will begin with 3:. Is there a lazy IO mapping function somewhere that can work such magic?