-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | define a list constant using Monadic syntax other than overhead [,] -- -- define a list constant using Monadic syntax other than overhead [,] @package ListWriter @version 0.1.0.0 module Syntax.ListWriter.Internal newtype ListM' a x ListM :: Writer [a] x -> ListM' a x [unListM] :: ListM' a x -> Writer [a] x type ListM a = ListM' a () toList :: ListM a -> [a] fromList :: [a] -> ListM a element :: a -> ListM a instance (GHC.Classes.Eq a, GHC.Classes.Eq x) => GHC.Classes.Eq (Syntax.ListWriter.Internal.ListM' a x) instance (GHC.Classes.Ord a, GHC.Classes.Ord x) => GHC.Classes.Ord (Syntax.ListWriter.Internal.ListM' a x) instance (GHC.Show.Show a, GHC.Show.Show x) => GHC.Show.Show (Syntax.ListWriter.Internal.ListM' a x) instance Control.Monad.Writer.Class.MonadWriter [a] (Syntax.ListWriter.Internal.ListM' a) instance GHC.Base.Monad (Syntax.ListWriter.Internal.ListM' a) instance GHC.Base.Applicative (Syntax.ListWriter.Internal.ListM' a) instance GHC.Base.Functor (Syntax.ListWriter.Internal.ListM' a) -- | This package allows you to define a list constant using Monadic -- syntax. -- -- It can be used to define a list constant in your program in a better -- looking syntax than overhead [, ], and ,. -- -- Other than that the package is not really useful. -- --
-- listA :: [Int] -- listA = toList $ do -- element 1 -- element 2 -- element 3 ---- --
-- >>> print listA -- [1,2,3] --module Syntax.ListWriter type ListM a = ListM' a () fromList :: [a] -> ListM a toList :: ListM a -> [a] element :: a -> ListM a