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

Language | Haskell2010 |

# Isomorphisms

Lightweight type ismomorphisms (a.k.a. invertible functions). If

Iso fw bw :: Iso a b

then `fw`

and `bw`

are supposed to satisfy

fw . bw = id = bw . fw

Iso (a -> b) (b -> a) |

class IsoFunctor f where Source #

Lift an isomorphism between `a`

and `b`

to one between `f a`

and `f b`

.
Like `Functor`

, except we can only map invertible functions (i.e. an
Isomorphisms).

## Instances

IsoFunctor (RawOptSpec f) Source # | |

Defined in Darcs.UI.Options.Util imap :: Iso a b -> RawOptSpec f a -> RawOptSpec f b Source # | |

IsoFunctor (OptSpec d f a) Source # | |