folds-0.7.8: Beautiful Folding
Safe HaskellNone
LanguageHaskell2010

Data.Fold.Internal

Synopsis

Documentation

data SnocList a Source #

Reversed '[]'

Constructors

Snoc (SnocList a) a 
Nil 

Instances

Instances details
Functor SnocList Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

Foldable SnocList Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

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

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

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

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

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

toList :: SnocList a -> [a] #

null :: SnocList a -> Bool #

length :: SnocList a -> Int #

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

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

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

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

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

Traversable SnocList Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

Eq a => Eq (SnocList a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

(==) :: SnocList a -> SnocList a -> Bool #

(/=) :: SnocList a -> SnocList a -> Bool #

Data a => Data (SnocList a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SnocList a -> c (SnocList a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (SnocList a) #

toConstr :: SnocList a -> Constr #

dataTypeOf :: SnocList a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (SnocList a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (SnocList a)) #

gmapT :: (forall b. Data b => b -> b) -> SnocList a -> SnocList a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SnocList a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SnocList a -> r #

gmapQ :: (forall d. Data d => d -> u) -> SnocList a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SnocList a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SnocList a -> m (SnocList a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SnocList a -> m (SnocList a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SnocList a -> m (SnocList a) #

Ord a => Ord (SnocList a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

compare :: SnocList a -> SnocList a -> Ordering #

(<) :: SnocList a -> SnocList a -> Bool #

(<=) :: SnocList a -> SnocList a -> Bool #

(>) :: SnocList a -> SnocList a -> Bool #

(>=) :: SnocList a -> SnocList a -> Bool #

max :: SnocList a -> SnocList a -> SnocList a #

min :: SnocList a -> SnocList a -> SnocList a #

Read a => Read (SnocList a) Source # 
Instance details

Defined in Data.Fold.Internal

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

Defined in Data.Fold.Internal

Methods

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

show :: SnocList a -> String #

showList :: [SnocList a] -> ShowS #

data SnocList1 a Source #

Constructors

Snoc1 (SnocList1 a) a 
First a 

Instances

Instances details
Functor SnocList1 Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

Foldable SnocList1 Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

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

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

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

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

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

toList :: SnocList1 a -> [a] #

null :: SnocList1 a -> Bool #

length :: SnocList1 a -> Int #

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

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

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

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

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

Traversable SnocList1 Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

Eq a => Eq (SnocList1 a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

(==) :: SnocList1 a -> SnocList1 a -> Bool #

(/=) :: SnocList1 a -> SnocList1 a -> Bool #

Data a => Data (SnocList1 a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SnocList1 a -> c (SnocList1 a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (SnocList1 a) #

toConstr :: SnocList1 a -> Constr #

dataTypeOf :: SnocList1 a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (SnocList1 a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (SnocList1 a)) #

gmapT :: (forall b. Data b => b -> b) -> SnocList1 a -> SnocList1 a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SnocList1 a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SnocList1 a -> r #

gmapQ :: (forall d. Data d => d -> u) -> SnocList1 a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SnocList1 a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SnocList1 a -> m (SnocList1 a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SnocList1 a -> m (SnocList1 a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SnocList1 a -> m (SnocList1 a) #

Ord a => Ord (SnocList1 a) Source # 
Instance details

Defined in Data.Fold.Internal

Read a => Read (SnocList1 a) Source # 
Instance details

Defined in Data.Fold.Internal

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

Defined in Data.Fold.Internal

data List1 a Source #

Constructors

Cons1 a (List1 a) 
Last a 

Instances

Instances details
Functor List1 Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

Foldable List1 Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

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

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

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

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

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

toList :: List1 a -> [a] #

null :: List1 a -> Bool #

length :: List1 a -> Int #

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

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

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

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

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

Traversable List1 Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

data Maybe' a Source #

Strict Maybe

Constructors

Nothing' 
Just' !a 

Instances

Instances details
Foldable Maybe' Source # 
Instance details

Defined in Data.Fold.Internal

Methods

fold :: Monoid m => Maybe' m -> m #

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

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

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

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

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

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

foldr1 :: (a -> a -> a) -> Maybe' a -> a #

foldl1 :: (a -> a -> a) -> Maybe' a -> a #

toList :: Maybe' a -> [a] #

null :: Maybe' a -> Bool #

length :: Maybe' a -> Int #

elem :: Eq a => a -> Maybe' a -> Bool #

maximum :: Ord a => Maybe' a -> a #

minimum :: Ord a => Maybe' a -> a #

sum :: Num a => Maybe' a -> a #

product :: Num a => Maybe' a -> a #

Eq a => Eq (Maybe' a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

(==) :: Maybe' a -> Maybe' a -> Bool #

(/=) :: Maybe' a -> Maybe' a -> Bool #

Data a => Data (Maybe' a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Maybe' a -> c (Maybe' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Maybe' a) #

toConstr :: Maybe' a -> Constr #

dataTypeOf :: Maybe' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Maybe' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Maybe' a)) #

gmapT :: (forall b. Data b => b -> b) -> Maybe' a -> Maybe' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Maybe' a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Maybe' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Maybe' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Maybe' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Maybe' a -> m (Maybe' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Maybe' a -> m (Maybe' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Maybe' a -> m (Maybe' a) #

Ord a => Ord (Maybe' a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

compare :: Maybe' a -> Maybe' a -> Ordering #

(<) :: Maybe' a -> Maybe' a -> Bool #

(<=) :: Maybe' a -> Maybe' a -> Bool #

(>) :: Maybe' a -> Maybe' a -> Bool #

(>=) :: Maybe' a -> Maybe' a -> Bool #

max :: Maybe' a -> Maybe' a -> Maybe' a #

min :: Maybe' a -> Maybe' a -> Maybe' a #

Read a => Read (Maybe' a) Source # 
Instance details

Defined in Data.Fold.Internal

Show a => Show (Maybe' a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

showsPrec :: Int -> Maybe' a -> ShowS #

show :: Maybe' a -> String #

showList :: [Maybe' a] -> ShowS #

maybe' :: b -> (a -> b) -> Maybe' a -> b Source #

data Pair' a b Source #

Strict Pair

Constructors

Pair' !a !b 

Instances

Instances details
(Eq a, Eq b) => Eq (Pair' a b) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

(==) :: Pair' a b -> Pair' a b -> Bool #

(/=) :: Pair' a b -> Pair' a b -> Bool #

(Data a, Data b) => Data (Pair' a b) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Pair' a b -> c (Pair' a b) #

gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Pair' a b) #

toConstr :: Pair' a b -> Constr #

dataTypeOf :: Pair' a b -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Pair' a b)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Pair' a b)) #

gmapT :: (forall b0. Data b0 => b0 -> b0) -> Pair' a b -> Pair' a b #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Pair' a b -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Pair' a b -> r #

gmapQ :: (forall d. Data d => d -> u) -> Pair' a b -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Pair' a b -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Pair' a b -> m (Pair' a b) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Pair' a b -> m (Pair' a b) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Pair' a b -> m (Pair' a b) #

(Ord a, Ord b) => Ord (Pair' a b) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

compare :: Pair' a b -> Pair' a b -> Ordering #

(<) :: Pair' a b -> Pair' a b -> Bool #

(<=) :: Pair' a b -> Pair' a b -> Bool #

(>) :: Pair' a b -> Pair' a b -> Bool #

(>=) :: Pair' a b -> Pair' a b -> Bool #

max :: Pair' a b -> Pair' a b -> Pair' a b #

min :: Pair' a b -> Pair' a b -> Pair' a b #

(Read a, Read b) => Read (Pair' a b) Source # 
Instance details

Defined in Data.Fold.Internal

(Show a, Show b) => Show (Pair' a b) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

showsPrec :: Int -> Pair' a b -> ShowS #

show :: Pair' a b -> String #

showList :: [Pair' a b] -> ShowS #

(Semigroup a, Semigroup b) => Semigroup (Pair' a b) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

(<>) :: Pair' a b -> Pair' a b -> Pair' a b #

sconcat :: NonEmpty (Pair' a b) -> Pair' a b #

stimes :: Integral b0 => b0 -> Pair' a b -> Pair' a b #

(Monoid a, Monoid b) => Monoid (Pair' a b) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

mempty :: Pair' a b #

mappend :: Pair' a b -> Pair' a b -> Pair' a b #

mconcat :: [Pair' a b] -> Pair' a b #

newtype N a s Source #

A reified Monoid.

Constructors

N 

Fields

Instances

Instances details
Eq a => Eq (N a s) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

(==) :: N a s -> N a s -> Bool #

(/=) :: N a s -> N a s -> Bool #

(Data a, Data s) => Data (N a s) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> N a s -> c (N a s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (N a s) #

toConstr :: N a s -> Constr #

dataTypeOf :: N a s -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (N a s)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (N a s)) #

gmapT :: (forall b. Data b => b -> b) -> N a s -> N a s #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> N a s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> N a s -> r #

gmapQ :: (forall d. Data d => d -> u) -> N a s -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> N a s -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> N a s -> m (N a s) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> N a s -> m (N a s) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> N a s -> m (N a s) #

Ord a => Ord (N a s) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

compare :: N a s -> N a s -> Ordering #

(<) :: N a s -> N a s -> Bool #

(<=) :: N a s -> N a s -> Bool #

(>) :: N a s -> N a s -> Bool #

(>=) :: N a s -> N a s -> Bool #

max :: N a s -> N a s -> N a s #

min :: N a s -> N a s -> N a s #

Read a => Read (N a s) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

readsPrec :: Int -> ReadS (N a s) #

readList :: ReadS [N a s] #

readPrec :: ReadPrec (N a s) #

readListPrec :: ReadPrec [N a s] #

Show a => Show (N a s) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

showsPrec :: Int -> N a s -> ShowS #

show :: N a s -> String #

showList :: [N a s] -> ShowS #

Reifies s (a -> a -> a, a) => Semigroup (N a s) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

(<>) :: N a s -> N a s -> N a s #

sconcat :: NonEmpty (N a s) -> N a s #

stimes :: Integral b => b -> N a s -> N a s #

Reifies s (a -> a -> a, a) => Monoid (N a s) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

mempty :: N a s #

mappend :: N a s -> N a s -> N a s #

mconcat :: [N a s] -> N a s #

newtype S a s Source #

A reified Semigroup.

Constructors

S 

Fields

Instances

Instances details
Eq a => Eq (S a s) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

(==) :: S a s -> S a s -> Bool #

(/=) :: S a s -> S a s -> Bool #

(Data a, Data s) => Data (S a s) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> S a s -> c (S a s) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (S a s) #

toConstr :: S a s -> Constr #

dataTypeOf :: S a s -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (S a s)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (S a s)) #

gmapT :: (forall b. Data b => b -> b) -> S a s -> S a s #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> S a s -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> S a s -> r #

gmapQ :: (forall d. Data d => d -> u) -> S a s -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> S a s -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> S a s -> m (S a s) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> S a s -> m (S a s) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> S a s -> m (S a s) #

Ord a => Ord (S a s) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

compare :: S a s -> S a s -> Ordering #

(<) :: S a s -> S a s -> Bool #

(<=) :: S a s -> S a s -> Bool #

(>) :: S a s -> S a s -> Bool #

(>=) :: S a s -> S a s -> Bool #

max :: S a s -> S a s -> S a s #

min :: S a s -> S a s -> S a s #

Read a => Read (S a s) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

readsPrec :: Int -> ReadS (S a s) #

readList :: ReadS [S a s] #

readPrec :: ReadPrec (S a s) #

readListPrec :: ReadPrec [S a s] #

Show a => Show (S a s) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

showsPrec :: Int -> S a s -> ShowS #

show :: S a s -> String #

showList :: [S a s] -> ShowS #

Reifies s (a -> a -> a) => Semigroup (S a s) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

(<>) :: S a s -> S a s -> S a s #

sconcat :: NonEmpty (S a s) -> S a s #

stimes :: Integral b => b -> S a s -> S a s #

data Tree a Source #

The shape of a foldMap

Constructors

Zero 
One a 
Two (Tree a) (Tree a) 

Instances

Instances details
Functor Tree Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

Foldable Tree Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

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

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

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

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

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

toList :: Tree a -> [a] #

null :: Tree a -> Bool #

length :: Tree a -> Int #

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

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

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

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

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

Traversable Tree Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

Eq a => Eq (Tree a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

(==) :: Tree a -> Tree a -> Bool #

(/=) :: Tree a -> Tree a -> Bool #

Data a => Data (Tree a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Tree a -> c (Tree a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Tree a) #

toConstr :: Tree a -> Constr #

dataTypeOf :: Tree a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Tree a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Tree a)) #

gmapT :: (forall b. Data b => b -> b) -> Tree a -> Tree a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tree a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tree a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Tree a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Tree a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Tree a -> m (Tree a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Tree a -> m (Tree a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Tree a -> m (Tree a) #

Ord a => Ord (Tree a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

compare :: Tree a -> Tree a -> Ordering #

(<) :: Tree a -> Tree a -> Bool #

(<=) :: Tree a -> Tree a -> Bool #

(>) :: Tree a -> Tree a -> Bool #

(>=) :: Tree a -> Tree a -> Bool #

max :: Tree a -> Tree a -> Tree a #

min :: Tree a -> Tree a -> Tree a #

Read a => Read (Tree a) Source # 
Instance details

Defined in Data.Fold.Internal

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

Defined in Data.Fold.Internal

Methods

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

show :: Tree a -> String #

showList :: [Tree a] -> ShowS #

MuRef (Tree a) Source # 
Instance details

Defined in Data.Fold.Internal

Associated Types

type DeRef (Tree a) :: Type -> Type #

Methods

mapDeRef :: Applicative f => (forall b. (MuRef b, DeRef (Tree a) ~ DeRef b) => b -> f u) -> Tree a -> f (DeRef (Tree a) u) #

type DeRef (Tree a) Source # 
Instance details

Defined in Data.Fold.Internal

type DeRef (Tree a)

data Tree1 a Source #

Constructors

Bin1 (Tree1 a) (Tree1 a) 
Tip1 a 

Instances

Instances details
Functor Tree1 Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

Foldable Tree1 Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

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

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

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

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

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

toList :: Tree1 a -> [a] #

null :: Tree1 a -> Bool #

length :: Tree1 a -> Int #

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

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

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

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

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

Traversable Tree1 Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

MuRef (Tree1 a) Source # 
Instance details

Defined in Data.Fold.Internal

Associated Types

type DeRef (Tree1 a) :: Type -> Type #

Methods

mapDeRef :: Applicative f => (forall b. (MuRef b, DeRef (Tree1 a) ~ DeRef b) => b -> f u) -> Tree1 a -> f (DeRef (Tree1 a) u) #

type DeRef (Tree1 a) Source # 
Instance details

Defined in Data.Fold.Internal

type DeRef (Tree1 a)

newtype An a Source #

Constructors

An a 

Instances

Instances details
Functor An Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

Foldable An Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

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

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

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

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

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

toList :: An a -> [a] #

null :: An a -> Bool #

length :: An a -> Int #

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

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

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

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

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

Traversable An Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

Eq a => Eq (An a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

(==) :: An a -> An a -> Bool #

(/=) :: An a -> An a -> Bool #

Data a => Data (An a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> An a -> c (An a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (An a) #

toConstr :: An a -> Constr #

dataTypeOf :: An a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (An a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (An a)) #

gmapT :: (forall b. Data b => b -> b) -> An a -> An a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> An a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> An a -> r #

gmapQ :: (forall d. Data d => d -> u) -> An a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> An a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> An a -> m (An a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> An a -> m (An a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> An a -> m (An a) #

Ord a => Ord (An a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

compare :: An a -> An a -> Ordering #

(<) :: An a -> An a -> Bool #

(<=) :: An a -> An a -> Bool #

(>) :: An a -> An a -> Bool #

(>=) :: An a -> An a -> Bool #

max :: An a -> An a -> An a #

min :: An a -> An a -> An a #

Read a => Read (An a) Source # 
Instance details

Defined in Data.Fold.Internal

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

Defined in Data.Fold.Internal

Methods

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

show :: An a -> String #

showList :: [An a] -> ShowS #

data Box a Source #

Constructors

Box a 

Instances

Instances details
Functor Box Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

Foldable Box Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

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

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

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

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

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

toList :: Box a -> [a] #

null :: Box a -> Bool #

length :: Box a -> Int #

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

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

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

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

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

Traversable Box Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

Eq a => Eq (Box a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

(==) :: Box a -> Box a -> Bool #

(/=) :: Box a -> Box a -> Bool #

Data a => Data (Box a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Box a -> c (Box a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Box a) #

toConstr :: Box a -> Constr #

dataTypeOf :: Box a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Box a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Box a)) #

gmapT :: (forall b. Data b => b -> b) -> Box a -> Box a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Box a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Box a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Box a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Box a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Box a -> m (Box a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Box a -> m (Box a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Box a -> m (Box a) #

Ord a => Ord (Box a) Source # 
Instance details

Defined in Data.Fold.Internal

Methods

compare :: Box a -> Box a -> Ordering #

(<) :: Box a -> Box a -> Bool #

(<=) :: Box a -> Box a -> Bool #

(>) :: Box a -> Box a -> Bool #

(>=) :: Box a -> Box a -> Bool #

max :: Box a -> Box a -> Box a #

min :: Box a -> Box a -> Box a #

Read a => Read (Box a) Source # 
Instance details

Defined in Data.Fold.Internal

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

Defined in Data.Fold.Internal

Methods

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

show :: Box a -> String #

showList :: [Box a] -> ShowS #

newtype FreeMonoid a Source #

Constructors

FreeMonoid 

Fields

Instances

Instances details
Functor FreeMonoid Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

Foldable FreeMonoid Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

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

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

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

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

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

toList :: FreeMonoid a -> [a] #

null :: FreeMonoid a -> Bool #

length :: FreeMonoid a -> Int #

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

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

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

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

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

Cosieve M FreeMonoid Source # 
Instance details

Defined in Data.Fold.M

Methods

cosieve :: M a b -> FreeMonoid a -> b #

MonadReader (FreeMonoid a) (M a) Source # 
Instance details

Defined in Data.Fold.M

Methods

ask :: M a (FreeMonoid a) #

local :: (FreeMonoid a -> FreeMonoid a) -> M a a0 -> M a a0 #

reader :: (FreeMonoid a -> a0) -> M a a0 #

foldDeRef :: forall f a. (MuRef1 f, Bifoldable (DeRef1 f)) => f a -> FreeMonoid a Source #

newtype FreeSemigroup a Source #

Constructors

FreeSemigroup 

Fields

Instances

Instances details
Functor FreeSemigroup Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

Foldable FreeSemigroup Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

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

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

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

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

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

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

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

toList :: FreeSemigroup a -> [a] #

null :: FreeSemigroup a -> Bool #

length :: FreeSemigroup a -> Int #

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

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

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

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

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

Foldable1 FreeSemigroup Source # 
Instance details

Defined in Data.Fold.Internal

Methods

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

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

toNonEmpty :: FreeSemigroup a -> NonEmpty a #

Cosieve M1 FreeSemigroup Source # 
Instance details

Defined in Data.Fold.M1

Methods

cosieve :: M1 a b -> FreeSemigroup a -> b #

MonadReader (FreeSemigroup a) (M1 a) Source # 
Instance details

Defined in Data.Fold.M1

Methods

ask :: M1 a (FreeSemigroup a) #

local :: (FreeSemigroup a -> FreeSemigroup a) -> M1 a a0 -> M1 a a0 #

reader :: (FreeSemigroup a -> a0) -> M1 a a0 #

foldDeRef1 :: forall f a. (MuRef1 f, Bifoldable1 (DeRef1 f)) => f a -> FreeSemigroup a Source #