Здравствуйте, IT, Вы писали:
> Да, лучше перестраховаться и объявить Nemerle и его создателей врагами
> народа, дизертирами и вредителями колхозных колосков.
Можешь показать цитаты, хотя бы близкие по смыслу к этому?
> ЗЫ. Мне, кстати, тоже интересно, доколе народ будет заниматься охотой на
> ведьм? Я так понимаю, что удовольствие получается уже от самого процесса
>
А вот я применительно к отладке макросов во время компиляции другого не понимаю. Почему этого нельзя сделать путем установки точки прерывания в IDE на месте обращения к макросу в моем коде? Нет, про разные этапы компиляции и отладки, про то, что макросы это уже объектный код и прочие прописные истины ... все это я уже слышал. Это все попытка доказать всем, что так делать нельзя потому, что сейчас это невозможно.
Ну а если чуть-чуть подумать. Преставим, что в IDE на строке своего исходника я устанавливаю точку прерывания. Запускаю компиляцию, IDE подгружает внутри себя процесс компилятора и передает ему дополнительную информацию: имя файла и номер строки с точкой прерывания. Когда компилятор доходит до этого места в процессе компиляции, он сообщает IDE об этом и позволяет IDE войти в режим отладки.
Компонентная, в конце-концов .NET среда или так просто, погулять вышла? Компилятор может быть таким компонентом, который IDE подгружает в себя. IDE получает от компилятора интерфейс для управления компиляцией. IDE передает компилятору свой callback интерфейс. IDE дергает метод компилятора для начала компиляции с перечислением точек прерываний. Когда компилятор добирается до одной из них, он дергает callback интерфейс IDE и говорит, где и как нужно начать отладку.
Получается нормальная IDE для полноценного использования и отладки средств метапрограммирования Nemerle.
Или такое все же принципиально невозможно?
AFAIK, IDE для Smalltalk-а давно так работают. Чуть ли не с рождения.