История изменений
Исправление unC0Rr, (текущая версия) :
Однострочник из ghci:
Prelude Control.Monad Control.Monad.State.Strict> runStateT (forever $ get >>= lift . print >> modify (+1)) 0
Коротко говоря, используй монаду State.
Исходная версия unC0Rr, :
Prelude Control.Monad Control.Monad.State.Strict> runStateT (forever $ get >>= lift . print >> modify (+1)) 0