data BTree a = Empty | Node a (BTree a) (BTree a) deriving Show
type Aluno = (Numero,Nome,Regime,Classificacao)
type Numero = Int
type Nome = String
data Regime = ORD | TE | MEL deriving Show
data Classificacao = Aprov Int| Rep| Faltou deriving Show
type Turma = BTree Aluno
У меня есть эти функции, которые подсчитывают, сколько «Alunos» имеет режим TE.Как я могу сравнить переменную с типом данных в Haskell?
Мой код:
numeroT :: Eq => Turma -> Int
numeroT Empty = 0
numeroT (Node (x,_,r,_) e d) = if (r==TE) then 1+((numeroT e)+(numeroT d))
else (numeroT e)+(numeroT d)
Могу ли я не сравнить r
с TE? Получение ошибки Eq
.
В будущем, пожалуйста добавьте сообщение об ошибке при всем вы столкнетесь с проблемой, как это. «Ошибка Eq» может быть много совершенно другой. – leftaroundabout
Спасибо за подсказку. Мой первый вопрос. Сожалею. –