2011-06-20 8 views
1

私は現在、イーマーンのプロジェクトオイラーで問題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

EmptyLは、ViewLタイプのデータコンストラクタです。それをインポートする構文は次のとおりです。

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

か、単に

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

ありがとうございました。それは実際に私の輸入の問題を解決する。私はまだ多くのエラーがあります:-)。今すぐ修正する – Simon

関連する問題