[Nemerle 2] Вопросы дизайна
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.06.15 15:08
Оценка:
Nemerle довольно близкий к C# язык на уровне системы типов. Но все же у него есть ряд отличий. Большинство из этих отличий не принципиальные, а произошли потому как так получилось при реализации.

Я вот рассуждаю стоит ли тратить время на повторение всех отличий Немерла от Шарпа, или можно просто взять за основу спецификацию шарпа.

Например, Nemerle имеет отличающиеся от Шарпа правила обработки директив using. Причем речь идет не о возможности "открытия" классов, а именно об уникальном алгоритме при обработке using-ов. Думаю, что он получился таким просто потому что авторы Немерла не разобрались в алгоритмах Шарпа или накосявили. Возможно, конечно, что они пытались его улучшить, но по факту он получился запутанным и имел много багов, которые "замазывались" потом нами.

Собственно вопрос к комьюнити: Насколько нужно соблюдать уникальные особенности Nemerle 1? Может быть лучше максимально привести Nemerle 2 к спецификации C#, реализовав только действительно удобные и часто используемые отличия?

При это речь не идет об синтаксических особенностях или особенностях типизации. Речь идет об отличиях от стандарта Шарпа на уровне пространств имен и типов.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: [Nemerle 2] Вопросы дизайна
От: IT Россия linq2db.com
Дата: 29.06.15 15:18
Оценка: +7
Здравствуйте, VladD2, Вы писали:

VD>Насколько нужно соблюдать уникальные особенности Nemerle 1?


Не нужно.

VD>Может быть лучше максимально привести Nemerle 2 к спецификации C#, реализовав только действительно удобные и часто используемые отличия?


Лучше.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: [Nemerle 2] Вопросы дизайна
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.06.15 18:10
Оценка:
Здравствуйте, IT, Вы писали:

IT>Лучше.


OK

Стоит ли поддерживать фреймворки до 4.5? В 4.5 есть разные полезные вещи вроде ImmutableArray. Интеграцию мы уже перевели на 4.5+, т.е. в расчете на VS 2013 и старше. А в релизе, скорее всего, будем рассчитать уже на 2015 студию.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: [Nemerle 2] Вопросы дизайна
От: IT Россия linq2db.com
Дата: 29.06.15 19:18
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Стоит ли поддерживать фреймворки до 4.5?


Чем больше фреймворков будет поддерживаться, тем лучше. Но, конечно, без фанатизма. Если ImmutableArray очень очень нужен и в ранних версиях его никак нельзя сэмулировать или подменить, то пусть будет 4.5.
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: [Nemerle 2] Вопросы дизайна
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.06.15 19:36
Оценка:
Здравствуйте, IT, Вы писали:

IT>Чем больше фреймворков будет поддерживаться, тем лучше. Но, конечно, без фанатизма. Если ImmutableArray очень очень нужен и в ранних версиях его никак нельзя сэмулировать или подменить, то пусть будет 4.5.


Речь идет о фреймворке на котором работает сама Найтра и компиляторы созданные на ней. Целевой (target) фреймворк может быть любой. Пока что мы планируем для этого использовать CCI Metedata. Если будут проблемы, будем ковырять Розлин (он на отпочковался от CCI Metedata).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: [Nemerle 2] Вопросы дизайна
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 29.06.15 19:58
Оценка:
В идеале, общая с C# функциональность должна работать по спецификации C#. Поддерживать старые фреймворки для самой Нитры ни к чему.
Ce n'est que pour vous dire ce que je vous dis.
Re[5]: [Nemerle 2] Вопросы дизайна
От: IT Россия linq2db.com
Дата: 29.06.15 20:02
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Речь идет о фреймворке на котором работает сама Найтра и компиляторы созданные на ней.


Тогда я бы не парился. 4.5 это вроде как VS 2012, т.е. уже три года. Кто не спрятался, тот не виноват.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: [Nemerle 2] Вопросы дизайна
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.06.15 20:06
Оценка:
Здравствуйте, Don Reba, Вы писали:

Просьба цитировать вопросы на которые дается ответ. Не все читают форум в древесном режиме.

DR>В идеале, общая с C# функциональность должна работать по спецификации C#.


У Немерла есть несколько решений которые мощнее чем в Шарпе. Например, в Шарпе имя A.B будет считаться неоднозначным если есть более одного A в области видимости. Немерл, же делает спекулятивный поиск и выберет то A у которого есть B. Это сложнее в реализации и медленнее, но иногда полезно.

