ListT in transformers does not work or does not work in constant space. ListT in pipes does!
import Control.Monad (mzero) import Pipes main = runListT (do x <- Select (each [0..1000000000]) lift (print x) mzero )
I also just downloaded pipes-4.1.4 today, which relaxes runListT so as not to require mzero at the end, so this will be simple:
-- Requires `pipes-4.1.4` import Pipes main = runListT (do x <- Select (each [0..1000000000]) lift (print x) )
source share