How do I create an operator in Haskell?
问题 Making a ternary logic table, and I would like to make my own function for an operator that I'll call <=> . So, for example, I want to do this, but that isn't right. what's the correct way to do this? 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 回答1: Just add parentheses around your operator: (<=>) :: Ternary -> Ternary -> Ternary (<=>) T F = F