| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Iso.Deriving
Documentation
As a b is represented at runtime as b, but we know we can in fact
convert it into an a with no loss of information. We can think of it has
having a *dual representation* as either a or b.
type As1 :: k -> Type -> Type
Constructors
| As b |
Instances
| (Project a b, Eq a) => Eq (As a b) Source # | |
| (Isomorphic a b, Num a) => Num (As a b) Source # | |
| (Project a b, Ord a) => Ord (As a b) Source # | |
| (Isomorphic a b, Real a) => Real (As a b) Source # | |
Defined in Iso.Deriving Methods toRational :: As a b -> Rational # | |
| (Project a b, Show a) => Show (As a b) Source # | |
| (Isomorphic a b, Semigroup a) => Semigroup (As a b) Source # | |
| (Isomorphic a b, Monoid a) => Monoid (As a b) Source # | |
Like As for kind k -> Type.
type As1 :: k1 -> (k2 -> Type) -> k2 -> Type
Instances
| (forall x. Isomorphic (f x) (g x), Monad f) => Monad (As1 f g) Source # | |
| (forall x. Isomorphic (f x) (g x), Functor f) => Functor (As1 f g) Source # | |
| (forall x. Isomorphic (f x) (g x), Applicative f) => Applicative (As1 f g) Source # | |
| (forall x. Isomorphic (f x) (g x), Alternative f) => Alternative (As1 f g) Source # | |
Like As for kind k1 -> k2 -> Type.
type As2 :: k1 -> (k2 -> k3 -> Type) -> k2 -> k3 -> Type
Constructors
| As2 (g a b) |