Создание тройной логической таблицы, и я хотел бы сделать свою собственную функцию для оператора, который я назову <=>
.
Итак, например, я хочу это сделать, но это неправильно. какой правильный способ сделать это?
data Ternary = T | F | M
deriving (Eq, Show, Ord)
<=> :: Ternary -> Ternary -> Ternary
<=> T F = F
<=> T T = T
<=> T M = M
<=> F F = T
<=> F T = F
<=> F M = M
<=> M F = M
<=> M T = M
<=> M M = T