Open DmytroMitin opened 4 years ago
Transforms
@poly trait MyTypeclass[In] { type Out def foo(in: In): Out }
into
trait MyTypeclass[In] { type Out def foo(in: In): Out } object MyTypeclass { object myTypeclassPoly extends Poly1 { implicit def cse(implicit mtc: MyTypeclass[In]): Case.Aux[In, mtc.Out] = at(in => mtc.foo(in)) } }
Conflicts with shapeless.poly? Rename to polymorphic, polymorph, polyFunction?
shapeless.poly
polymorphic
polymorph
polyFunction
Implementation of @poly should be similar to @apply.
@poly
@apply
Transforms
into