Mối quan hệ giữa hệ thống chuyển nhượng loại (TA) và hệ thống Hindley-Milner


8

Gần đây tôi bắt đầu nghiên cứu về lý thuyết loại / hệ thống loại và Lambda Tính.

Tôi đã đọc về Simple Typed Lambda Compus theo phong cách Church và Curry. Cái cuối cùng còn được gọi là Hệ thống chuyển nhượng loại (TA).

Tôi đang suy nghĩ về mối quan hệ giữa TA và Hindley-Milner (HM), hệ thống bằng các ngôn ngữ như ML và Haskell.

Cuốn sách Lambda-Compus và Combinators: An Giới thiệu (Hindley) nói rằng TA là đa hình (trang 119). Có phải đó là cảm giác đa hình giống nhau trong các hệ thống như HM và System-F?

TA được cho là có đặc tính bình thường hóa mạnh, vì vậy không hoàn thành. Các ngôn ngữ sử dụng hệ thống HM đã hoàn tất, ví dụ như Haskell. Vì vậy, phải là trường hợp đó hệ thống HM phép thuật ngữ như vòng lặp vô nhận một kiểu. Điều đó đúng hay tôi đang thiếu một cái gì đó?Ω

Dù sao đi nữa, tôi muốn biết mối quan hệ giữa TA và HM.


1
Tôi chưa bao giờ nghe nói về hệ thống phân công đánh máy trước đây. Tôi đã googled nó, và nhận được câu hỏi này là câu trả lời thứ ba, có nghĩa là nó phải rất thích hợp. Bạn có thể giải thích nó là gì? Ngoài ra, "vòng lặp vô cực" là gì? Bạn có nghĩa là một tính toán không dừng lại?
vườn

Ωλ

Tôi nghĩ rằng tôi nên đặt câu hỏi này trong một số stackexchange lý thuyết / toán học khác. Tôi có nên
Rafael Castro

Bạn có thể thử. Cung cấp cho cstheory và mathoverflow một shot. Tuy nhiên, bạn nói rằng bạn "gần đây đã bắt đầu nghiên cứu của bạn", vì vậy tôi sẽ ngạc nhiên nếu câu hỏi của bạn là nâng cao. Tôi nghĩ rằng bạn chỉ đang sử dụng thuật ngữ không phổ biến để mô tả các khái niệm đơn giản (mặc dù có thể sai). Ví dụ, vòng lặp vô cực thường được gọi là loại dưới cùng (nếu tôi hiểu bạn chính xác).
vườn

1
Chắc chắn câu hỏi của tôi không ở cấp độ nghiên cứu. Câu hỏi của tôi giống như "này, tôi hiểu khái niệm cơ bản này phải không?". Nhưng tôi sẽ cố gắng, có lẽ tôi nhận được câu trả lời.
Rafael Castro

Câu trả lời:


9

Hệ thống F và hệ thống con của nó có một loại trước đây để định lượng phổ quát:

τ:: =x.τ | ...

mà hệ thống trong Hindley / Seldin không có. Đó là sự khác biệt chính.

Bây giờ Hệ thống F không có suy luận kiểu có thể quyết định và HM là cách kết hợp suy luận kiểu với đa hình tham số biểu cảm hợp lý. HM đạt được điều này bằng cách chỉ cho phép định lượng phổ quát ngoài cùng, tức là tất cả các loại đều có dạng

x1x2...xn.τ

τn0


Câu hỏi về bình thường hóa mạnh là trực giao. Hệ thống F và HM đang bình thường hóa mạnh mẽ, nhưng điều đó có thể dễ dàng được khắc phục bằng cách giới thiệu các tổ hợp điểm cố định hoặc tương tự. Các sơ đồ loại hiệu trưởng cho các chương trình chức năng của L. Damas và R. Milner thậm chí còn tuyên bố điều này: " Ví dụ, đệ quy được bỏ qua vì nó có thể được giới thiệu bằng cách thêm toán tử điểm cố định đa hình ... " Việc giới thiệu các điểm cố định , làm cho hệ thống Turing hoàn chỉnh, không đặt ra vấn đề nào từ quan điểm suy luận kiểu.


Sẽ đúng khi nghĩ rằng HM = TA + "let-đa hình"? Cuốn sách Lambda-Compus và Combinators (Hindley), cho đến nay, không nói gì về định lượng phổ quát về các loại. TA sử dụng các biến loại, nhưng tôi không biết gì về phạm vi của các loại này. Để rõ ràng, tôi chưa nghiên cứu hệ thống HM, nhưng tôi biết những gì được sử dụng cho.
Rafael Castro

@RafaelCastro Nếu bạn nheo mắt ... Nếu bạn có nền tảng CS, cuốn sách TAPL của Pierce có lẽ là một lời giải thích dễ hiểu hơn nhiều về HM và các hệ thống gõ nói chung. Tài liệu Damas / Milner mà tôi tham chiếu rất dễ đọc, nếu bạn có thể thấy qua cài đặt kiểu cũ. Tôi đưa nó cho sinh viên tiến sĩ đầu tiên của tôi. Cho nó đọc! Hindley / Seldin là một chút về mặt chính thức.
Martin Berger

@RafaelCastro Loại biến phạm vi trên các loại. Các loại. Đây là lý do tại sao Hệ thống F là bắt buộc.
Martin Berger

Cảm ơn bạn. Có, tôi là sinh viên đại học ngành CS, vì vậy tôi sẽ thử cuốn sách TAPL của Pierce.
Rafael Castro

@RafaelCastro Có lẽ không có cách nào tốt hơn để tìm hiểu về các loại hơn là đọc TAPL và thực hiện các hệ thống gõ được thảo luận ở đó.
Martin Berger
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.