Tôi hiểu rằng mô hình cổ điển từ giấy tờ lambda không hợp lệ đối với Python.
Và các bao đóng không phải là mô hình toán học của việc thực hiện hệ thống Python.
Vậy đó là mô hình nào?
Tôi hiểu rằng mô hình cổ điển từ giấy tờ lambda không hợp lệ đối với Python.
Và các bao đóng không phải là mô hình toán học của việc thực hiện hệ thống Python.
Vậy đó là mô hình nào?
Câu trả lời:
Sự khác biệt chính giữa Python và các mô hình từ các bài báo cổ điển trên phép tính lambda là Python là một ngôn ngữ đa mô hình. Hầu hết các bài báo xem xét tính toán lambda đều xem xét một ngôn ngữ chức năng thuần túy, không có sự phức tạp liên quan bằng cách thêm các mô hình khác (như OOP hoặc lập trình logic).
Từ câu hỏi và ý kiến của bạn, tôi cho rằng bạn quan tâm đến nền tảng của các ngôn ngữ đa mô hình như vậy. Trong trường hợp đó, tôi rất có thể đề xuất các khái niệm, kỹ thuật và mô hình lập trình máy tính của Peter van Roy và Seif Haridi . Cuốn sách chủ yếu nói về ngôn ngữ Mozart / Oz, bản thân nó là một ngôn ngữ khá hàn lâm. Tuy nhiên, cuốn sách trình bày rất rõ cách bắt đầu với một ngôn ngữ cốt lõi rất nhỏ và xây dựng định hướng đối tượng, chức năng và lập trình logic trên đầu trang (và tất cả trong cùng một ngôn ngữ cốt lõi).
Đối với mô hình toán học thực tế, hầu hết các ngôn ngữ lập trình chỉ có một đặc tả không chính thức hoặc bán chính thức. Hiếm khi bạn tìm thấy một lý thuyết đúng như tính toán lambda làm nền tảng của nó. Có rất nhiều mô hình toán học khác nhau đã được phát minh và ít nhiều có thể áp dụng. Điều thú vị là có một sự khác biệt chung về các cách tiếp cận khác nhau về cách thức ngữ nghĩa lập trình được mô hình hóa: ngữ nghĩa có thể được mô tả bằng phương pháp biểu thị, hoạt động hoặc đại số. Nếu bạn muốn đi sâu hơn nữa, thì hãy đọc một chút về Lý thuyết thống nhất về lập trình là một sự khởi đầu, mặc dù khó khăn với một đường cong học tập dốc.