Я пытаюсь объявить экземпляр, используя Haskell, здесь я имею мой тип данных:Instance уравнения в Haskell -> Неполная модели
data Classification = Aproved Int
| Denied
| Missing
deriving (Show)
и экземпляр объявленный:
instance Eq Classificacao where
Denied == Denied = True
Missing == Missing = True
Aproved x == Aproved y = y==x
When Я пытаюсь сравнить конструкторы данных, это дает мне ошибку Неисчерпывающий рисунок, если я использую в GHCi Denied==Missing
Что мне делать? Я все еще учусь.
Это потому, что выражение 'Denied == Missing' не имеет определенное значение. Если вы хотите, чтобы все остальное оценивалось как «False», вам нужно добавить '_ == _ = False' в конце - иначе оно будет оцениваться до нижней (неопределенное значение). –
Поместите ': set -Wall' в ваш .ghci-файл, и компилятор предупредит вас об этой ошибке. – user2407038