Hola, tengo las siguientes definiciones de tipos algebraicos:
data Curso = Curso (String,Int,Int) --(nom,cod,notaAp)
deriving (Show,Eq)
data LCursos = LCursos [Curso]
deriving (Show,Eq)
data Estudiante = Estudiante (String,Int,Int,LCursos) --(nom.ci,aingerso,liscurs)
deriving (Show,Eq)
y las siguientes funciones:
getCod :: Curso->Int
getCod (Curso(_,cod,_)) = cod
getNotaCurso :: Curso->Int
getNotaCurso (Curso(_,_,nota)) = nota
getCursosEst :: Estudiante->LCursos
getCursosEst (Estudiante(nom,ci,aing,lc)) = lc
getCursosNota :: Estudiante->Int->[Int]
getCursosNota e nota = [ getCod c | c <-getCursosEst e, getNotaCurso c == nota ]
al cargar el archivo me da error en getCursosNota, donde dice que c <- getCursosEst e espera por [Curso] y recibe LCursos
¿Cuál es el inconveniente con ello?
¿Hay problemas al definir las listas como tipos algebraicos?
¿Cuál sería la solución a ese error?
Gracias