2010-05-22 23 views
5

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 `**'

+3

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. –

Respuesta

8

Usted puede usar ^ para elevar a una potencia integral. No hay necesidad de convertir para flotar aquí.

+0

Gracias, parece que funciona :) – MMM

6

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 
Cuestiones relacionadas