Re: Виды макросов в Nemerle 2.0
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.11.10 19:53
Оценка:
Здравствуйте, catbert, Вы писали:

C>Допустим, я хочу реализовать сишарповский dynamic в Nemerle 2. Для этого мне нужно перехватывать все вызовы методов для всех объектов типа dynamic в компилируемом проекте.


Мы как-то обсуждали это на англоязычном форуме и сошлись во мнении, что лучше не повторять реализацию MS, просто перевести на dynamic макрос late. По функциональности разница будет не очень большая, но получится решение в стиле Немерла. Плюс реализовать можно без приседаний и изменений в компиляторе.

C>Или добавить Extension Method, который на самом деле был бы макросом.


Об этом мы думали, но так и не реализовали. В принципе возможность была бы полезной.

C>Для этого необходимо иметь возможность расширять Nemerle на уровне вызовов метода.


C>Еще я хочу создавать новые top-level сущности, как таблицы в Falcon-е. Это, по идее, позволяет новый парсер Nemerle.


С парсером особых проблем нет. Синтаксис ведь не меняется. Тут проблема в том, что у кода меняется семантика в зависимости от типа выражения. А это уже на синтаксисе не пропрешь.
Тут можно поступить так... Объявить dynamic как макрос оразующий область видимости. И уже в этой области видимости искать вхождения dynamic-переменной и менять код. Но это сложно.

C>Каких видов макросов, кроме трех стандартных видов макросов Nemerle, вам не хватает?


Думаю, что в 2.0 будет всего хватать. А пока что придется обходиться тем что есть.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.