Các ngôn ngữ kết thúc, biểu cảm nhất là gì?


7

Tôi ít quan tâm đến các ngôn ngữ nơi bạn có thể viết hầu hết mọi thứ, nhưng sau đó được yêu cầu viết một bằng chứng kèm theo rằng những gì bạn viết đã chấm dứt.

Tôi quan tâm nhiều hơn đến không gian thiết kế của các ngôn ngữ vốn đã bị giới hạn trong các lớp phức tạp nhất định khi xây dựng.

Có bất kỳ loại phân cấp lý thuyết cho các ngôn ngữ hoàn thành phụ?


Có một số ngôn ngữ shader (ngôn ngữ được sử dụng để lập trình bộ xử lý đồ họa), trong đó bạn không thể viết chương trình không kết thúc. Không chắc chúng thú vị như thế nào về mặt lý thuyết, nhưng nếu bạn cần một ví dụ thực tế, bạn sẽ đến đây (tìm GLSL chẳng hạn).
wvxvw

Câu trả lời:


7

Có rất nhiều lớp ngôn ngữ lập trình trong đó tất cả các chương trình chấm dứt. Hình thức phổ biến nhất của việc chấm dứt thi hành là bằng các loại. Lý thuyết phát triển nhất về các hệ thống gõ để chấm dứt tính toán có thể là lý thuyết về khối Lambda của Barendregt, phân tách việc gõ thành ba trục trực giao:

Bắt đầu từ một ngôn ngữ kết thúc, chẳng hạn như gõ đơn giảnλ-calculus , người ta có thể thêm bất kỳ sự kết hợp nào của ba trục đó và giữ lại sự chấm dứt.

Điều này có mối liên hệ chặt chẽ với logic, thông qua sự tương ứng của Curry-Howard .

Có nhiều phần mở rộng và tinh chỉnh, bao gồm các kiểu nắm bắt các lớp phức tạp.


1
Bạn có thể vui lòng đưa ra một số hướng đối với các loại nắm bắt các lớp phức tạp (giấy tờ hoặc có thể là sách) không?
Anton Trunov

3
@AntonTrunov Trường chung là "độ phức tạp tính toán ngầm". Đó là một lĩnh vực trẻ, vì vậy tôi không nghĩ có bất kỳ cuốn sách nào. Một trong những tác phẩm tiên phong là J.-Y. Girard, Logic tuyến tính ánh sáng và Logic tuyến tính giới hạn của ông, sau này là đồng tác giả của A. Scedrov và P. Scott.
Martin Berger

4

Sau công việc cơ bản của Bellantoni & Cook trong Một đặc tính lý thuyết đệ quy mới của các hàm đa thời gian , đã có rất nhiều công việc về đặc tính đơn giản của các lớp phức tạp bằng các ngôn ngữ tổng thể, với các kết nối mạnh mẽ với logic tuyến tính như Martin Berger ghi chú trong các nhận xét.

Dựa trên công việc này, các lớp phức tạp khác đã được đặc trưng: Leivant và Marion đã đưa ra các đặc tính của PSPACEELEM (lớp cuối cùng này đặc biệt hay).

Cũng đã có hoạt động trên LOGSPACE , một lần nữa với Leivant và Ramyaa.

Đó là một lĩnh vực khá thú vị, với một hội nghị hàng năm !


Đây thực sự là nhiều câu trả lời tôi đang tìm kiếm, nhưng tôi đã chấp nhận câu trả lời khác. Tôi cũng khá hào hứng với lĩnh vực này.
sfultong
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.