Если забить и на такие фичи, то можно упростить (а, значит и ускорить) разработку Nemerle 2, но при этом будет чуть меньше гибкости. В прочем, те кто пишет на Шарпе от этой не гибкости не сильно страдают. Так что можно забить и на эти особенности.

DR>Поддерживать старые фреймворки для самой Нитры ни к чему.


Тут вопрос в поддерживаемых студиях. Если мы выбираем 4.6, то студия будет поддерживаться только 2015 и старше. Но это несколько упрощает нам задачу. Учитывая, что до релиза еще долеко, я тоже склоняюсь к тому чтобы забить на поддержку старых версий фреймворка и студии.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: [Nemerle 2] Вопросы дизайна
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.06.15 20:29
Оценка:
Здравствуйте, IT, Вы писали:

IT>Тогда я бы не парился. 4.5 это вроде как VS 2012, т.е. уже три года. Кто не спрятался, тот не виноват.


А, если минимальной будет 2015-я и, соответственно, 4.6-й фреймворк? (учитывая, что релиз не завтра будет)
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: [Nemerle 2] Вопросы дизайна
От: IT Россия linq2db.com
Дата: 29.06.15 20:31
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А, если минимальной будет 2015-я и, соответственно, 4.6-й фреймворк? (учитывая, что релиз не завтра будет)


Если делать только поддержку VS2015+, то 4.5 не нужен.
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: [Nemerle 2] Вопросы дизайна
От: _NN_ www.nemerleweb.com
Дата: 30.06.15 01:33
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, IT, Вы писали:


IT>>Лучше.


VD>OK


VD>Стоит ли поддерживать фреймворки до 4.5? В 4.5 есть разные полезные вещи вроде ImmutableArray. Интеграцию мы уже перевели на 4.5+, т.е. в расчете на VS 2013 и старше. А в релизе, скорее всего, будем рассчитать уже на 2015 студию.


Лучше начать с 2015 и .NET 4.6, а там уже смотреть нужно ли прикладывать усилия на более раннюю версию.
Студии 2012, 2013 и 2015 совместимы между собой по проектам и обновление практически не вызывает никаких проблем.

Кстати а с .NET Core будет работать ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[4]: [Nemerle 2] Вопросы дизайна
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.06.15 07:56
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Лучше начать с 2015 и .NET 4.6, а там уже смотреть нужно ли прикладывать усилия на более раннюю версию.


Фарш невозможно провернуть назад. Если начать с VS 2015, то предыдущих версий уже не будет поддерживаться. Сейчас поддерживается 2013-я.

_NN>Студии 2012, 2013 и 2015 совместимы между собой по проектам и обновление практически не вызывает никаких проблем.


Зато по API они совместимы только сверху вниз. Обратной совместимости нет. А, 2015-я студия на Розлине и имеет свою проектную систему.

_NN>Кстати а с .NET Core будет работать ?


Интеграция, естественно — нет. Остальное — должно. Привязка к платформе из-за использования SRE. От этого мы уйдем.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: [Nemerle 2] Вопросы дизайна
От: _NN_ www.nemerleweb.com
Дата: 30.06.15 11:39
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, _NN_, Вы писали:


_NN>>Лучше начать с 2015 и .NET 4.6, а там уже смотреть нужно ли прикладывать усилия на более раннюю версию.


VD>Фарш невозможно провернуть назад. Если начать с VS 2015, то предыдущих версий уже не будет поддерживаться. Сейчас поддерживается 2013-я.

Ну тогда только 2015 и поддерживать.
Не забыть проверить совместимость с 2015 Community Edition.

Фичи C# 6 только там можно использовать и никто не переживает.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: [Nemerle 2] Вопросы дизайна
От: enlightenihi  
Дата: 06.07.15 21:23
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Nemerle довольно близкий к C# язык на уровне системы типов. Но все же у него есть ряд отличий. Большинство из этих отличий не принципиальные, а произошли потому как так получилось при реализации.


VD>Я вот рассуждаю стоит ли тратить время на повторение всех отличий Немерла от Шарпа, или можно просто взять за основу спецификацию шарпа.


