Safe Haskell | None |
---|---|
Language | Haskell2010 |
Type class instances that use direct recursion in a potentially partial
way. This is separated from the rest of Fold
because you can
neither control nor qualify the import of instances. Therefore this module
is _extra_ dangerous, as having these instances available applies to the
entire module they’re imported into.
This contains instances that you might _expect_ to see, but which aren’t actually total. For example, folding a lazy list `[a]` is _not_ guaranteed to terminate.
Documentation
seqFreeT :: (Functor f, Functor h) => DistributiveLaw (->) h f -> DistributiveLaw (->) (Free h) f Source #
Orphan instances
(Functor f, Foldable f, Eq1 f) => Eq (Fix f) Source # | |
(Functor f, Foldable f, Eq1 f) => Eq (Nu f) Source # | |
(Functor f, Show1 f) => Show (Fix f) Source # | |
(Functor f, Show1 f) => Show (Nu f) Source # | |
Functor f => Recursive ((->) :: Type -> Type -> Type) (Fix f :: Type) (f :: Type -> Type) Source # | |
Functor f => Recursive ((->) :: Type -> Type -> Type) (Nu f :: Type) (f :: Type -> Type) Source # | |
Functor f => Corecursive ((->) :: Type -> Type -> Type) (Mu f :: Type) (f :: Type -> Type) Source # | |
Recursive ((->) :: Type -> Type -> Type) ([a] :: Type) (XNor a :: Type -> Type) Source # | |
Recursive ((->) :: Type -> Type -> Type) (NonEmpty a :: Type) (AndMaybe a :: Type -> Type) Source # | |
Functor f => Recursive ((->) :: Type -> Type -> Type) (Cofree f a :: Type) (EnvT a f :: Type -> Type) Source # | |
Functor f => Recursive ((->) :: Type -> Type -> Type) (Free f a :: Type) (FreeF f a :: Type -> Type) Source # | |