acc-0.1.3: Sequence optimized for monoidal construction and folding
Acc.NeAcc
data NeAcc a Source #
Non-empty accumulator.
Relates to Acc the same way as NonEmpty to list.
Acc
NonEmpty
Defined in Acc.NeAcc.Def
Methods
fmap :: (a -> b) -> NeAcc a -> NeAcc b #
(<$) :: a -> NeAcc b -> NeAcc a #
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 #
fold :: Monoid m => NeAcc m -> 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 #
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) #
liftRnf :: (a -> ()) -> NeAcc a -> () #
traverse1 :: Apply f => (a -> f b) -> NeAcc a -> f (NeAcc b) #
sequence1 :: Apply f => NeAcc (f b) -> f (NeAcc b) #
fold1 :: Semigroup m => NeAcc m -> m #
foldMap1 :: Semigroup m => (a -> m) -> NeAcc a -> m #
toNonEmpty :: NeAcc a -> NonEmpty a #
(<!>) :: NeAcc a -> NeAcc a -> NeAcc a #
some :: Applicative NeAcc => NeAcc a -> NeAcc [a] #
many :: Applicative NeAcc => NeAcc a -> NeAcc [a] #
Associated Types
type Item (NeAcc a) :: Type #
fromList :: [Item (NeAcc a)] -> NeAcc a #
fromListN :: Int -> [Item (NeAcc a)] -> NeAcc a #
toList :: NeAcc a -> [Item (NeAcc a)] #
showsPrec :: Int -> NeAcc a -> ShowS #
show :: NeAcc a -> String #
showList :: [NeAcc a] -> ShowS #
type Rep (NeAcc a) :: Type -> Type #
from :: NeAcc a -> Rep (NeAcc a) x #
to :: Rep (NeAcc a) x -> NeAcc a #
(<>) :: NeAcc a -> NeAcc a -> NeAcc a #
sconcat :: NonEmpty (NeAcc a) -> NeAcc a #
stimes :: Integral b => b -> NeAcc a -> NeAcc a #
rnf :: NeAcc a -> () #
type Rep1 NeAcc :: k -> Type #
from1 :: NeAcc a -> Rep1 NeAcc a #
to1 :: Rep1 NeAcc a -> NeAcc a #