Recientemente instalé el plugin Eclipse de Haskell "EclipseFP". Todo funciona bastante bien, mientras que hay una característica que me enoja mucho jeje. No puedo reducir el nivel de advertencia de la salida. El complemento Eclipse/It parece agregar automáticamente el distintivo "-Wall", que es muy sensible a las cosas tipográficas. Vamos a mostrar esto en un ejemplo:Reducir el nivel de advertencia de Eclipse (tipo)
*Main> head [1,2,3]
<interactive>:1:11:
Warning: Defaulting the following constraint(s) to type `Integer'
(Num a0) arising from the literal `3'
In the expression: 3
In the first argument of `head', namely `[1, 2, 3]'
In the expression: head [1, 2, 3]
<interactive>:1:11:
Warning: Defaulting the following constraint(s) to type `Integer'
(Num a0) arising from the literal `3' at <interactive>:1:11
(Show a0) arising from a use of `print' at <interactive>:1:1-12
In the expression: 3
In the first argument of `head', namely `[1, 2, 3]'
In the expression: head [1, 2, 3]
1
*Main>
Sí, eso es realmente molesto. Es causado por funciones "intrínsecas", así como en las personalizadas. Otra:
factorial :: (Integral a) => a -> a
factorial 1 = 1
factorial n = n * factorial (n-1)
*Main> factorial 3
<interactive>:1:1:
Warning: Defaulting the following constraint(s) to type `Integer'
(Integral a0) arising from a use of `factorial'
at <interactive>:1:1-9
(Num a0) arising from the literal `3' at <interactive>:1:11
In the expression: factorial 3
In an equation for `it': it = factorial 3
<interactive>:1:1:
Warning: Defaulting the following constraint(s) to type `Integer'
(Integral a0) arising from a use of `factorial'
at <interactive>:1:1-9
(Num a0) arising from the literal `3' at <interactive>:1:11
(Show a0) arising from a use of `print' at <interactive>:1:1-11
In the expression: factorial 3
In an equation for `it': it = factorial 3
6
*Main>
¿Cómo podría escribir realmente este código para que la advertencia no aparezca en primer lugar? –