Здравствуйте, VladD2, Вы писали: VD>В общем, для начала я бы посоветовал сделать две вещи. VD>1. Собрать Немерл с исходников (описание).
Успешно собираю с помощью DevBuildQuick-VS2017.cmd, однако BuildInstallerFull-4.cmd приводит к ошибке
Nemerle BuildInstallerFull-4.cmd error
"E:\Nitra\nemerle\NemerleAll.nproj" (целевой объект InstallerFast ) (1) ->
"E:\Nitra\nemerle\snippets\Nemerle.Statechart\Nemerle.Statechart_snippets.nproj" (целевой объект Rebuild ) (36) ->
"E:\Nitra\nemerle\snippets\Nemerle.Statechart\Lib\Nemerle.Statechart.Lib.nproj" (целевой объект по умолчанию) (37:2) ->
(Целевой объект CoreCompile) ->
List.n(1049,22,1049,32): error : typing fails on ambiguity between overloads: [E:\Nitra\nemerle\snippets\Nemerle.Statechart\Lib\Nemerle.Statechart.Lib.nproj]
Предупреждений: 10
Ошибок: 1
VD>2. Открывать не Nitra-Stagt1.sln, так как он слишком большой и сложный, а что-нибудь попроще. Например, тот же проект TDL-я. Или хотя бы более простые варианты нитровских солюшенов (лежат рядом с Nitra-Stagt1.sln). VD>Так же просьба, прислать стектрэйс TryEvaluateHierarchy, но лучше после сборки с немерлом. После сборки немерла желательно очистить репозиторий и произвести полную сборку начиная с билдбута. VD>Еще лучше если сможешь сделать дамп и зальешь его куда-то в хорошо пожатом виде.
Вот стэктрейс крэша при открытии проекта NitraTools.sln после пересборки с новым Nemerle и установки Common и NitraLang vsix
stacktrace
> DotNetLang.dll!DotNet.BaseTypeReferenceSet.TryEvaluateHierarchy() Line 136 Unknown
DotNetLang.dll!DotNet.BaseTypeReferenceSet.ParentFullScope.get() Line 56 Unknown
Nitra.Grammar.dll!Nitra.Ast.AstSymbol.Eval-Scope(Nitra.Ast.AstSymbol self, Nitra.Declarations.DependentPropertyEvalContext context) Line 54 Unknown
Nitra.Grammar.dll!Nitra.Ast.AstMembers.NestedAstSymbol.EvalProperties(Nitra.Declarations.DependentPropertyEvalContext context) Line 179103 Unknown
Nitra.Grammar.dll!Nitra.Ast.AstMembers.NestedAst.EvalProperties(Nitra.Declarations.DependentPropertyEvalContext context) Line 190449 Unknown
Nitra.Grammar.dll!Nitra.Ast.AstMembers.AstMember.AstList.EvalProperties(Nitra.Declarations.DependentPropertyEvalContext context) Line 15742 Unknown
Nitra.Grammar.dll!Nitra.Ast.TopAst.EvalProperties(Nitra.Declarations.DependentPropertyEvalContext context) Line 190759 Unknown
DotNetLang.dll!DotNet.NamespaceMember.AstList.EvalProperties(Nitra.Declarations.DependentPropertyEvalContext context) Line 2039 Unknown
DotNetLang.dll!DotNet.ExplicitNamespace.EvalProperties(Nitra.Declarations.DependentPropertyEvalContext context) Line 28817 Unknown
DotNetLang.dll!DotNet.NamespaceMember.AstList.EvalProperties(Nitra.Declarations.DependentPropertyEvalContext context) Line 2039 Unknown
Nitra.Grammar.dll!DotNet.CompilationUnit.EvalProperties(Nitra.Declarations.DependentPropertyEvalContext context) Line 193882 Unknown
Nitra.Runtime.dll!Nitra.Declarations.EvalPropertiesHost.EvalProperties(Nitra.Declarations.DependentPropertyEvalContext context, Nitra.Declarations.IDependentPropertyContainer obj, Nitra.StatisticsTask.Single statistics) Line 66 Unknown
Nitra.Runtime.dll!Nitra.Declarations.ProjectEvalPropertiesHost.ExecutePass(Nitra.Declarations.DependentPropertyEvalContext context, string passName) Line 51 Unknown
Nitra.Runtime.dll!Nitra.Declarations.EvalPropertiesHost.EvalProperties(Nitra.Declarations.DependentPropertyEvalContext context, string passName, int stage) Line 41 Unknown
Nitra.Grammar.dll!DotNet.CompilationUnit.RefreshProject(System.Threading.CancellationToken cancellationToken, System.Collections.Immutable.ImmutableArray<Nitra.Declarations.FileEvalPropertiesData> files, object data) Line 124 Unknown
Nitra.ClientServer.Server.exe!Nitra.ClientServer.Server.Worker.ProcessMessage(Nitra.ClientServer.Server.ParserMessage msg) Line 189 Unknown
Nitra.ClientServer.Server.exe!Nitra.ClientServer.Server.Worker.ParseWorkerMain() Line 70 Unknown
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Unknown
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Unknown
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Unknown
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart() Unknown
При открытии солюшна TDL такой проблемы нет. При открытии моего собственного проекта — ее тоже больше нет. Ура!
Теперь про TDL.
При сборке (через msbuild, в студии дополнительные ошибки от GitInfo и Fody) я получаю: 1>C:\Program Files (x86)\Nemerle\Net-4.0\Nemerle.MSBuild.targets(289,5): error : could not write to output file `..\..\obj\Debug\Tdl.dll' -- `Отказано в доступе. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED))'
К счастью проблема решается сносом NitraLang.vsix. После этого я могу сгенерировать плагин к студии, и на первый взгляд он корректно работает. Теперь буду пробовать обновить свой проект до последней версии Нитры и сгенерировать плагин по аналогии.
Спасибо за помощь.
А есть возможность выложить свежий билд Nemerle на сайт?
Здравствуйте, meadow_meal, Вы писали:
_>Успешно собираю с помощью DevBuildQuick-VS2017.cmd, однако BuildInstallerFull-4.cmd приводит к ошибке
Скорее всего самбодули не выгреб.
А зачем тебе инсталлятор? DevBuildQuick-VS2017.cmd достаточно.
Просто найди и зарегистрируй vsix.
_>Вот стэктрейс крэша при открытии проекта NitraTools.sln после пересборки с новым Nemerle и установки Common и NitraLang vsix
Да, похоже, баг от каких-то изменений. Посмотрим в ближайшее время.
_>А есть возможность выложить свежий билд Nemerle на сайт?
Откровенно говоря в этом не много смысла. Он постоянно модифицируется и рядом придется не хилую инструкцию выкладывать. По уму нужно делать инсталлятор. Но на это нужно время, которого нет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
_>>Успешно собираю с помощью DevBuildQuick-VS2017.cmd, однако BuildInstallerFull-4.cmd приводит к ошибке
VD>Скорее всего самбодули не выгреб.
Выгреб, дело не в этом.
VD>А зачем тебе инсталлятор? DevBuildQuick-VS2017.cmd достаточно.
Для унификации окружения с командой разработчиков. Сейчас — установка Nemerle данным инсталлятором + бинарники Нитры в репозитории. Иначе, насколько я понимаю, придется каждому в команде самому собирать Nemerle и Nitra.
_>>А есть возможность выложить свежий билд Nemerle на сайт?
VD>Откровенно говоря в этом не много смысла. Он постоянно модифицируется и рядом придется не хилую инструкцию выкладывать. По уму нужно делать инсталлятор. Но на это нужно время, которого нет.
Я про Немерле, не Нитру. Вроде не так уж часто он меняется, за 2019 — два коммита.
Здравствуйте, meadow_meal, Вы писали:
_>Выгреб, дело не в этом.
Посмотрели. Этот ассерт можно выбросить. Он явно по ошибке там. Основная проблема в том, что какой-то тип не вычисляется, но этот ассерт мешает работе. Без него все бы работала более менее нормально.
_>Для унификации окружения с командой разработчиков. Сейчас — установка Nemerle данным инсталлятором + бинарники Нитры в репозитории. Иначе, насколько я понимаю, придется каждому в команде самому собирать Nemerle и Nitra.
Нда. Надо обновить инсталлятор немерла. Там была пара правок мелких. Но они могут оказаться критическими, так как правки именно в процессе работы над нитрой были сделаны.
_>Я про Немерле, не Нитру. Вроде не так уж часто он меняется, за 2019 — два коммита.
А, это можно. Просто я не могу делать это с работы (у нас тут безопасность зашкаливает, порты терминалки закрыты, а ТимВьюер запрещен), а дома комп сдох. Что-нибудь придумаем.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
VD>>На сегодня Нитра используется в "боевом" проекте в одной из крупнейших софтовых компаний России. Данный проект удалось сделать опенсорсным, так что он является примером использования Нитры и подспорьем для ее развития. Проект называется TDL (Test Definition Language): VD>>https://github.com/rsdn/Nitra-TDL.git
_>О, вот это отлично, что есть актуальный пример.
Проблемы с этим примером в том, что там примера, как такого, нет. Ну разве что сидеть и реверс-инжинирить какие-то непонятные тесты (или тестикулы?), из которых понятно только то, что их 14 штук.
Абсолютное нежелание Влада хоть как-то описывать и продвигать собственные изделия продолжает поражать воображение.
Здравствуйте, MamutArGud, Вы писали:
MAG>Абсолютное нежелание Влада хоть как-то описывать и продвигать собственные изделия продолжает поражать воображение.
Влад дофига чего сделал для популяризации языка, а заодно и функционального программирования.
Другое дело, что этого недостаточно — для успеха нужна группа людей, каждый со своей сверхспособностью: менеджер, продавец, спонсор, евангелист, разработчики, ...
Собрать такую команду — это совсем не техническая задача, тут нужны другие навыки, в чем то даже несовместимые с навыками разработки.
MAG>>Абсолютное нежелание Влада хоть как-то описывать и продвигать собственные изделия продолжает поражать воображение.
S>А вот это тогда что? — http://rsdn.org/?summary/3766.xml
Это — ранние вспышки активности, о которых известно полутора читателям на RSDN. Про Нитру я вообще умолчу, тут история ее «продвижения» хорошо известна. И как РСДН прошел все стадии от «поддерживаем пацаны, хорошее дело делаете» до открытого высмеивания
, тоже всем известно. Более того, все причины понятны и не раз разжеваны.
S>Влад дофига чего сделал для популяризации языка, а заодно и функционального программирования. S>Другое дело, что этого недостаточно — для успеха нужна группа людей, каждый со своей сверхспособностью: менеджер, продавец, спонсор, евангелист, разработчики, ...
Неа. Нужны люди, которым не наплевать на собственный труд. И это тут тоже активно обсуждалось. Вот даже в этой ветке:
На сегодня Нитра используется в "боевом" проекте в одной из крупнейших софтовых компаний России. Данный проект удалось сделать опенсорсным, так что он является примером использования Нитры и подспорьем для ее развития. Проект называется TDL (Test Definition Language): https://github.com/rsdn/Nitra-TDL.git
Удалось. Пример использования. Берите, добры молодцы, и разбирайтесь. Я вам даже Ридми не напишу. И так — во всем. И тут, повторюсь в который раз, это уже не раз обсуждалось. И не надо никаких сверхсопосбностей, миллиона долларов или команды в 50 человек, чтобы делать хотя бы простейший минимум.
ЗЫ. Смотрел на Nitra-TDL, потому что всегда интересно посмотреть, как что и где делается для тестирования. Благо сейчас работаю в компании, в которой много .Net'а. Может оно и хорошее, но как оно работает, зачем оно нужно, как оно собирается и запускается? Ах, да, для того, чтобы это описать «нужна сверх способность менеджер», наверное. Как это другим языкам удается, не представляю Даже у абсолютно маргинальных языков (например, даже у экзотики для https://codegolf.stackexchange.com/ [1]) появляются и растут и документация, и коммьюнити, и поддержка, а тут
Здравствуйте, MamutArGud, Вы писали:
MAG>Это — ранние вспышки активности, о которых известно полутора читателям на RSDN.
В этом форуме отметилось 200 человек, охват статей думаю на пару порядков выше.
MAG>Про Нитру я вообще умолчу, тут история ее «продвижения» хорошо известна. И как РСДН прошел все стадии от «поддерживаем пацаны, хорошее дело делаете» до открытого высмеивания
, тоже всем известно. Более того, все причины понятны и не раз разжеваны.
Это субъективизм, мне тут нечего комментировать.
MAG>Неа. Нужны люди, которым не наплевать на собственный труд. И это тут тоже активно обсуждалось. Вот даже в этой ветке: MAG>Удалось. Пример использования. Берите, добры молодцы, и разбирайтесь. Я вам даже Ридми не напишу. MAG>И так — во всем. И тут, повторюсь в который раз, это уже не раз обсуждалось. И не надо никаких сверхсопосбностей, миллиона долларов или команды в 50 человек, чтобы делать хотя бы простейший минимум.
Ты упорно не замечаешь десятки статей, вебкасты и сотни сообщений на форумах.
Репозиторий нитры создан 3 года назад. А у Немерле на гитхабе 62 контрибутора, это не считая людей, которые коммитили еще в репу на Google Code (и я в том числе).
MAG>>Это — ранние вспышки активности, о которых известно полутора читателям на RSDN. S>В этом форуме отметилось 200 человек, охват статей думаю на пару порядков выше.
200-20000 человек за 10 лет? Негусто.
MAG>>Про Нитру я вообще умолчу, тут история ее «продвижения» хорошо известна. И как РСДН прошел все стадии от «поддерживаем пацаны, хорошее дело делаете» до открытого высмеивания
, тоже всем известно. Более того, все причины понятны и не раз разжеваны.
S>Это субъективизм, мне тут нечего комментировать.
Это объективная реальность, данная нам в ощущениях. История полностью документирована здесь на форуме.
S>Ты упорно не замечаешь десятки статей, вебкасты и сотни сообщений на форумах.
Я это не только замечаю, но и следил за развитием всего этого дела на протяжение 10 лет.
S>Репозиторий нитры создан 3 года назад. А у Немерле на гитхабе 62 контрибутора, это не считая людей, которые коммитили еще в репу на Google Code (и я в том числе).
Ну молодцы. ЧТо ж в итоге все так плохо-то? Начните с себя, и перестаньте кивать на «ужасный мир, в котором нужны сверхспособности и миллион долларов».