Почему интеграция не на Nemerle?
От: Ka3a4oK  
Дата: 10.02.08 21:53
Оценка:
Почему очень большая часть интеграции написана на C#, а не на Nemerle?
... << RSDN@Home 1.1.4 stable rev. 510>>
Re: Почему интеграция не на Nemerle?
От: Блудов Павел Россия  
Дата: 11.02.08 02:39
Оценка:
Здравствуйте, Ka3a4oK, Вы писали:

KK>Почему очень большая часть интеграции написана на C#, а не на Nemerle?

Потому что она на 90% состоит из
    <ProjectBasePath>$(VisualStudioIntegration)\Common\Source\CSharp\Project</ProjectBasePath>

И это by design. Если тупо собрать все эти классы в сборку, то толку от неё не будет — они все помечены как internal.
Вот и приходится держать проект-переходник.
Хотя… Можно добавить InternalsVisibleToAttribute и тогда можно будет избавиться от кода на c#.
Т.е. теоретически это возможно, но я сомневаюсь, что кто-то этим займётся в ближайшее время.
... << RSDN@Home 1.2.0 alpha rev. 788>>
Re: Почему интеграция не на Nemerle?
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.02.08 09:06
Оценка:
Здравствуйте, Ka3a4oK, Вы писали:

KK>Почему очень большая часть интеграции написана на C#, а не на Nemerle?


На самом деле весь более-менее интеллектуальный код как раз на Немерле. Он находится в сборке Nemerle.Compiler.Utils.

Сам проект на Шарпе от части по причине описанной Павлом здесь
Автор: Блудов Павел
Дата: 11.02.08
, а от части, так как за основу была взята интеграция для Питона. Учитывая, что постоянно появлялись новые версии Питоновской интеграции проще было иметь этот проект на Шарпе.

В прочем, я уже несколько раз подумывал переписать все на на Немерле. Особенно такое желание приходит когда приходится писать что-то не очень тривиальное. Но пока что проще было просто перенести этот код в Nemerle.Compiler.Utils.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.