blob: 1e2c97baf994356c33de40cb3bc2c61ea67be580 (
plain) (
tree)
|
|
class Free[A] {
this match {
case a @ Gosub() => gosub(a.a)(x => gosub(???)(???))
}
def gosub[A, B](a0: Free[A])(f0: A => Any): Free[B] = ???
}
case class Gosub[B]() extends Free[B] {
type C
def a: Free[C] = ???
}
|