将连续传递风格称为函数式编程语言的拯救是否有意义?

Does it make sense to call continuation-passing style the rescue for functional programming languages?

我不确定以下陈述是否有意义:

  1. 在函数式编程语言中调用非尾递归函数通常会出现 space 效率问题 由于调用堆栈的增长.

  2. 每个非尾递归函数都可以系统地通过将函数调用转换为连续传递样式来转换为尾递归函数。

  3. Continuation-passing 风格是函数式编程语言的拯救,因为没有它,非尾递归函数在函数式编程语言的代码库中盛行必然会导致严重的性能问题。

这是完全错误的。虽然每个函数都可以系统地转换为使用连续传递样式,但这并不能解决算法的 space 效率问题。 space 可能在延续闭包中而不是在执行堆栈中分配,但这没有区别。

(此外,这与语言是否具有功能无关。)