-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | List construction with do notation
--
-- Please see README.md
@package do-list
@version 0.9.0
-- | Construct lists using do notation. Example usage
-- https://github.com/tserduke/do-list#examples.
--
-- Control.Monad.Writer from the mtl package provides a somewhat faster
-- yet less flexible Monoid-based alternative.
module Data.DoList
-- | DoList is not a real instance of Monad,
-- Applicative or Functor. It pretends being them with
-- purely phantom result type.
newtype DoList a r
DoList :: (DList a) -> DoList a r
-- | Create a DoList holding a single item.
item :: a -> DoList a r
-- | Extract the underlying DList.
toDList :: DoList a r -> DList a
-- | Convert from a list.
fromList :: [a] -> DoList a r
-- | Convert to a list.
toList :: DoList a r -> [a]
instance GHC.Show.Show a => GHC.Show.Show (Data.DoList.DoList a r)
instance GHC.Read.Read a => GHC.Read.Read (Data.DoList.DoList a r)
instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.DoList.DoList a r)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.DoList.DoList a r)
instance GHC.Base.Functor (Data.DoList.DoList a)
instance GHC.Base.Applicative (Data.DoList.DoList a)
instance GHC.Base.Monad (Data.DoList.DoList a)
instance Data.String.IsString a => Data.String.IsString (Data.DoList.DoList a r)