free-listt-0.1.0.1: Lawful list and set monad transformers based on free monads
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Applicative.Trans.List

Description

The applicative list transformer

Synopsis

Documentation

newtype ListT f a Source #

The Applicative list transformer.

This is isomorphic to the "old" ListT transformer. It is not a monad, but a lawful Applicative.

Constructors

ListT 

Fields

Instances

Instances details
Alternative f => Alternative (ListT f) Source # 
Instance details

Defined in Control.Applicative.Trans.List

Methods

empty :: ListT f a #

(<|>) :: ListT f a -> ListT f a -> ListT f a #

some :: ListT f a -> ListT f [a] #

many :: ListT f a -> ListT f [a] #

Applicative f => Applicative (ListT f) Source # 
Instance details

Defined in Control.Applicative.Trans.List

Methods

pure :: a -> ListT f a #

(<*>) :: ListT f (a -> b) -> ListT f a -> ListT f b #

liftA2 :: (a -> b -> c) -> ListT f a -> ListT f b -> ListT f c #

(*>) :: ListT f a -> ListT f b -> ListT f b #

(<*) :: ListT f a -> ListT f b -> ListT f a #

Functor f => Functor (ListT f) Source # 
Instance details

Defined in Control.Applicative.Trans.List

Methods

fmap :: (a -> b) -> ListT f a -> ListT f b #

(<$) :: a -> ListT f b -> ListT f a #