VD>Например, Nemerle имеет отличающиеся от Шарпа правила обработки директив using. Причем речь идет не о возможности "открытия" классов, а именно об уникальном алгоритме при обработке using-ов. Думаю, что он получился таким просто потому что авторы Немерла не разобрались в алгоритмах Шарпа или накосявили. Возможно, конечно, что они пытались его улучшить, но по факту он получился запутанным и имел много багов, которые "замазывались" потом нами.


VD>Собственно вопрос к комьюнити: Насколько нужно соблюдать уникальные особенности Nemerle 1? Может быть лучше максимально привести Nemerle 2 к спецификации C#, реализовав только действительно удобные и часто используемые отличия?


VD>При это речь не идет об синтаксических особенностях или особенностях типизации. Речь идет об отличиях от стандарта Шарпа на уровне пространств имен и типов.




Предложение, для чего он нужен и что я ожидаю от Nemerle 2 — http://maiss.us/nemerle.2.html.
Это только информация. Возможно, она Вам пригодится.
nemerle 2
Re[2]: [Nemerle 2] Вопросы дизайна
От: WolfHound  
Дата: 06.07.15 23:06
Оценка:
Здравствуйте, enlightenihi, Вы писали:

E>Предложение, для чего он нужен и что я ожидаю от Nemerle 2 — http://maiss.us/nemerle.2.html.

E>Это только информация. Возможно, она Вам пригодится.
Ты смерти моей хочешь?
Мой мозг расплавился и растёкся по полу.
Сижу ржу как идиот.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[2]: [Nemerle 2] Вопросы дизайна
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 06.07.15 23:44
Оценка:
Здравствуйте, enlightenihi, Вы писали:

E>Предложение, для чего он нужен и что я ожидаю от Nemerle 2 — http://maiss.us/nemerle.2.html.

E>Это только информация. Возможно, она Вам пригодится.

Читал выборочно, но в конце говорится, что предшествующий текст доказывает необходимость наличия лексерных правил, но Нитра же генерирует безлексерные парсеры.

Жаль, сайт не на русском. В английском ошибки через слово — больно читать.
Ce n'est que pour vous dire ce que je vous dis.
Re: [Nemerle 2] Вопросы дизайна
От: xy012111  
Дата: 08.07.15 10:57
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Nemerle довольно близкий к C# язык на уровне системы типов. Но все же у него есть ряд отличий. Большинство из этих отличий не принципиальные, а произошли потому как так получилось при реализации.


Енамы можно будет в генерик-типах заводить? Почему в генерике невозможно объявить влож. Enum и Variant? Ну и прочие не принципиальные отличия будут устраняться?

По теме соглашусь с коллегами — что-то ранее MSVS 2015 в поддержке не нуждается.
Re[2]: [Nemerle 2] Вопросы дизайна
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.07.15 12:00
Оценка:
Здравствуйте, xy012111, Вы писали:

X>Енамы можно будет в генерик-типах заводить? Почему в генерике невозможно объявить влож. Enum и Variant? Ну и прочие не принципиальные отличия будут устраняться?


Можно. Сейчас это просто косяк реализации. Хотя, по моему мнению, лучше энумы в дженерик-типах не объявлять. Это плохая практика.

X>По теме соглашусь с коллегами — что-то ранее MSVS 2015 в поддержке не нуждается.


ОК, тогда как она выйдет перейдем на ее и будем ориентироваться на 2015+. Код, естественно, можно будет компилировать под любую платформу, а вот плагины только под 2015+.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: [Nemerle 2] Вопросы дизайна
От: kekekeks  
Дата: 14.07.15 22:01
Оценка:
>> В 4.5 есть разные полезные вещи вроде ImmutableArray. Интеграцию мы уже перевели на 4.5+, т.е. в расчете на VS 2013 и старше. А в релизе, скорее всего, будем рассчитать уже на 2015 студию.

https://www.nuget.org/packages/System.Collections.Immutable/1.1.37-beta-23019

И, пожалуйста, сразу всё с нормальной поддержкой NuGet. Оптимально чтобы через него подтягивался не только рантайм, но и сам компилятор.
Re[5]: [Nemerle 2] Вопросы дизайна
От: kekekeks  
Дата: 14.07.15 22:05
Оценка: 8 (1)
Здравствуйте, VladD2, Вы писали:

>Пока что мы планируем для этого использовать CCI Metedata. Если будут проблемы, будем ковырять Розлин (он на отпочковался от CCI Metedata).


Посмотрите в сторону dnlib. Это такой Cecil на стероидах, на его основе сейчас работают de4dot, ConfuserEx и ILRepack.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.