[03:50:23] <_valexey> хм.  а в современных реалиях имеет ли смысл ключевое слово aliased?
[03:50:49] <_valexey> ведь компиляторы теперь сами могут разобраться как оптимизировать переменные, кого класть в регистр, кого в стек и так далее
[03:51:14] <_valexey> по ощущениям, aliased столь же устарел, как и rigister & auto (в старом смысле слова) в С++
[03:51:31] <_valexey> в С++ auto теперь имеет другое значение, а register будет удалено
[04:20:48] <_valexey> А что же, часто ли приходится руками использовать Unchecked_Deallocation? Или на практике принято таки как-то заворачивать во всякие контейнеры и умные указатели, чтобы руками не звать Unchecked_Deallocation?

Какая практика сложилась на эту тему?
[04:27:48] <_valexey> ну, то есть если у меня допустим один объект держит ссылку на другой объект, то как это оформляется например?
[15:28:18] <yeo> без aliased наверное нельзя сделать модульный язык. ты заранее не знаешь, как будут использоваться данные из твоего модуля в других модулях, соответственно не можешь гарантировать, что никто не возьмет от него 'Access
[15:29:30] <yeo> красивых умных указателей я не видел
[15:30:04] <valexey> а даже если возьмет, то что?
[15:30:07] <yeo> каждый лепит как умеет
[15:31:24] <valexey> ну то есть как принято работать с графом связей у объектов в Аде? Допустим он даже ациклический.
[15:31:38] <valexey> Плюсах, в общем случае, берут std::smart_ptr и всё.
[15:31:49] <valexey> никаких утечек, никакой порчи памяти.
[15:41:59] <yeo> адакоре некогда такой фигней заниматься! им же надо питон впитонивать
[16:15:34] <valexey_> O_o
[16:56:01] <valexey> а что они с питоном делают?
[16:57:12] <yeo> да всякие непотребства, типа libadalang
[16:59:45] <valexey> libadalang же на Аде писан
[16:59:53] <valexey> в основном
[17:00:45] <yeo> помойму на питоне он написан, а Ада там только генерится... но может я не прав
[17:01:25] <valexey> https://github.com/AdaCore/libadalang
[17:01:37] <valexey> по статистике репозитория - 95 процентов это Ада
[17:03:06] <valexey> хотя, может там тесты адские
[17:03:19] <valexey> т.е. ада код там в качестве примеров просто для тестирование питонячего парсера
[17:05:09] <valexey> "Libadalang is a library that can be used from Ada and Python. Most of its code is Ada code, generated from the language specification that you can find in ada/language.

WARNING: You will not find the generated code in the repository. You have to generate it yourself. We're thinking about some plans to auto-generate the code and put it in another repo/branch."
[17:05:13] <valexey> таки ты прав
[17:05:46] <valexey> а что, Ада настолько маловыразительный язык, что парсер и тулзы лучше даже на питоне писать?
[17:06:52] <yeo> с точки зрения авторов libadalang, наверное, да
[17:09:54] <yeo> большой кусок GPS написан на питоне
[17:10:35] <yeo> также как и собирающие и тесто-гоняющие скрипты и сами тесты
[17:12:19] <valexey> лучше бы на rust'e писали :-)
[18:44:48] <valexey> PythonCore :-)