-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Do notation for free
--
-- Please see README.md
@package do-list
@version 1.0.1
-- | Construct monoids with do notation. For more information see
-- https://github.com/tserduke/do-list#readme.
module Data.DoMonoid
-- | The type shortcut.
type DoMonoid m = DoMonoidM m ()
-- | DoMonoidM is not a real instance of Monad,
-- Applicative or Functor. It pretends being them with a
-- phantom result type.
newtype DoMonoidM m r
DoM :: m -> DoMonoidM m r
-- | Unwrap the monoid.
runDoM :: DoMonoidM m r -> m
instance Data.String.IsString m => Data.String.IsString (Data.DoMonoid.DoMonoidM m r)
instance GHC.Show.Show m => GHC.Show.Show (Data.DoMonoid.DoMonoidM m r)
instance GHC.Read.Read m => GHC.Read.Read (Data.DoMonoid.DoMonoidM m r)
instance GHC.Classes.Ord m => GHC.Classes.Ord (Data.DoMonoid.DoMonoidM m r)
instance GHC.Classes.Eq m => GHC.Classes.Eq (Data.DoMonoid.DoMonoidM m r)
instance GHC.Base.Functor (Data.DoMonoid.DoMonoidM a)
instance GHC.Base.Applicative (Data.DoMonoid.DoMonoidM a)
instance GHC.Base.Monoid a => GHC.Base.Monad (Data.DoMonoid.DoMonoidM a)
instance GHC.Exts.IsList m => GHC.Exts.IsList (Data.DoMonoid.DoMonoidM m r)
-- | Construct lists with do notation. For more information see
-- https://github.com/tserduke/do-list#readme.
module Data.DoList
-- | The type shortcut.
type DoList a = DoListM a ()
-- | DoListM is not a real instance of Monad,
-- Applicative or Functor. It pretends being them with a
-- phantom result type.
newtype DoListM a r
DoList :: (DoMonoidM [a] r) -> DoListM a r
-- | Create a DoList holding a single item.
item :: a -> DoListM a r
-- | Convert from a list.
fromList :: [a] -> DoListM a r
-- | Convert to a list.
toList :: DoListM a r -> [a]
instance GHC.Base.Monad (Data.DoList.DoListM a)
instance GHC.Base.Applicative (Data.DoList.DoListM a)
instance GHC.Base.Functor (Data.DoList.DoListM a)
instance GHC.Show.Show a => GHC.Show.Show (Data.DoList.DoListM a r)
instance GHC.Read.Read a => GHC.Read.Read (Data.DoList.DoListM a r)
instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.DoList.DoListM a r)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.DoList.DoListM a r)
instance Data.String.IsString a => Data.String.IsString (Data.DoList.DoListM a r)
instance GHC.Exts.IsList (Data.DoList.DoListM a r)