Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Uses of recursion schemes that use Haskell’s built-in recursion in a total manner.
Synopsis
- data Cofix f
- newtype Fix f = Fix {}
- distCofreeT :: (Functor f, Functor h) => DistributiveLaw (->) f h -> DistributiveLaw (->) f (Cofree h)
Documentation
A fixed-point constructor that uses Haskell's built-in recursion. This is lazy/corecursive.
A fixed-point constructor that uses Haskell's built-in recursion. This is strict/recursive.
Instances
Projectable (->) (Fix f :: Type) (f :: Type -> Type) Source # | |
Functor f => Recursive (->) (Fix f :: Type) (f :: Type -> Type) Source # | |
Steppable (->) (Fix f :: Type) (f :: Type -> Type) Source # | |
Monoid (Fix (XNor a)) Source # | |
Semigroup (Fix (XNor a)) Source # | |
Read1 f => Read (Fix f) Source # | Since: 0.6.1.0 |
(Functor f, Show1 f) => Show (Fix f) Source # | |
(Functor f, Foldable f, Eq1 f) => Eq (Fix f) Source # | |
(Functor f, Foldable f, Ord1 f) => Ord (Fix f) Source # | Since: 0.6.1.0 |
distCofreeT :: (Functor f, Functor h) => DistributiveLaw (->) f h -> DistributiveLaw (->) f (Cofree h) Source #
Orphan instances
Recursive (->) Natural Maybe Source # | |
Corecursive (->) (NonEmpty a :: Type) (AndMaybe a :: Type -> Type) Source # | |
Corecursive (->) ([a] :: Type) (XNor a :: Type -> Type) Source # | |
Functor f => Corecursive (->) (Cofree f a :: Type) (EnvT a f :: Type -> Type) Source # | |
Functor f => Corecursive (->) (Free f a :: Type) (FreeF f a :: Type -> Type) Source # | |