Skip to content

Commit

Permalink
Kind for PIso
Browse files Browse the repository at this point in the history
  • Loading branch information
nomisRev committed Feb 15, 2018
1 parent 350fcf9 commit 85fd877
Showing 1 changed file with 7 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@ import arrow.typeclasses.functor
* [Iso] is a type alias for [PIso] which fixes the type arguments
* and restricts the [PIso] to monomorphic updates.
*/
typealias Iso<S, T> = PIso<S, S, T, T>
typealias Iso<S, A> = PIso<S, S, A, A>
typealias ForIso = ForPIso
typealias IsoOf<S, A> = PIsoOf<S, S, A, A>
typealias IsoPartialOf<S> = Kind<ForIso, S>
typealias IsoKindedJ<S, A> = PIsoKindedJ<S, S, A, A>

/**
* An [Iso] is a loss less invertible optic that defines an isomorphism between a type `S` and `A`.
Expand All @@ -27,7 +31,8 @@ typealias Iso<S, T> = PIso<S, S, T, T>
* @param A the focus of a [PIso]
* @param B the modified target of a [PIso]
*/
interface PIso<S, T, A, B> {
@higherkind
interface PIso<S, T, A, B> : PIsoOf<S, T, A, B> {

/**
* Get the focus of a [PIso]
Expand Down

0 comments on commit 85fd877

Please sign in to comment.