2011-06-20 16 views
1

我目前正在嘗試解決與ideon項目歐拉問題7。我正在實施素數生成器。以下是我有:data.sequence中沒有EmptyL?

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:模塊Data.Sequence' does not export EmptyL」(見https://ideone.com/vlSNX#view_edit_box)。

我做錯了什麼,或者ideone有問題嗎?

回答

4

EmptyLViewL類型的數據構造函數。導入它的語法爲:

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

或只是

import Data.Sequence (ViewL (..)) 
+0

謝謝。這確實解決了我的進口問題。儘管如此,我仍然有很多錯誤:-)。現在修復它們 – Simon