作为我的第一个 haskell 程序,我正在尝试这样做 - 这是获得 1 到 10 的艰难方法。我正在构建一个无限的整数列表,并对它们进行排序,然后取前 10 个。我的目的是说服自己我可以使用无限列表,而不会导致对它们的评估超出所需结果的严格要求(咳咳)。
我的代码是..
module Main where
import Data.List
minima n xs = take n (sort xs)
main = do
let x = [1..]
print (minima 10 x)
使用 ghc 编译并运行生成的可执行文件..它坐在那里分配直到被杀死。
有什么提示吗?