Tôi có một kiểu dữ liệu tiêu chuẩn đại diện cho các công thức của logic vị ngữ. Một chức năng đại diện cho một quy tắc loại trừ khấu trừ tự nhiên cho phân ly có thể trông giống như:Chức năng Trả về "Không có giải pháp" thay vì "Không có gì"
d_el p q =
if p =: (Dis r s) && q =: (Neg r) then Just s else
if q =: (Dis r s) && p =: (Neg r) then Just s else
Nothing where r,s free
x =: y = (x =:= y) == success
Thay vì đánh giá để có gì khi thống nhất đất nước không thành công, hàm trả về không có giải pháp trong PACKS
:
logic> d_el (Dis Bot Top) (Not Bot)
Result: Just Top
More Solutions? [Y(es)/n(o)/a(ll)] n
logic> d_el (Dis Bot Top) (Not Top)
No more solutions.
tôi đang thiếu gì, và tại sao không el
đánh giá thành Nothing
khi hợp nhất không thành công?
Các ngôn ngữ tôi đang sử dụng là Curry, một lập trình langauge chức năng logic (xem thẻ). – danportin
oh - Tôi xin lỗi .... vô minh có thể khá đáng lo ngại .... – Carsten
Như bạn có thể biết, "cà ri" cũng là một thuật ngữ có ý nghĩa trong các ngôn ngữ khác (như Haskell, rõ ràng) vì vậy có lẽ bạn nên [ thêm một số nội dung vào trang wiki Stack Overflow cho thẻ 'curry' (http://stackoverflow.com/edit-tag-wiki/45806). – MatrixFrog