如何在Kotlin中使用递归类型

时间:2017-01-26 04:40:14

标签: types functional-programming kotlin

我想做的是这样的事情

fun <F, A, R> recur(f: (F, A) -> R, arg: A): R = f(f, arg)
where F = (F, A) -> R

如何在Kotlin中输入此功能?

1 个答案:

答案 0 :(得分:4)

您可以将其定义为

fun <F : (F, A) -> R, A, R> recur(f: F, arg: A): R = f(f, arg)

但是,我没有看到任何令人满意的类型系统方式如何调用它。