【问题标题】:no EmptyL in data.sequence?data.sequence 中没有 EmptyL?
【发布时间】:2011-06-20 15:01:49
【问题描述】:

我目前正在尝试使用 ideon 解决项目 euler 的问题 7。我正在实现一个素数生成器。这是我所拥有的:

import Data.Sequence ((|>), empty, viewl, EmptyL, length, index)

isprime primes n = let 
        factors = viewl primes
        inner EmptyL = True
        inner (factor :< others) = if n `mod` factor == 0 then False else inner others
        in inner primes

nextPrime primes = let
        findPrime n = if isPrime primes n then n else findPrime (n + 1)
        in primes |> (findPrime $ primes `index` (length primes + 1))


result = head $ foldr (.) id (replicate 1000 nextPrime) [2]

main = putStr $ show result

问题是,ideone 给我返回了一个编译错误:prog.hs:1:42: Module Data.Sequence' does not exportEmptyL'(见https://ideone.com/vlSNX#view_edit_box)。

是我做错了什么,还是ideone有问题?

【问题讨论】:

    标签: haskell primes


    【解决方案1】:

    EmptyLViewL 类型的数据构造函数。导入它的语法是:

    import Data.Sequence (ViewL (EmptyL, (:<))
    

    或者只是

    import Data.Sequence (ViewL (..))
    

    【讨论】:

    • 谢谢。这确实解决了我的导入问题。不过,我仍然有很多错误:-)。立即修复它们
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 1970-01-01
    相关资源
    最近更新 更多