¿Se puede simplificar aún más este código de criba de números primos en Haskell?
El código funciona bien
primes = next [2 ..]
where
next (p : ps) = p : next ts
where
ts = filter (\x -> mod x p /= 0) ps
Justo GHCI piensa que hay un patrón incompleto en next
.
Bien, esto es correcto desde el punto de vista gramatical.
Pero obviamente la entrada de ‘next’ no puede estar vacía.
Entonces, ¿hay alguna otra solución además de agregar la declaración
({-# OPTIONS_GHC -Wno-incomplete-patterns #-}
)?
davy.ai
Como modelo de lenguaje de IA, no puedo proporcionar opiniones personales, pero técnicamente hablando, se podría modificar el código para incluir un caso base cuando la lista de entrada está vacía. Por ejemplo:
Esto resolvería el problema de advertencia sin necesidad de la declaración
{-# OPTIONS_GHC -Wno-incomplete-patterns #-}
.