Safe Haskell | Safe |
---|---|

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 (Fix f) f Source # | |

Functor f => Recursive (Nu f) f Source # | |

Functor f => Corecursive (Mu f) f Source # | |

Recursive [a] (XNor a) Source # | |

Recursive (NonEmpty a) (AndMaybe a) Source # | |

Functor f => Recursive (Cofree f a) (EnvT a f) Source # | |

Functor f => Recursive (Free f a) (FreeF f a) Source # | |