Trạng thái của nghệ thuật trong tìm kiếm đóng gói trong lập trình logic chức năng là gì?


8

Tôi đặc biệt quan tâm đến các giải pháp cho vấn đề mà tìm kiếm được đóng gói có thể phụ thuộc vào thứ tự đánh giá.

Theo [1], tìm kiếm được đóng gói trong PAKCS phụ thuộc vào thứ tự đánh giá, trong khi trong MCC thì không, nhưng sử dụng nó đòi hỏi kiến ​​thức về việc thực hiện trình biên dịch và nó không tuân theo đặc tả ngôn ngữ Curry. Điều này đã được viết vào năm 2007, vì vậy nó có thể đã lỗi thời ngay bây giờ.

KiCS2 trả về kết quả từ tìm kiếm được đóng gói trong đơn vị IO, nhưng tôi không hiểu tại sao.

[1] Braßel và Huch, về sự tích hợp chặt chẽ hơn của lập trình chức năng và logic , Proc. THÁNG 4 NĂM 2007

Câu trả lời:


1

Những lý do để sử dụng đơn vị IO dường như được mô tả trong Braßel và Huch và Hanus, 2004, nhưng tôi không thể tìm thấy lý do rõ ràng được đưa ra cho việc sử dụng danh sách thay vì tập hợp. Tôi đoán nó là như vậy danh sách có thể được xây dựng một cách lười biếng.

Có vẻ như cách tiếp cận được mô tả trong bài báo năm 2007 là không thỏa đáng vì một số lý do (tôi không biết tại sao), bởi vì KiCS2 đã quay trở lại "API" được mô tả trong bài báo năm 2004, tức là sử dụng đơn vị IO. (Có một phiên bản không an toàn không sử dụng đơn vị IO, nhưng điều đó không minh bạch về mặt tham chiếu!)


đối với list-vs-set, tôi tin rằng họ đã đề cập đến việc đôi khi họ trả lại nhiều trang.
Erik Kaplun 6/11/2015

1

Xem http://www-ps.informatik.uni-kiel.de/kics2/lib/Findall.html : IOphương pháp tiếp cận dựa trên đó không được chấp nhận và cách thức được giới thiệu trước không phải là SetFunctionsmô-đun của Curry , Thiết kế mới này loại bỏ IOcác giá trị trả về bị cắt xén và có các phương tiện khác để tránh rò rỉ chủ nghĩa không xác định và không minh bạch tham chiếu vào vùng đất thuần túy.


Tôi đã xóa một cuộc thảo luận về cách trích dẫn tài nguyên ở đây. Hãy để chúng tôi tiếp tục trò chuyện , đó là nền tảng phù hợp hơn.
Raphael
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.