Về mặt kỹ thuật nó có thể được không? Nếu nó được triển khai trong Java, tôi sẽ nói "rất, rất khó, nhưng có thể" mà không làm giảm hiệu suất đáng kể.
Tôi thực sự đang viết tay một DSL được gõ tĩnh trong Java ngay bây giờ và cách duy nhất tôi tìm thấy để tránh kiểm tra kiểu thời gian chạy là sử dụng tổng quát và loại bỏ các cảnh báo "không được kiểm tra" ... đó là cho đến khi thời gian thực hiện mảng đa chiều (tham số lớp phải được biết tại thời điểm biên dịch và do đó vốn là hữu hạn, trong khi mảng đa chiều đại diện cho vô số loại ...) Thật không may, tôi vẫn cố gắng tìm ra cái này 'Sẽ gặp vấn đề tương tự với các lớp do người dùng định nghĩa.
Điều đó là, tôi tiếp tục vấp phải những vấn đề như vậy, nhưng sau khi ngồi một lúc, tôi nghĩ ra một giải pháp tốt. Vì vậy, để làm điều đó và có các lợi ích hiệu suất của việc gõ tĩnh (không kiểm tra kiểu thời gian chạy), tôi sẽ nói nó cực kỳ khó, nhưng không phải là không thể. Trừ đi hiệu suất, tôi sẽ nói khó nhưng rất có thể.
Tôi biết đó là một câu hỏi cũ, chỉ nghĩ rằng kinh nghiệm của tôi có thể có giá trị với ai đó.