2016-11-29 21 views
6

Trong cuốn sách Lập trình Thiết kế Ngôn ngữ khái niệm, nó nói: đếmNguyên tắc hoàn thành loại là gì?

PYTHON thủ tục theo giá trị hạng nhất, cùng với tất cả các giá trị nguyên thủy và composite. Vì vậy, PYTHON phù hợp với Nguyên tắc hoàn thiện loại .

Tôi vẫn chưa hiểu.

+1

có thể được quan tâm: https://www.researchgate.net/publication/240319683_Type-completeness_as_a_language_principle – Julien

Trả lời

7

Các Loại Đầy đủ Nguyên tắc:

Không hoạt động nên tùy tiện hạn chế trong các loại giá trị liên quan. - Watt

Giá trị hạng nhất có thể được đánh giá, được chuyển thành đối số và được sử dụng làm thành phần của giá trị tổng hợp. Các ngôn ngữ chức năng cố gắng không phân biệt lớp học, trong khi các ngôn ngữ bắt buộc thường xử lý các hàm (ở mức tốt nhất) làm các giá trị hạng hai.

Khá nhiều ngôn ngữ lập trình giới hạn các loại đối tượng có thể được chuyển thành giá trị (và do đó có nghĩa là loại ). Trong C hoặc C++, các hàm không phải là giá trị, mặc dù các con trỏ tới hàm . Các lớp không phải là giá trị. Trong Java, các phương thức và lớp không phải là giá trị, mặc dù bạn có thể lấy đối tượng được đại diện đại diện cho một lớp như một giá trị, và trong Java 8, bạn có thể chuyển tham chiếu phương thức làm giá trị. Tuy nhiên, các gói không phải là giá trị .

Trong Haskell, hàm là giá trị hạng nhất, vì vậy có thể được chuyển thành đối số và được trả về dưới dạng giá trị. Kể từ khi Haskell được gõ tĩnh, hệ thống kiểu có khả năng thể hiện các loại hàm.

Các vấn đề liên quan