Các giới hạn lý thuyết của ngôn ngữ lập trình Stratego là gì?


10

Stratego là ngôn ngữ chuyển đổi lập trình / Viết lại DSL.

Anthony Sloane đã thực hiện một số công việc làm một thực hiện chạy trên Scala .

Các giới hạn lý thuyết của Stratego như một ngôn ngữ chức năng là gì? (bất kể thực hiện). Người ta có thể viết một ycombinator ứng dụng trong Stratego không?


Một câu hỏi rất thú vị.
Dave Clarke

Bạn có thực sự muốn liên kết đến hai biến thể tầm thường của cùng một tờ giấy không?
Randall Schulz

Một sàng lọc của câu hỏi này: Những lợi thế và bất lợi nào của việc mở rộng một ngôn ngữ lập trình bằng phương tiện này, trái ngược với công nghệ vĩ mô?
Charles Stewart

Câu trả lời:


6

Tôi sẽ đi đến câu trả lời, mặc dù tôi không có chương trình cụ thể để bạn thử. Trong một mục blog của Eelco Visser, bạn có thể thấy một ảnh chụp màn hình có chứa chủ yếu tính toán lambda được mã hóa trong Stratego (Tôi chắc chắn mã này có sẵn ở nơi khác). Ông trình bày một thông dịch viên cho tính toán lambda trong Stratego. Có lẽ, điều này là đủ để cho thấy Stratego đã hoàn thành.

Nếu bạn quan tâm đến một khái niệm cụ thể hơn về biểu cảm, thì tôi khuyên bạn nên viết lại câu hỏi của mình.

Về mặt sử dụng thực tế, tôi thấy hạn chế chính của Stratego là nó chỉ hoạt động trên một cấu trúc dữ liệu, cụ thể là cây được chuyển đổi. Sử dụng các cấu trúc dữ liệu khác như bảng biểu tượng là không tự nhiên (ít nhất là trong Stratego từ hơn 5 năm trước). Mặc dù Stratego là lý tưởng cho các phép biến đổi trên một cây, nhưng thực hiện các thao tác trên hai cây cùng một lúc là không dễ dàng.

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.