Senkoukura Fūjin
 
 
type HAlgebra[F[_[_], _], G[_]] = F[G, ?] ~> Gdef hCata[F[_[_], _], G[_], I](alg: HAlgebra[F, G],hfix: HFix[F, I])(implicit F: HFunctor[F]): G = {
val inner = hfix.unfix
val nt = F.hmap(
new (HFix[F, ?] ~> G) {
def apply[A](fa: HFix[F, A]): G[A] = hCata(alg, fa)
}
)(inner)
alg(nt)
}
Currently Offline
Comments
stk 28 May, 2016 @ 2:11am 
boo boo boo
BRUH 8 Sep, 2015 @ 12:00am 
-1 rep , bad player.