ListT -package:pipes

A generator with side-effects.
[]
A proper implementation of the list monad-transformer. Useful for streaming of monadic data structures. Since it has instances of MonadPlus and Alternative, you can use general utilities packages like "monadplus" with it.
ListT done right, see https://www.haskell.org/haskellwiki/ListT_done_right_alternative There is also the list-t package on hackage (Nikita Volkov) but it again depends on other packages we do not use yet, so we rather implement the few bits we need afresh.
Lazy monadic computation of a list of results.
A list monad transformer / a monadic list. Monadic list example: A program which reads numbers from the user and accumulates them.
import Control.Monad.ListT.Funcs (repeatM)
import Data.List.Class (execute, scanl, takeWhile, mapL)
import Prelude hiding (scanl, takeWhile)

main =
execute . mapL print .
scanl (+) 0 .
fmap (fst . head) .
takeWhile (not . null) .
fmap reads $ repeatM getLine
Note: The transformers package also has a ListT type, which oddly enough it is not a list monad transformer. This module was deliberately named differently from transformers's module.
This is like a list except that you can interleave effects between each list element. For example:
stdin :: ListT IO String
stdin = ListT (do
eof <- System.IO.isEOF
if eof
then return Nil
else do
line <- getLine
return (Cons line stdin) )
The mnemonic is "List Transformer" because this type takes a base Monad, 'm', and returns a new transformed Monad that adds support for list comprehensions
Not on Stackage, so not searched. List transformer
Stream the associations passively.
Stream the associations passively.
Stream associations passively.
Stream the elements passively.
This option, when set to True, specifies that we should run in the «list tests» mode.