Portability | portable |
---|---|

Stability | experimental |

Maintainer | Edward Kmett <ekmett@gmail.com> |

Safe Haskell | Safe-Inferred |

# Documentation

"I am not a number, I am a *free monad*!"

A

is a variable that may either be "bound" (`Var`

b a`B`

) or "free" (`F`

).

(It is also technically a free monad in the same near-trivial sense as
`Either`

.)

Typeable2 Var | |

Bitraversable Var | |

Bifunctor Var | |

Bifoldable Var | |

Eq2 Var | |

Ord2 Var | |

Show2 Var | |

Read2 Var | |

Monad (Var b) | |

Functor (Var b) | |

Functor (Var b) => Applicative (Var b) | |

Foldable (Var b) | |

(Functor (Var b), Foldable (Var b)) => Traversable (Var b) | |

Eq b => Eq1 (Var b) | |

(Eq1 (Var b), Ord b) => Ord1 (Var b) | |

Show b => Show1 (Var b) | |

Read b => Read1 (Var b) | |

(Eq b, Eq a) => Eq (Var b a) | |

(Typeable (Var b a), Data b, Data a) => Data (Var b a) | |

(Eq (Var b a), Ord b, Ord a) => Ord (Var b a) | |

(Read b, Read a) => Read (Var b a) | |

(Show b, Show a) => Show (Var b a) | |

Generic (Var b a) |