-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | NonEmpty for Alternative types
--
-- Please see README.md
@package nonempty-alternative
@version 0.3.0
module Data.NonEmpty
-- | NonEmptyL is naturally extended from List to any
-- Alternative type in two different ways. They are differentiated
-- by their instances. The Left one is well suited for
-- cons structures.
data NonEmptyL f a
(:<) :: a -> f a -> NonEmptyL f a
headL :: NonEmptyL f a -> a
tailL :: NonEmptyL f a -> f a
flattenL :: Alternative f => NonEmptyL f a -> f a
joinL :: (Alternative f, Monad f) => NonEmptyL f (NonEmptyL f a) -> NonEmptyL f a
budgeL :: (Alternative f, Alternative g) => NonEmptyL f (g a) -> NonEmptyL f (g a)
-- | The Right one is well suited for snoc structures.
data NonEmptyR f a
(:>) :: f a -> a -> NonEmptyR f a
lastR :: NonEmptyR f a -> a
initR :: NonEmptyR f a -> f a
flattenR :: Alternative f => NonEmptyR f a -> f a
joinR :: (Alternative f, Monad f) => NonEmptyR f (NonEmptyR f a) -> NonEmptyR f a
budgeR :: (Alternative f, Alternative g) => NonEmptyR f (g a) -> NonEmptyR f (g a)
instance GHC.Generics.Constructor Data.NonEmpty.C1_0NonEmptyR
instance GHC.Generics.Datatype Data.NonEmpty.D1NonEmptyR
instance GHC.Generics.Constructor Data.NonEmpty.C1_0NonEmptyL
instance GHC.Generics.Datatype Data.NonEmpty.D1NonEmptyL
instance GHC.Generics.Generic1 (Data.NonEmpty.NonEmptyR f)
instance GHC.Generics.Generic (Data.NonEmpty.NonEmptyR f a)
instance (Data.Data.Data a, Data.Data.Data (f a), Data.Typeable.Internal.Typeable f) => Data.Data.Data (Data.NonEmpty.NonEmptyR f a)
instance (GHC.Read.Read a, GHC.Read.Read (f a)) => GHC.Read.Read (Data.NonEmpty.NonEmptyR f a)
instance (GHC.Classes.Ord a, GHC.Classes.Ord (f a)) => GHC.Classes.Ord (Data.NonEmpty.NonEmptyR f a)
instance (GHC.Classes.Eq a, GHC.Classes.Eq (f a)) => GHC.Classes.Eq (Data.NonEmpty.NonEmptyR f a)
instance (GHC.Show.Show a, GHC.Show.Show (f a)) => GHC.Show.Show (Data.NonEmpty.NonEmptyR f a)
instance GHC.Generics.Generic1 (Data.NonEmpty.NonEmptyL f)
instance GHC.Generics.Generic (Data.NonEmpty.NonEmptyL f a)
instance (Data.Data.Data a, Data.Data.Data (f a), Data.Typeable.Internal.Typeable f) => Data.Data.Data (Data.NonEmpty.NonEmptyL f a)
instance (GHC.Read.Read a, GHC.Read.Read (f a)) => GHC.Read.Read (Data.NonEmpty.NonEmptyL f a)
instance (GHC.Classes.Ord a, GHC.Classes.Ord (f a)) => GHC.Classes.Ord (Data.NonEmpty.NonEmptyL f a)
instance (GHC.Classes.Eq a, GHC.Classes.Eq (f a)) => GHC.Classes.Eq (Data.NonEmpty.NonEmptyL f a)
instance (GHC.Show.Show a, GHC.Show.Show (f a)) => GHC.Show.Show (Data.NonEmpty.NonEmptyL f a)
instance GHC.Base.Functor f => GHC.Base.Functor (Data.NonEmpty.NonEmptyL f)
instance GHC.Base.Functor f => GHC.Base.Functor (Data.NonEmpty.NonEmptyR f)
instance GHC.Base.Alternative f => GHC.Base.Applicative (Data.NonEmpty.NonEmptyL f)
instance GHC.Base.Alternative f => GHC.Base.Applicative (Data.NonEmpty.NonEmptyR f)
instance (GHC.Base.Alternative f, GHC.Base.Monad f) => GHC.Base.Monad (Data.NonEmpty.NonEmptyL f)
instance GHC.Base.Alternative f => Control.Comonad.Comonad (Data.NonEmpty.NonEmptyL f)
instance GHC.Base.Alternative f => Control.Comonad.Comonad (Data.NonEmpty.NonEmptyR f)
instance Data.Foldable.Foldable f => Data.Foldable.Foldable (Data.NonEmpty.NonEmptyL f)
instance Data.Foldable.Foldable f => Data.Foldable.Foldable (Data.NonEmpty.NonEmptyR f)
instance (GHC.Base.Functor f, Data.Traversable.Traversable f) => Data.Traversable.Traversable (Data.NonEmpty.NonEmptyL f)
instance (GHC.Base.Functor f, Data.Traversable.Traversable f) => Data.Traversable.Traversable (Data.NonEmpty.NonEmptyR f)
instance GHC.Base.Alternative f => Data.Semigroup.Semigroup (Data.NonEmpty.NonEmptyL f a)
instance GHC.Base.Alternative f => Data.Semigroup.Semigroup (Data.NonEmpty.NonEmptyR f a)