Memory leaks 函数式编程中的内存泄漏

Memory leaks 函数式编程中的内存泄漏,memory-leaks,functional-programming,Memory Leaks,Functional Programming,因为在纯函数式编程中,对象都是不可变的,所以仍然有可能产生内存泄漏吗 我所说的纯功能程序,是指没有副作用。当然,这是不现实的,因为每个程序都有I/O。但是,让我们暂时忽略I/O。我认为这是如何定义内存泄漏的问题。一个运行很长时间的程序(可能是无止境的,像服务器一样)的内存使用量可能是有限的,或者随着程序运行的时间越来越长,内存使用量会越来越大。在后一种情况下,通常会提到内存泄漏 编写一个运行时间越长需要越来越多内存的函数程序就越容易。因此,从这个意义上讲,内存泄漏是可能的。使用递归函数可以导致堆

因为在纯函数式编程中,对象都是不可变的,所以仍然有可能产生内存泄漏吗


我所说的纯功能程序,是指没有副作用。当然,这是不现实的,因为每个程序都有I/O。但是,让我们暂时忽略I/O。

我认为这是如何定义内存泄漏的问题。一个运行很长时间的程序(可能是无止境的,像服务器一样)的内存使用量可能是有限的,或者随着程序运行的时间越来越长,内存使用量会越来越大。在后一种情况下,通常会提到内存泄漏


编写一个运行时间越长需要越来越多内存的函数程序就越容易。因此,从这个意义上讲,内存泄漏是可能的。

使用递归函数可以导致
堆栈溢出。非常简单。你也可以抓住序列的头部。你可能会发现这个有趣的问题:在这个上下文中如何定义内存泄漏?此外,没有纯函数程序,否则您将永远看不到程序的结果。我认为根据定义,
堆栈溢出
不是内存泄漏,因为您没有丢失任何引用。