free-listt-0.1.0.0: src/Control/Applicative/Trans/List.hs
-- | The applicative list transformer
module Control.Applicative.Trans.List where
-- base
import Control.Applicative (Alternative)
import Data.Functor.Compose
{- | The 'Applicative' list transformer.
This is isomorphic to the "old" @ListT@ transformer.
It is not a monad, but a lawful 'Applicative'.
-}
newtype ListT f a = ListT {runListT :: f [a]}
deriving (Functor)
deriving
(Applicative, Alternative)
via (Compose f [])