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

Stability | experimental |

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

Safe Haskell | Safe-Infered |

- substitute :: (Monad f, Eq a) => f a -> a -> f a -> f a
- isClosed :: Traversable f => f a -> Bool
- closed :: Traversable f => f a -> Maybe (f b)

# Documentation

substitute :: (Monad f, Eq a) => f a -> a -> f a -> f aSource

`substitute p a w`

replaces the free variable `a`

with `p`

in `w`

isClosed :: Traversable f => f a -> BoolSource

closed :: Traversable f => f a -> Maybe (f b)Source

If a term has no free variables, you can freely change the type of free variables it uses