Tôi đang tìm kiếm một phép tính đơn giản hỗ trợ lý luận về sự phản chiếu , cụ thể là sự hướng nội và thao tác của các chương trình đang chạy.
Có phần mở rộng -calculus nào cho phép người ta chuyển đổi -terms thành một hình thức có thể được thao tác bằng cú pháp và sau đó được đánh giá không?λ
Tôi tưởng tượng rằng phép tính có hai thuật ngữ bổ sung chính:
- : lấy và tạo ra một đại diện của sửa đổi để thao tác cú pháp.v
- : lấy một đại diện cú pháp của một thuật ngữ và đánh giá nó.
Để hỗ trợ sự phản ánh, cần phải có một đại diện cú pháp. Nó sẽ trông giống như:
- sẽ được biểu diễn dưới dạng một thuật ngữ , trong đó là phiên bản phản ánh của ,R ( e ) e
- sẽ được biểu diễn dưới dạng thuật ngữ và
- sẽ được biểu diễn dưới dạng .
Với biểu diễn này, khớp mẫu có thể được sử dụng để thao tác các thuật ngữ.
Nhưng chúng tôi gặp phải một vấn đề. và cần được mã hóa dưới dạng các thuật ngữ, cũng như khớp mẫu. Đối phó với điều này có vẻ đơn giản, thêm , và , nhưng tôi có cần thêm các thuật ngữ khác để hỗ trợ thao tác này không?e v a l R E F L E C T E V A L M A T C H
Có những lựa chọn thiết kế cần phải được thực hiện. Nên những gì chức năng ám chỉ ở trên làm với cơ thể của và ? có nên biến đổi cơ thể hay không?r e f l e c t e v a l R ( - )
Vì tôi không quá quan tâm đến việc nghiên cứu sự phản chiếu của chính nó - phép tính sẽ đóng vai trò là phương tiện cho nghiên cứu khác - tôi không muốn phát minh lại bánh xe.
Có bất kỳ tính toán hiện có phù hợp với những gì tôi vừa mô tả?
Theo như tôi có thể nói, các tính toán như MetaML, được đề xuất trong một nhận xét, đi một chặng đường dài, nhưng chúng không bao gồm khả năng tạo mẫu khớp và giải mã các đoạn mã đã được xây dựng.
Một điều tôi muốn có thể làm là như sau:
Và sau đó thực hiện khớp mẫu trên kết quả để xây dựng một biểu thức hoàn toàn khác.
Đây chắc chắn không phải là một phần mở rộng bảo thủ cho -calculus và siêu lý thuyết có thể là xấu, nhưng đây là loại điểm cho ứng dụng của tôi. Tôi muốn phá vỡ giao dịch tách rời.λ