@@ -52,7 +52,7 @@ object RepresentableK extends RepresentableKInstanceChain[RepresentableK] {
52
52
53
53
trait RepresentableKInstanceChain [TC [u[_[_]]] >: RepresentableK [u]] {
54
54
private [this ] def idKRepresentableInst [A ]: RepresentableK [IdK [A ]# λ] = new RepresentableK [IdK [A ]# λ] {
55
- def tabulate [F [_]](hom : RepK [IdK [A ]# λ, * ] ~> F ): F [A ] = hom(RepK .apply (x => x))
55
+ def tabulate [F [_]](hom : RepK [IdK [A ]# λ, * ] ~> F ): F [A ] = hom(RepK [ IdK [ A ] # λ] (x => x))
56
56
override def mapK [F [_], G [_]](af : F [A ])(fk : F ~> G ): G [A ] = fk(af)
57
57
override def productK [F [_], G [_]](af : F [A ], ag : G [A ]): Tuple2K [F , G , A ] = Tuple2K (af, ag)
58
58
override def embed [F [_]: FlatMap ](ft : F [F [A ]]): F [A ] = ft.flatten
@@ -62,8 +62,8 @@ trait RepresentableKInstanceChain[TC[u[_[_]]] >: RepresentableK[u]] {
62
62
63
63
private [this ] def readerTInstance [R , A ]: RepresentableK [ReaderT [* [_], R , A ]] =
64
64
new RepresentableK [ReaderT [* [_], R , A ]] {
65
- def tabulate [F [_]](hom : RepK [ReaderT [* [_], R , A ], * ] ~> F ): ReaderT [F , R , A ] = ReaderT (r => hom( RepK .mk(_.run(r)))
66
- )
65
+ def tabulate [F [_]](hom : RepK [ReaderT [* [_], R , A ], * ] ~> F ): ReaderT [F , R , A ] =
66
+ ReaderT (r => hom( RepK [ ReaderT [ * [_], R , A ]](_.run(r))) )
67
67
override def embed [F [_]: FlatMap ](ft : F [ReaderT [F , R , A ]]): ReaderT [F , R , A ] = ReaderT (r => ft.flatMap(_.run(r)))
68
68
override def pureK [F [_]](p : Point [F ]): ReaderT [F , R , A ] = ReaderT (r => p.point[A ])
69
69
override val unitK : ReaderT [UnitK , R , A ] = super .unitK
@@ -78,7 +78,7 @@ trait RepresentableKInstanceChain[TC[u[_[_]]] >: RepresentableK[u]] {
78
78
}
79
79
80
80
private [this ] def optionTInstance [A ]: RepresentableK [OptionT [* [_], A ]] = new RepresentableK [OptionT [* [_], A ]] {
81
- def tabulate [F [_]](hom : RepK [OptionT [* [_], A ], * ] ~> F ): OptionT [F , A ] = OptionT (hom(RepK .mk (_.value)))
81
+ def tabulate [F [_]](hom : RepK [OptionT [* [_], A ], * ] ~> F ): OptionT [F , A ] = OptionT (hom(RepK [ OptionT [ * [_], A ]] (_.value)))
82
82
83
83
override def mapK [F [_], G [_]](af : OptionT [F , A ])(fk : F ~> G ): OptionT [G , A ] = af.mapK(fk)
84
84
override def productK [F [_], G [_]](af : OptionT [F , A ], ag : OptionT [G , A ]): OptionT [Tuple2K [F , G , * ], A ] =
@@ -95,7 +95,7 @@ trait RepresentableKInstanceChain[TC[u[_[_]]] >: RepresentableK[u]] {
95
95
private [this ] def eitherTInstance [E , A ]: RepresentableK [EitherT [* [_], E , A ]] =
96
96
new RepresentableK [EitherT [* [_], E , A ]] {
97
97
def tabulate [F [_]](hom : RepK [EitherT [* [_], E , A ], * ] ~> F ): EitherT [F , E , A ] =
98
- EitherT (hom(RepK .mk (_.value)))
98
+ EitherT (hom(RepK [ EitherT [ * [_], E , A ]] (_.value)))
99
99
100
100
override def mapK [F [_], G [_]](af : EitherT [F , E , A ])(fk : F ~> G ): EitherT [G , E , A ] = af.mapK(fk)
101
101
override def productK [F [_], G [_]](af : EitherT [F , E , A ], ag : EitherT [G , E , A ]): EitherT [Tuple2K [F , G , * ], E , A ] =
@@ -113,7 +113,7 @@ trait RepresentableKInstanceChain[TC[u[_[_]]] >: RepresentableK[u]] {
113
113
private [this ] def writerTInstance [W , A ]: RepresentableK [WriterT [* [_], W , A ]] =
114
114
new RepresentableK [WriterT [* [_], W , A ]] {
115
115
116
- def tabulate [F [_]](hom : RepK [WriterT [* [_], W , A ], * ] ~> F ): WriterT [F , W , A ] = WriterT (hom(RepK .mk (_.run)))
116
+ def tabulate [F [_]](hom : RepK [WriterT [* [_], W , A ], * ] ~> F ): WriterT [F , W , A ] = WriterT (hom(RepK [ WriterT [ * [_], W , A ]] (_.run)))
117
117
118
118
override def mapK [F [_], G [_]](af : WriterT [F , W , A ])(fk : F ~> G ): WriterT [G , W , A ] = af.mapK(fk)
119
119
override def productK [F [_], G [_]](af : WriterT [F , W , A ], ag : WriterT [G , W , A ]): WriterT [Tuple2K [F , G , * ], W , A ] =
@@ -129,7 +129,7 @@ trait RepresentableKInstanceChain[TC[u[_[_]]] >: RepresentableK[u]] {
129
129
130
130
private [this ] def iorTInstance [E , A ]: RepresentableK [IorT [* [_], E , A ]] = new RepresentableK [IorT [* [_], E , A ]] {
131
131
132
- def tabulate [F [_]](hom : RepK [IorT [* [_], E , A ], * ] ~> F ): IorT [F , E , A ] = IorT (hom(RepK .mk (_.value)))
132
+ def tabulate [F [_]](hom : RepK [IorT [* [_], E , A ], * ] ~> F ): IorT [F , E , A ] = IorT (hom(RepK [ IorT [ * [_], E , A ]] (_.value)))
133
133
134
134
override def mapK [F [_], G [_]](af : IorT [F , E , A ])(fk : F ~> G ): IorT [G , E , A ] =
135
135
af.mapK(fk)
0 commit comments