Tất cả các mối quan hệ miniKanren kết thúc bằng chữ cái o
. Động lực cho việc này là gì? Tôi thấy rằng thư viện core.logic Clojure cũng thực hiện điều này.Tại sao tên miniKanren luôn kết thúc bằng `o`?
7
A
Trả lời
11
Trong Lời nói đầu của Các lý luận âm mưu, họ giải thích nó như sau:
Một mối quan hệ, một hàm trả về một mục tiêu như giá trị của nó, kết thúc tên của nó với một superscript 'o' (ví dụ: ô tô o và null o).
Vì vậy, đó là ký hiệu để biểu thị mối quan hệ.
5
Đó là bởi vì các tác giả của Các lý luận âm mưu muốn các ký hiệu của mối quan hệ miniKanren là gợi nhiều liên tưởng của các vị từ Chương trình thông thường mà kết thúc trong ?
(ví dụ, null?
, pair?
) theo quy ước. Chỉ số o, nếu bạn nheo mắt đủ (và đã nghe câu chuyện này trước đây), trông giống như một sửa đổi ?
.
Các vấn đề liên quan
- 1. Tại sao ngoại lệ AppDomain luôn kết thúc ứng dụng?
- 2. O (log n) luôn luôn nhanh hơn O (n)
- 3. Tại sao không thực hiện/kết thúc và {} luôn tương đương?
- 4. Tại sao hoạt động này không kết thúc?
- 5. Tại sao trình duyệt chờ để kết thúc tải trang?
- 6. git tạo tệp kết thúc bằng ~?
- 7. Ruby Enumerator - Tại sao kết thúc với ngoại lệ?
- 8. Tại sao bộ nhớ dotTRACE luôn nói "Kết nối"?
- 9. Tại sao chương trình Haskell của tôi kết thúc bằng lỗi bộ nhớ?
- 10. Đường ray - Tên mẫu kết thúc bằng S
- 11. Các trình kết thúc .net luôn được thực hiện?
- 12. tại sao cout.tellp luôn trả về -1?
- 13. Tại sao vòng lặp này không bao giờ kết thúc?
- 14. Tại sao PrintStream.close() kết thúc nhận được gọi hai lần?
- 15. Tại sao mảng NSArray arrayWithObjects yêu cầu kết thúc nil?
- 16. Tại sao luôn đóng kết nối Cơ sở dữ liệu?
- 17. Tại sao MemoryStream.GetBuffer() luôn ném?
- 18. wix: INSTALLDIR có luôn kết thúc bằng dấu gạch chéo không?
- 19. tại sao bao gồm các dòng không kết thúc bằng dấu chấm phẩy?
- 20. Tại sao tôi không thể kết thúc chuỗi thô bằng dấu gạch chéo ngược?
- 21. Tại sao Javascript sẽ `if ... else if` không kết thúc bằng` else`?
- 22. Tại sao java nếu câu lệnh thất bại khi nó kết thúc bằng dấu chấm phẩy
- 23. Tại sao MySQL truy vấn hầu như luôn luôn viết bằng Capital
- 24. Tại sao self.navigationItem.backBarButtonItem luôn là nil?
- 25. 'jquery' không phải là tên tập lệnh hợp lệ. Tên phải kết thúc bằng '.js'
- 26. Tại sao phải chèn vào giữa danh sách được liên kết O (1)?
- 27. Tại sao ShowDialog luôn trả về DialogResult.Cancel?
- 28. Tại sao putStrLn kết thúc dòng là ngoài khóa chủ đề?
- 29. Tại sao "$ 1" kết thúc trong kết quả Regex.Replace() của tôi?
- 30. Tại sao độ phức tạp của BFS O (V + E) thay vì O (V * E)?