そのため、特定の数値が Haskell で素数であるかどうかを確認するために、次の関数を考案しました (最初の素数が 2 であると想定しています)。
isPrime k = length [ x | x <- [2..k], k `mod` x == 0] == 1
いくつかの数で割り切れる場合でも、評価を継続するという明らかな落とし穴があります:(。リスト内包表記を使用して、複数の解が見つかったときに評価を「カット」する適切な方法はありますか?
また、他にどの実装を試しますか? 私はここでパフォーマンスを探しているわけではありません。同じことを行う他の「ハスケル」の方法があるかどうかを確認しようとしているだけです。