Sự khác biệt giữa các loại và sắp xếp


11

Đây có thể là một câu hỏi rất đơn giản.

Nhưng sự khác biệt giữa các loại và loại là gì?

Hiểu biết hiện tại của tôi là bạn có một lý thuyết loại với các quy tắc loại đưa ra khái niệm về một câu lệnh được gõ tốt nhưng các loại là cơ bản hơn, phân biệt các ký hiệu thành các loại ký hiệu khác nhau và đưa ra các quy tắc cơ bản về ứng dụng chức năng, v.v.

Có lẽ có rất ít sự khác biệt, có lẽ họ chỉ đến từ các lĩnh vực khác nhau. Nhưng tôi dường như không thể tìm thấy một mô tả rõ ràng về mối quan hệ của họ.


1
Ý nghĩa của các thuật ngữ phụ thuộc vào bối cảnh. Bạn có thể đưa ra ví dụ về việc sử dụng các loại và loại mà bạn đang hỏi không?:
Jeremy

1
Và sau đó có các loại. Và các lớp học.
lukstafi

@Jeremy Các câu trả lời đã cho tôi một bức tranh rõ ràng hơn về mối quan hệ. Tôi không có bất kỳ ví dụ nào mà tôi không rõ chuyện gì đang xảy ra trong một tình huống cụ thể nhưng tự hỏi liệu có một ý nghĩa nào trong việc chọn một thuật ngữ cụ thể không. Cảm ơn.
selig

1
Theo mục Wikipedia trên "Loại" , a kindlà loại của hàm tạo kiểu hoặc, ít phổ biến hơn, là loại toán tử loại bậc cao hơn.
David Tonhofer

Câu trả lời:


15

Cách tôi hiểu sự khác biệt là hai khái niệm được sử dụng để nhấn mạnh một chút khác nhau, nhưng cuối cùng chúng là cùng một loại. Vì không có định nghĩa chính thức, chúng tôi không thể mong đợi một câu trả lời chính xác mà không giới hạn phạm vi trước một cách hiểu cụ thể về "loại" và "sắp xếp".

"Sắp xếp" được sử dụng khi chúng ta muốn nói rằng có một số thứ khác nhau, tốt, mà chúng ta cần phân biệt. Một ví dụ sẽ là một lý thuyết về hình học với các loại "điểm" và "đường thẳng".

"Loại" được sử dụng khi không chỉ cần phân biệt các loại khác nhau, mà còn chú ý đúng mức đến cấu trúc của chính các loại / loại. Do đó, thông thường chúng ta có thể hình thành các loại mới từ các loại cũ (sản phẩm, tổng, loại hàm), chúng ta có thể có mối quan hệ thú vị giữa các loại (bình đẳng loại, phân nhóm), v.v ... Ngược lại, người ta thường chỉ định một số loại lúc đầu và sau đó không bao giờ quan tâm nhiều đến cấu trúc của các loại.

Ít nhất đây là cách tôi khắc phục sự khác biệt, những người khác có thể có những trải nghiệm khác nhau.


9

Giống như Andrej nói, không có thuật ngữ nào là hoàn toàn chính thức và nói về những điều tương tự, vì vậy thực sự không có một ranh giới rõ ràng.

Đối với bản thân tôi, tôi nghĩ từ "sort" xuất phát từ lý thuyết mô hình (như trong logic thứ tự nhiều thứ tự), và vì vậy tôi sử dụng từ "sort" để gợi ý rằng có một cách giải thích theo lý thuyết tập hợp của các tập hợp và cư dân. Ý tưởng là nếu là một thuật ngữ và là một loại, thì có những cách hiểu sao cho ngụ ý .σ t : σ [tσt:σ[[t]][[σ]]

Tôi không đưa ra gợi ý này khi sử dụng từ "loại". Có rất nhiều lý thuyết loại không có cách hiểu lý thuyết tập hợp đơn giản, và nhiều trong số chúng có liên quan cao đến lập trình. Vì vậy, nếu là một biểu thức và là một loại, thì phán đoán không nhất thiết phải đề xuất bất kỳ cách đọc thành viên nào.τ e : τeτe:τ


Chỉ cần làm rõ: t và sigma trong ngoặc có nghĩa là "giải thích"? Trong trường hợp nào "hàm ý" sẽ được viết tốt hơn là "có nghĩa là"?
David Tonhofer

1
Ý tôi là "nếu bạn có nguồn gốc từ , điều đó hàm ý việc giải thích là một yếu tố của việc giải thích ". t σt:σtσ
Neel Krishnaswami
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.