将延续传递样式称为函数式编程语言的拯救有道理吗?

问题描述

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

  1. 函数式编程语言中调用非尾递归函数通常会由于调用堆栈的增长而产生空间效率问题

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

  3. 连续传递样式是功能编程语言的急救法,因为没有它,在功能编程语言的代码库中普遍使用的非尾递归功能必然会引起严重的性能问题。

解决方法

这是完全错误的。尽管每个函数都可以通过使用连续传递样式系统地转换为该函数,但这并不能解决算法的空间效率问题。该空间可能在连续闭包中分配,而不是在执行堆栈上分配,但这没什么区别。

(此外,这与语言是否起作用无关。)