Creazione di una tabella logica ternaria e vorrei creare la mia funzione per un operatore che chiamerò <=>
.Come posso creare un operatore in Haskell?
Quindi, per esempio, voglio farlo, ma non è giusto. qual è il modo corretto per farlo?
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
Proprio come un lato n Nota: 'M <=> M' dovrebbe essere' M' piuttosto che 'T'. Ma questo dipende dalla tua semantica "Forse". – bitmask
Non dimenticare che puoi impostare arity e associatività usando 'infixl',' infixr' ... – Landei