Haskell を学習しようとしていますが、再帰の問題で立ち往生しています。私がする必要があるのは、数値が素数かどうかを調べることです。これはこれまでの私の試みです。しかし、それは機能しません。素数以外の場合は「False」になりますが、素数の場合は無限ループに陥ります。
isPrime :: Int -> Bool
isPrime num = primeTest num 2
where
primeTest :: Int -> Int -> Bool
primeTest num x
| x == num = True
| num `mod` x == 0 = False
| otherwise = primeTest num (x + 1)
where
x = 2