根据以前的元素计算列表的下一个元素

Cam*_*tin 5 haskell

我想定义一个无限列表,其中每个元素都是前面所有元素的函数.

所以,n+1列表的第th个元素是f [x1, x2, ..., xn].

这看起来很简单,但我似乎无法理解如何做到这一点.有人可以帮忙吗?

use*_*465 10

gen f = xs where xs = map f $ inits xs
Run Code Online (Sandbox Code Playgroud)

要么

gen f = fix $ map f . inits
Run Code Online (Sandbox Code Playgroud)

  • 这很可爱. (3认同)