que estoy tratando de hacer lo siguiente:Haskell: ¿cómo moldear tipos?
10 ** length xs * x
pero consigo:
Ningún caso de (Int flotante) que se deriven de una uso de `**'
que estoy tratando de hacer lo siguiente:Haskell: ¿cómo moldear tipos?
10 ** length xs * x
pero consigo:
Ningún caso de (Int flotante) que se deriven de una uso de `**'
Usted puede usar ^
para elevar a una potencia integral. No hay necesidad de convertir para flotar aquí.
Gracias, parece que funciona :) – MMM
Además de @sepp2k's answer, si de alguna manera realmente necesita convertir un entero a otros tipos de Num, use fromIntegral
.
-- # fromIntegral :: (Integral a, Num b) => a -> b
10 ** fromIntegral (length xs) * x
Ah, y para ser muy claros: en general, no se "echan" los tipos en Haskell. Hay varias formas de convertir entre tipos, pero no "moldes de tipo" en el sentido habitual. –