私は再帰によって素数を達成しようとしています。リストを使ってそれを行う方法を知っています。
関数バインディングのタイプエラー
primes :: [Int]
primes = sieve [2..10]
sieve[] = []
sieve(x:xs) = x : sieve (filter p [xs])
where p x = xs `mod` x > 0
また、マップで試してみたところ、アプリケーションでタイプエラーが発生しました
primes :: [Int]
primes = sieve [2..10]
sieve[] = []
sieve(x:xs) = x : sieve (map (`mod` x > 0) [xs])
私はリストで行うのと同じようなことを達成しようとしています
sieve (a:x) = a:sieve [y| y<-x, y`mod`a > 0]