Closed Juancete closed 4 years ago
hola @Juancete, podés compartir el codigo que hace que ese error aparezca? esa función no esta definid por pdepreludat y sin más contexto no vamos a poder hacer demasiado
Hola @ludat, perdón por no declarar el contexto antes.
data Guitarra = Guitarra {
marca :: String,
modelo :: String,
anio :: Number,
cuerdas :: Number
}
masVieja :: [Guitarra] -> Guitarra
masVieja = foldl1 (\guitarra1 guitarra2 -> if (anio guitarra1 < anio guitarra2) then guitarra1 else guitarra2)
Dada una colecció nde guitarras, me quiero quedar con la más vieja.
Ohh, no sabía que iba a pasar eso pero creo que ya sé por que es. Me parece que es esta extension la que está molestando: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#rebindable-syntax-and-the-implicit-prelude-import
Un workaround es tener definida la funcion ifThenElse en donde sea que se esté usando un if
ifThenElse :: Bool -> a -> a -> a
ifThenElse condition ifTrue ifFalse = case condition of
True -> ifTrue
False -> ifFalse
Y creo que el fix va a ser agregar eso para que el pdepreludat lo exporte :sweat_smile:
Es correcto @JuanFdS. Al agregar la definición de ifThenElse se solucionó el error.
Al intentar modelar una solución con if, arroja como error: