Haskell has conduits which are somewhat more general, but certainly able to achieve a behaviour very similar to Python's generators:
import Control.Monad
import Data.Bits
import Data.Conduit
import qualified Data.Conduit.List as CL
gen :: (Monad m) => Source m Integer
gen = forM_ [0..9] $ \i ->
yield (i `shiftL` 100)
main = gen $$ CL.mapM_ print