Скажімо, я хотів створити компілятор / інтерпретатор динамічної мови, можливо, інтерпретатор схеми на платформі .NET, як це існує сьогодні. Чи краще мені використовувати режим динамічної мови (DLR) або використовувати C # 4.0 для реалізації динамічних особливостей моєї мови? Або мені потрібно обоє?
Я знаю, що в цій галузі було виконано іншу роботу, зокрема з IronScheme та IronPython . Обидві ці мови використовують DLR; Я вважаю, що IronPython використовує найновішу версію DLR (близько року), тоді як IronScheme використовує ранню, сильно модифіковану вилку ранньої версії DLR. Але C # 4.0 був недоступний, коли ці компілятори були створені.
Я бачив роботу Роб Конери з Massive, використовуючи динамічні функції C # 4.0; це досить вражаюче. Але чи зможе C # дотримуватися повномасштабних зусиль динамічного компілятора / інтепретера? Чи є в DLR функції, які відсутні у C #, або DLR по суті було переведено на C # 4.0? Чи не пропустять я жодних важливих особливостей DLR, якби я тільки ексклюзивно використовував C # 4.0?