yaya-0.6.2.0: Total recursion schemes.
Safe HaskellSafe
LanguageHaskell2010

Yaya.Fold.Native

Description

Uses of recursion schemes that use Haskell’s built-in recursion in a total manner.

Synopsis

Documentation

data Cofix f Source #

A fixed-point constructor that uses Haskell's built-in recursion. This is lazy/corecursive.

Instances

Instances details
Functor f => Corecursive (->) (Cofix f :: Type) (f :: Type -> Type) Source # 
Instance details

Defined in Yaya.Fold.Native.Internal

Methods

ana :: forall (a :: k). Coalgebra (->) f a -> a -> Cofix f Source #

Projectable (->) (Cofix f :: Type) (f :: Type -> Type) Source # 
Instance details

Defined in Yaya.Fold.Native.Internal

Methods

project :: Coalgebra (->) f (Cofix f) Source #

Steppable (->) (Cofix f :: Type) (f :: Type -> Type) Source # 
Instance details

Defined in Yaya.Fold.Native.Internal

Methods

embed :: Algebra (->) f (Cofix f) Source #

Read1 f => Read (Cofix f) Source #

Since: 0.6.1.0

Instance details

Defined in Yaya.Fold.Native.Internal

newtype Fix f Source #

A fixed-point constructor that uses Haskell's built-in recursion. This is strict/recursive.

Constructors

Fix 

Fields

Instances

Instances details
Projectable (->) (Fix f :: Type) (f :: Type -> Type) Source # 
Instance details

Defined in Yaya.Fold.Native

Methods

project :: Coalgebra (->) f (Fix f) Source #

Functor f => Recursive (->) (Fix f :: Type) (f :: Type -> Type) Source # 
Instance details

Defined in Yaya.Fold.Native

Methods

cata :: forall (a :: k1). Algebra (->) f a -> Fix f -> a Source #

Steppable (->) (Fix f :: Type) (f :: Type -> Type) Source # 
Instance details

Defined in Yaya.Fold.Native

Methods

embed :: Algebra (->) f (Fix f) Source #

Monoid (Fix (XNor a)) Source # 
Instance details

Defined in Yaya.Applied

Methods

mempty :: Fix (XNor a) #

mappend :: Fix (XNor a) -> Fix (XNor a) -> Fix (XNor a) #

mconcat :: [Fix (XNor a)] -> Fix (XNor a) #

Semigroup (Fix (XNor a)) Source # 
Instance details

Defined in Yaya.Applied

Methods

(<>) :: Fix (XNor a) -> Fix (XNor a) -> Fix (XNor a) #

sconcat :: NonEmpty (Fix (XNor a)) -> Fix (XNor a) #

stimes :: Integral b => b -> Fix (XNor a) -> Fix (XNor a) #

Read1 f => Read (Fix f) Source #

Since: 0.6.1.0

Instance details

Defined in Yaya.Fold.Native

(Functor f, Show1 f) => Show (Fix f) Source # 
Instance details

Defined in Yaya.Fold.Native

Methods

showsPrec :: Int -> Fix f -> ShowS #

show :: Fix f -> String #

showList :: [Fix f] -> ShowS #

(Functor f, Foldable f, Eq1 f) => Eq (Fix f) Source # 
Instance details

Defined in Yaya.Fold.Native

Methods

(==) :: Fix f -> Fix f -> Bool #

(/=) :: Fix f -> Fix f -> Bool #

(Functor f, Foldable f, Ord1 f) => Ord (Fix f) Source #

Since: 0.6.1.0

Instance details

Defined in Yaya.Fold.Native

Methods

compare :: Fix f -> Fix f -> Ordering #

(<) :: Fix f -> Fix f -> Bool #

(<=) :: Fix f -> Fix f -> Bool #

(>) :: Fix f -> Fix f -> Bool #

(>=) :: Fix f -> Fix f -> Bool #

max :: Fix f -> Fix f -> Fix f #

min :: Fix f -> Fix f -> Fix f #

Orphan instances

Recursive (->) Natural Maybe Source # 
Instance details

Methods

cata :: forall (a :: k1). Algebra (->) Maybe a -> Natural -> a Source #

Corecursive (->) (NonEmpty a :: Type) (AndMaybe a :: Type -> Type) Source # 
Instance details

Methods

ana :: forall (a0 :: k). Coalgebra (->) (AndMaybe a) a0 -> a0 -> NonEmpty a Source #

Corecursive (->) ([a] :: Type) (XNor a :: Type -> Type) Source # 
Instance details

Methods

ana :: forall (a0 :: k). Coalgebra (->) (XNor a) a0 -> a0 -> [a] Source #

Functor f => Corecursive (->) (Cofree f a :: Type) (EnvT a f :: Type -> Type) Source # 
Instance details

Methods

ana :: forall (a0 :: k). Coalgebra (->) (EnvT a f) a0 -> a0 -> Cofree f a Source #

Functor f => Corecursive (->) (Free f a :: Type) (FreeF f a :: Type -> Type) Source # 
Instance details

Methods

ana :: forall (a0 :: k). Coalgebra (->) (FreeF f a) a0 -> a0 -> Free f a Source #