Soy un principiante con Haskell y he empezado a ver los errores similares a:Haskell: -fglasgow-exts ¿debería uno evitar el código que requiere esto?
Illegal parallel list comprehension: use -fglasgow-exts
estoy trabajando dentro ghci
y con ghc
pero sólo debido al hecho de que fue la primera que encontré en una búsqueda .
Tengo curiosidad si este es el tipo de situación que uno querría evitar seguir adelante. Todas las búsquedas que he aparecido mencionan que estas extensiones exponen las instalaciones subyacentes que pueden (o no) ser útiles.
Un ejemplo específico es
fibs = 0 : 1 : [ a + b | a <- fibs | b <- tail fibs ]
supongo que el hecho de que tanto a
y b
están leyendo de la lista a la vez causa problemas aquí ...? Entonces, si las extensiones glasgow son el único medio para soportar esta construcción, ¿es más común generar la lista de otra manera o simplemente asumir que las extensiones estarán disponibles?
Gracias de antemano por cualquier entrada.
[EDITAR] Lo siento si esto no estaba del todo claro, pero mi pregunta es si la inclusión de extensiones de glasgow (o cualquier otra) se considera una mala práctica. El ejemplo anterior fue solo para ilustrar el tipo de error que provocó esta pregunta.
derecho, pero estoy suponiendo que todavía inyecta las extensiones específicas en la base de código. Mi pregunta es si eso es una buena práctica o no. Por ejemplo, en C uno es libre de incluir un archivo fuente en una directiva #include, pero esto se considera una mala práctica. – ezpz
@ezpz: Ya veo. Actualizaré mi respuesta. Versión corta: depende de la extensión, pero muchos son seguros e incluso beneficiosos de usar. No creo que las comprensiones paralelas estén lo suficientemente extendidas para calificar como tales. –
Gracias por el enlace: ese es exactamente el tipo de información que estoy considerando. – ezpz