如何处理 Haskell 中的无限长列表?

kil*_*322 1 recursion haskell

我有一个问题,有一个列表和一个数字,我必须判断列表的长度是否大于数字。但有时这个列表是无限长的。我应该如何解决这个问题?例如list包含从10开始的奇数,数字是1000。在这种情况下,list显然更长,所以返回应该是true。

Wil*_*sem 5

你列表的drop :: Int -> [a] -> [a]n个元素,如果列表不为空,则仍然有内容,我们知道列表更长。drop n可以使用无限列表,并null :: [a] -> Bool检查列表是否为空,该函数如下所示:

\n
moreThen :: Int -> [a] -> [a]\nmoreThen n xs = … --