Mô hình toán học của lớp Python là gì?


10

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?


Nếu tôi biết mô hình, tôi nghĩ rằng tôi có thể tìm thấy một cuốn sách chi tiết (như sicp for lisps), điều đó sẽ mô tả quá trình xây dựng một hệ thống từ đầu.
alinsoar

4
Liên quan: stackoverflow.com/q/2469824 . Tôi đã xóa câu hỏi thứ hai của bạn khỏi nội dung bài đăng của bạn (Cách xây dựng hệ thống Python từ đầu), bởi vì nó không thể trả lời được ở đây. Nếu bạn muốn biết làm thế nào để phát triển một ngôn ngữ lập trình làm việc thực tế, bạn nên xem xét những thứ như trình phân tích cú pháp, từ vựng và trình biên dịch.
Robert Harvey

Cảm ơn ! Câu hỏi thứ hai tương đương với câu hỏi thứ nhất! Nếu tôi biết mô hình, tôi có thể tìm thấy một tài liệu mô tả nó thực tế, vì vậy nó cho thấy cách xây dựng kernel của hệ thống!
alinsoar

Câu hỏi tuyệt vời!!! :)
Maxood

Câu trả lời:


7

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.

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.