Tôi đang tìm một số từ vựng ở đây. Có một số hình dạng có tên chung. Ví dụ: L a = Empty | Cons a L
Thường được gọi là "danh sách", trong khi T a = Leaf a | Node (T a) (T a)
là "cây nhị phân" và St s a :: St (s->(a,s))
là hình thức của Tiểu bang.Tên kiểu mẫu: R a b = Q (a -> (R a b, b))
Tôi muốn biết nếu một hình dạng như thế này có một cái tên:
data R a b = Q (a -> (R a b,b))
Tôi đã nhìn thấy mô hình này trong khuôn khổ Arrow và triển khai máy nhà nước. Chức năng đệ quy làm cho nó cảm thấy một chút giống như một Monad Nhà nước hoặc một Monad Cont. Nó cũng là cấu trúc duy nhất bên cạnh (->)
và (>=>)
mà tôi đã thấy một thể hiện của Mũi tên được xác định.
Có tên chung cho cấu trúc dữ liệu này không?
Bạn đã có cây bonsai ở đó :). Cây nhị phân tốt hơn là 'T a = Chi nhánh (T a) (T a) | Lá a' – amindfv
@amindfy: Bạn đúng. Tôi đã sửa nó. Cảm ơn bạn. –
@ JohnF.Miller bạn sẽ không muốn lưu trữ một số 'a' ở đâu đó trong đó' T a'? : D (xin lỗi ... tôi đã phải ...) (hoặc có thể đó là một loại phantom !?: p) – Ptival