Hola buenos llevo rato haciendo un ejercicio de Haskell que no puedo lograr hacerlo.
En si el ejercicio creo que esta perfecto, pero Haskell no me lo toma y me da error.
Esto es lo que llevo:
pesoLiviano altura = max(0, (altura*100)-300)
pesoPesado altura = min(300, altura*100)
pesoPino altura = (pesoPesado altura + pesoLiviano altura) * 3
esPesoUtil peso = peso >= 400 && peso <= 1000
sirvePino = esPesoUtil.pesoPino
La lógica del codigo se que esta bien, en otros lenguajes lo hice bien, pero acá parece un error de sintaxis o algo asi:
pesoPino altura = (pesoPesado altura + pesoLiviano altura) * 3
El error creo que esta cuando llamo al mismo parametro dentro de la funcion 2 veces, nose si sea eso:
Y este es el erro que me da:
Non type-variable argument
in the constraint: Num ((t, t) -> (t, t))
(Use FlexibleContexts to permit this)
When checking that 'pesoPino' has the inferred type
pesoPino :: forall t t1.
(Num t, Num t1, Num ((t, t1) -> (t, t1)), Ord t, Ord t1) =>
t1 -> (t, t1) -> (t, t1)
Prueba usar al comienzo del código :
{-# LANGUAGE FlexibleContexts #-}
No entiendo de Haakell, nunca lo he usado, pero el mensaje podría interpretarse como que haces operaciones con tipos distintos.