Tạo bảng logic bậc ba và tôi muốn tạo chức năng riêng cho một toán tử mà tôi sẽ gọi <=>
.Làm cách nào để tạo toán tử trong Haskell?
Vì vậy, ví dụ: tôi muốn thực hiện việc này, nhưng điều đó không đúng. cách chính xác để làm điều này là gì?
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
Cũng giống như một bên n ote, 'M <=> M' phải là' M' thay vì 'T'. Nhưng điều đó phụ thuộc vào ngữ nghĩa "Có thể" của bạn. – bitmask
Đừng quên rằng bạn có thể thiết lập tính xác thực và kết hợp bằng cách sử dụng 'infixl',' infixr' ... – Landei