Giả sử tôi muốn tạo một trình biên dịch / trình thông dịch ngôn ngữ động, một trình thông dịch Scheme có lẽ, trên nền tảng .NET như nó tồn tại ngày nay. Tôi sẽ tốt hơn khi sử dụng Thời gian chạy ngôn ngữ động (DLR) hoặc sử dụng C # 4.0 để triển khai các tính năng động của ngôn ngữ của mình? Hay tôi cần cả hai?
Tôi biết rằng đã có những công việc khác được thực hiện trong lĩnh vực này, đặc biệt là với IronScheme và IronPython . Cả hai ngôn ngữ này đều sử dụng DLR; Tôi tin rằng IronPython sử dụng phiên bản DLR mới nhất (khoảng một năm tuổi), trong khi IronScheme sử dụng một ngã ba được sửa đổi rất nhiều của phiên bản đầu tiên của DLR. Nhưng C # 4.0 không khả dụng khi các trình biên dịch này được tạo.
Tôi đã thấy Rob Conery hoạt động với Massive, sử dụng các tính năng động của C # 4.0; nó khá ấn tượng Nhưng liệu C # có giữ được nỗ lực toàn diện của trình biên dịch / intepreter ngôn ngữ động không? Có các tính năng nào trong DLR bị thiếu trong C # hay DLR về cơ bản được đưa vào C # 4.0 không? Tôi có thể thiếu bất kỳ tính năng quan trọng nào của DLR không nếu tôi chỉ sử dụng riêng C # 4.0?