acc-0.2: Sequence optimized for monoidal construction and folding
Safe HaskellNone
LanguageHaskell2010

Acc.NeAcc

Synopsis

Documentation

data NeAcc a Source #

Non-empty accumulator.

Relates to Acc the same way as NonEmpty to list.

Instances

Instances details
Functor NeAcc Source # 
Instance details

Defined in Acc.NeAcc.Def

Methods

fmap :: (a -> b) -> NeAcc a -> NeAcc b #

(<$) :: a -> NeAcc b -> NeAcc a #

Applicative NeAcc Source # 
Instance details

Defined in Acc.NeAcc.Def

Methods

pure :: a -> NeAcc a #

(<*>) :: NeAcc (a -> b) -> NeAcc a -> NeAcc b #

liftA2 :: (a -> b -> c) -> NeAcc a -> NeAcc b -> NeAcc c #

(*>) :: NeAcc a -> NeAcc b -> NeAcc b #

(<*) :: NeAcc a -> NeAcc b -> NeAcc a #

Foldable NeAcc Source # 
Instance details

Defined in Acc.NeAcc.Def

Methods

fold :: Monoid m => NeAcc m -> m #

foldMap :: Monoid m => (a -> m) -> NeAcc a -> m #

foldMap' :: Monoid m => (a -> m) -> NeAcc a -> m #

foldr :: (a -> b -> b) -> b -> NeAcc a -> b #

foldr' :: (a -> b -> b) -> b -> NeAcc a -> b #

foldl :: (b -> a -> b) -> b -> NeAcc a -> b #

foldl' :: (b -> a -> b) -> b -> NeAcc a -> b #

foldr1 :: (a -> a -> a) -> NeAcc a -> a #

foldl1 :: (a -> a -> a) -> NeAcc a -> a #

toList :: NeAcc a -> [a] #

null :: NeAcc a -> Bool #

length :: NeAcc a -> Int #

elem :: Eq a => a -> NeAcc a -> Bool #

maximum :: Ord a => NeAcc a -> a #

minimum :: Ord a => NeAcc a -> a #

sum :: Num a => NeAcc a -> a #

product :: Num a => NeAcc a -> a #

Traversable NeAcc Source # 
Instance details

Defined in Acc.NeAcc.Def

Methods

traverse :: Applicative f => (a -> f b) -> NeAcc a -> f (NeAcc b) #

sequenceA :: Applicative f => NeAcc (f a) -> f (NeAcc a) #

mapM :: Monad m => (a -> m b) -> NeAcc a -> m (NeAcc b) #

sequence :: Monad m => NeAcc (m a) -> m (NeAcc a) #

NFData1 NeAcc Source # 
Instance details

Defined in Acc.NeAcc.Def

Methods

liftRnf :: (a -> ()) -> NeAcc a -> () #

Traversable1 NeAcc Source # 
Instance details

Defined in Acc.NeAcc.Def

Methods

traverse1 :: Apply f => (a -> f b) -> NeAcc a -> f (NeAcc b) #

sequence1 :: Apply f => NeAcc (f b) -> f (NeAcc b) #

Alt NeAcc Source # 
Instance details

Defined in Acc.NeAcc.Def

Methods

(<!>) :: NeAcc a -> NeAcc a -> NeAcc a #

some :: Applicative NeAcc => NeAcc a -> NeAcc [a] #

many :: Applicative NeAcc => NeAcc a -> NeAcc [a] #

Foldable1 NeAcc Source # 
Instance details

Defined in Acc.NeAcc.Def

Methods

fold1 :: Semigroup m => NeAcc m -> m #

foldMap1 :: Semigroup m => (a -> m) -> NeAcc a -> m #

toNonEmpty :: NeAcc a -> NonEmpty a #

IsList (NeAcc a) Source # 
Instance details

Defined in Acc.NeAcc.Def

Associated Types

type Item (NeAcc a) #

Methods

fromList :: [Item (NeAcc a)] -> NeAcc a #

fromListN :: Int -> [Item (NeAcc a)] -> NeAcc a #

toList :: NeAcc a -> [Item (NeAcc a)] #

Show a => Show (NeAcc a) Source # 
Instance details

Defined in Acc.NeAcc.Def

Methods

showsPrec :: Int -> NeAcc a -> ShowS #

show :: NeAcc a -> String #

showList :: [NeAcc a] -> ShowS #

Semigroup (NeAcc a) Source # 
Instance details

Defined in Acc.NeAcc.Def

Methods

(<>) :: NeAcc a -> NeAcc a -> NeAcc a #

sconcat :: NonEmpty (NeAcc a) -> NeAcc a #

stimes :: Integral b => b -> NeAcc a -> NeAcc a #

NFData a => NFData (NeAcc a) Source # 
Instance details

Defined in Acc.NeAcc.Def

Methods

rnf :: NeAcc a -> () #

type Item (NeAcc a) Source # 
Instance details

Defined in Acc.NeAcc.Def

type Item (NeAcc a) = a