haskell列表理解非终止

时间:2015-07-08 14:22:09

标签: haskell

我有代码:

triangles'

triangles会立即打印大量数字,而 var query = from n in _db.SomeClass group n by n.name into grouped select new { name = grouped.First().name, count = grouped.Count(), } into result orderby result.count descending select result; string mostCommonName = query.First().name; 会在打印任何内容之前卡住。我看到一个类似的问题是由无限的相互递归引起的,但我不认为我在这里引入了任何递归。

1 个答案:

答案 0 :(得分:0)

问题是factors 1没有终止。 takeWhile查看输入,直到找到大于intSqrt 1的因子,但没有这样的因素。

您可以简化列表理解以完全避免takeWhile

facs = [x | x <- [1..intSqrt n], n `mod` x == 0]