Tôi đang tìm kiếm một số giải thích thực sự đơn giản, dễ hiểu về lược đồ đệ quy và lược đồ lõi (catamorphisms, anamorphisms, hylomorphisms, v.v.) mà không yêu cầu theo nhiều liên kết hoặc mở một sách giáo khoa lý thuyết danh mục. Tôi chắc chắn rằng tôi đã phát minh lại nhiều sơ đồ này một cách vô thức và "áp dụng" chúng trong đầu trong quá trình viết mã (tôi chắc rằng nhiều người trong chúng ta đều có), nhưng tôi không có manh mối gì về các lược đồ đệ quy (co) tôi. sử dụng được gọi. (Được rồi, tôi đã nói dối. Tôi vừa mới đọc về một vài người trong số họ, điều này đã dẫn đến câu hỏi này. Nhưng trước ngày hôm nay, tôi không có manh mối nào.)
Tôi nghĩ rằng sự phổ biến của những khái niệm này trong cộng đồng lập trình đã bị cản trở bởi những giải thích và ví dụ bị cấm mà người ta có xu hướng bắt gặp - ví dụ trên Wikipedia, nhưng cũng có thể ở những nơi khác.
Nó cũng có thể bị cản trở bởi tên của họ. Tôi nghĩ rằng có một số tên thay thế, ít toán học hơn (một cái gì đó về chuối và dây thép gai?) Nhưng tôi không biết những tên dễ thương hơn là gì cho các sơ đồ đệ quy mà tôi sử dụng.
Tôi nghĩ sẽ hữu ích nếu sử dụng các ví dụ với kiểu dữ liệu đại diện cho các vấn đề đơn giản trong thế giới thực, thay vì các kiểu dữ liệu trừu tượng như cây nhị phân.