Các mối quan hệ.
Bạn bè: Cho hai người, một mối quan hệ bạn bè tuân theo các luật chung này
- Có thiện chí với nhau
- Nghĩ rằng nhau là một người bạn với họ (vì vậy luật pháp phải được thực hiện bởi cả hai thành viên trong mối quan hệ này)
- Thích dành thời gian cho nhau
Monoid: Cho nhiều mục và một hàm lấy 2 trong số các mục và trả về 1, một mối quan hệ đơn hình tuân theo các quy luật chung này
- Có một trong những mục đó (chỉ một, được gọi là danh tính) được truyền cho hàm với bất kỳ mục nào khác sẽ đảm bảo hàm luôn trả về mục khác (0 + 1 = 1, do đó 0 là danh tính khi các mục là số và chức năng là bổ sung)
- Hàm không thể hoạt động trên hoặc trả về các mục không có trong tập hợp, nó có mối quan hệ đơn hình với
- Hàm này có tính kết hợp và có thể được sử dụng với các mục theo cách độc lập theo thứ tự, điều này có nghĩa là a * (b * c) = (a * b) * c nói rằng bạn có thể nhân a với kết quả của b * c hoặc c bởi kết quả của một * b và kết quả sẽ giống như bất cứ điều gì bạn làm trước tiên.
Lập trình hàm là tất cả về khái quát hóa, bạn bè là một mối quan hệ rất chung có thể được nhìn thấy trong nhiều tình huống, nhưng trong tất cả các định dạng khác nhau, nó thường tuân theo các quy định ở trên.
Nhận thức được các luật chi phối các mối quan hệ giữa các sự vật, bạn có thể tạo ra các triển khai chung hoạt động trên bất kỳ định dạng nào của những thứ có loại mối quan hệ đó. Trong lập trình chức năng, bạn cố gắng xác định mối quan hệ giữa các thứ để chúng có thể được phân loại và xử lý chung.
Bạn muốn một phép ẩn dụ từ thế giới thực? Nhìn vào cách mọi thứ có liên quan và cố gắng xác định các luật chung (như áp dụng cho nhiều tình huống trong đó những điều khác với luật có thể khác nhau). Có một mối quan hệ giữa một nhân viên đăng ký và một người mua hàng tại một cửa hàng, nó có một số luật chung, phần mềm đã được phát triển để tạo thuận lợi cho các mục tiêu của mọi người trong mối quan hệ chung đó theo cách của hệ thống POS. Tương tự như vậy khi bạn bắt đầu nhìn thấy những luật chung này chỉ ra cách mọi thứ liên quan, bạn có thể bắt đầu dựa vào luật của những mối quan hệ đó bằng cách viết phần mềm của bạn chứ không phải là những chi tiết cụ thể của một mối quan hệ.