Có bất kỳ ngôn ngữ lập trình (chức năng?) Trong đó tất cả các chức năng có dạng chính tắc không? Nghĩa là, bất kỳ hai hàm nào trả về cùng một giá trị cho tất cả các bộ đầu vào được biểu diễn theo cùng một cách, ví dụ: nếu f (x) trả về x + 1 và g (x) trả về x + 2, thì f (f (x (x) )) và g (x) sẽ tạo ra các tệp thực thi không thể phân biệt khi chương trình được biên dịch.
Có lẽ quan trọng hơn, ở đâu / làm thế nào tôi có thể tìm thấy nhiều thông tin hơn về biểu diễn chính tắc của các chương trình ("chương trình đại diện chính tắc" của Google đã ít hiệu quả hơn)? Có vẻ như là một câu hỏi tự nhiên để hỏi và tôi sợ rằng tôi chỉ không biết thuật ngữ thích hợp cho những gì tôi đang tìm kiếm. Tôi tò mò liệu một ngôn ngữ như vậy có thể hoàn thành Turing hay không, và nếu không, ngôn ngữ lập trình bạn có thể có như thế nào, trong khi vẫn giữ được một tài sản như vậy.
Nền tảng của tôi khá hạn chế, vì vậy tôi thích các nguồn có ít điều kiện tiên quyết hơn, nhưng tham chiếu đến các nguồn nâng cao hơn cũng có thể thú vị, vì theo cách đó tôi sẽ biết tôi muốn làm gì để hướng tới.