[03:09:03] <_valexey> хм. что-то я не понял, а теперь GPS не скачать? что-то я не нахожу его на сайте
[03:09:17] <_valexey> https://www.adacore.com/download/more
[03:09:18] <_valexey> тут нету
[03:10:57] <_valexey> или оно искаропки идет в gnat?
[03:15:35] <_valexey> а, искаропки идет. сори
[12:36:17] <yeo> да, я когда docker образ для gnat gpl 2017 делал, пришлось вырезать оттуда все что не-компилятор, ибо нафик оно в docker-е
[12:44:03] <landgraf> там все идет искаропки
[14:21:21] <valexey_> Помню раньше вроде по отдельности было
[15:39:29] <valexey> Кстати, а есть какие-нибудь туториалы/книги обзорные по Аде? Как они есть например для rust'a (там, до кучи, можно примеры кода  запускать прямо из браузера): https://doc.rust-lang.org/book/second-edition/ch02-00-guessing-game-tutorial.html
[15:40:28] <valexey> только не видеотуториалы!
[15:41:41] <yeo> На англ. помому имеется
[15:41:55] <valexey> ничего против англ не имею
[15:42:11] <valexey> но я что-то не нашел. может не там искал.
[15:42:45] <yeo> http://blog.projectpolymath.org/ada-2012-tutorial_01 У меня болтается в закладках.
[15:43:07] <yeo> А книжка по Аде на wikibooks не подходит?
[15:45:47] <valexey> хм. может и подходит.
[15:45:50] <valexey> надо вчитаться.
[15:46:47] <valexey> а что с системами сборки нонче у ады? что считается кошерным? gprbuild?
[15:47:03] <yeo> Кстати, если кто не подписан на ada_ru@, Медиаскан дарит перефод книжки Ada для программистов C++ или Java
[15:47:07] <yeo> http://www.mediascan.by/
[15:47:19] <yeo> Да, gprbuild
[15:47:30] <valexey> Я не понял что у них с доставкой. То есть как далеко доставляют и чем доставляют.
[15:48:27] <yeo> надо заказывать и договариваться...
[15:49:24] <valexey> а пакетных манагеров еще не появилось, чтобы зависимости подтягивать? а то берешь какой-нибудь Rust или Go, и после их искаробочных пакетных манагеров на с++ смотреть страшно. Как бы и язык тут не при чем, но делу это не помогает.
[16:43:47] <landgraf> появились
[16:43:51] <landgraf> dnf/yum называется
[16:44:06] <landgraf> yum install aws-devel matreshka-devel aunit-devel
[16:44:11] <landgraf> ну или что хочешь
[16:44:20] <valexey> на macOS не работает :-/
[16:44:37] <landgraf> твои проблемы :-)
[16:45:19] <valexey> злой ты...
[16:45:33] <valexey> ну и на убунте тоже так себе работает :-)
[16:46:03] <valexey> а что не nix тогда? :-)
[16:46:15] <valexey> https://nixos.org/nix/
[17:11:01] <landgraf> на бубунте тоже работает, они же из дебиана воруют пакеты
[17:11:08] <landgraf> сами свой никс пилите
[17:11:24] <valexey> дык yum это ж не дебиановское, а федорино
[17:12:36] <valexey> хм. а в gpr зависимости нигде не прописываются?
Вот смотрю сюда: https://github.com/AdaCoreU/Courses/blob/master/lectures/01_Overview/02_A_Bouncing_Ball/sources/main.adb

Вижу, что используется пакет Display. Кажется, это не стандартный пакет, так как gnat его не находит.

Смотрню сюда: https://github.com/AdaCoreU/Courses/blob/master/lectures/01_Overview/02_A_Bouncing_Ball/sources/ball.gpr

Тут вообще ни слова про этот Display.

Я ожидал что там будет хотя бы что-то типа cmake'овского find_package
То есть в плюсовом cmake-проекте это было бы:
find_package(Display REQUIRED)
[17:14:29] <landgraf> cmake такой же плюсовый как и адский
[17:14:57] <landgraf> valexey, with "Game_Support";
[17:15:09] <landgraf> valexey, угадай с одного раза для чего это
[17:15:23] <valexey> а-а.. чорт. не связал одно с другим
[17:16:42] <valexey> ну, не. cmake же знает про опции плюсового компилятора, про стандарты языка и еще кучу всякого. в перую очередь cmake пилился и пилится для полюсов.

насколько я видел, есть сторонняя интеграция ады в cmake, в этом случае там и gpr и cmake используется одновременно.
[17:17:33] <valexey> а gprbuild можно подсказать где искать либы? как он их искать пытается?
[17:18:11] <landgraf> gpbuild --help
[17:18:45] <valexey> о! он и распределенную сборку умеет.
[17:18:48] <valexey> вот это - круто!
[17:23:08] <valexey> судя по хелпу - gprbuild штука серьезная и явна заточенная на использование в больших проектах.
[17:23:36] <valexey> -aP ключик значится.
[17:36:36] <valexey> хм. надо же, есть живой биндинг к SDL2 https://github.com/Lucretia/sdlada
[17:37:03] <yeo> есть даже Doom на Аде ;)
[17:37:14] <valexey> первый или второй?
[17:37:28] <yeo> Адский :)
[17:37:46] <yeo> https://github.com/AdaDoom3/AdaDoom3
[17:37:55] <yeo> третий судя по названию
[17:39:28] <valexey> хех!
[17:39:55] <valexey> интересно, сильно ли он тормозит, по сравнению с оригиналом?
[17:40:52] <yeo> в эпоху WebGL2 в бравзерах даже если тормозит врядли это будет заметно ;)
[17:41:04] <valexey> это да...
[17:41:39] <valexey> в эпоху когда тектовый редактор пишется на js на движке браузера, отжирает гигабайт ОЗУ на hello world'e и весит 300 метров.

текстовый редактор. не IDE даже!
[17:44:00] <yeo> кстати, сегодня умудрился нарисовать треугольник на OpenGL API совместимом с WebGL API из калькуляторов vgodunko! Т.е. теперь есть Ada API одинаковое для native и WebGL
[17:44:28] <valexey> а есть компилятор в js из ады?
[17:44:36] <valexey> может еще и в webasm есть компилер? ;-)
[17:45:55] <yeo> в js есть наш, самописный, он поддерживает подмножество Ады необходимое для написания калькуляторов
[17:46:23] <yeo> webasm еще жив? еще не придумали webasm v2???
[17:46:38] <valexey> хм. вроде всё живо и развивается.
[17:47:17] <valexey> новая операционка требует производительного кода. не сидеть же вечно на интерпретируемом коде, да jit-компилируемом.
[17:49:50] <yeo> писать транслятор в webasm я еще не готов. один из минусов - геморойная отладка, второй - достаточно ли он уже стабилен
[17:54:39] <valexey> компилятор в webasm по идее сильно отличается от транслятора в js. кажется webasm должен быть просто еще одним бекендом для gnat
[17:55:18] <valexey> как это у того же rustc сделано
[17:56:07] <yeo> ну я слыхал о llvm бакенде к gnat, может это как-то когда-то стрельнет
[17:56:50] <valexey> а его прямо adacore пилит?
[18:13:10] <yeo> я только звон слышал
[18:19:15] <valexey> таки да, llvm могёт: https://github.com/llvm-mirror/llvm/tree/master/lib/Target/WebAssembly
[18:19:39] <valexey> а вот в расте поддержка: https://github.com/rust-lang/rust/blob/master/src/librustc_back/target/wasm32_unknown_unknown.rs
[18:25:14] <valexey> в инфраструктуре gcc я ничего подобного не обнаружил
[19:47:17] <valexey> а в аде есть что-то вроде типобезопасного printf'a?
[19:47:27] <valexey> чтобы форматный вывод с проверкой типов на этапе компиляции
[19:47:32] <valexey> (а не как в си)
[19:48:04] <yeo> встроенного я не встречал, надо самому лепить
[19:48:20] <valexey> никто не слепил ещё нечто похожее?
[19:49:51] <yeo> да, наверное, полно, если поискать http://computer-programming-forum.com/44-ada/c9e5ea2509330ba4.htm
[19:52:26] <valexey> ага. похоже то, что нужно.
[20:01:47] <valexey> хотя тут проверки всё ж таки в рантайме. но они есть, да.
[20:02:20] <yeo> можно наверное придумать еще что-то
[20:02:27] <valexey> во всяких богомерзких плюсах и растах можно сделать printf который выдаст ошибку компиляции когда напишешь такое: printf("%s", 42);
[20:03:02] <valexey> угу. наверняка.
[20:03:42] <valexey> ну или, если вообще кодогенерацией для сериализации подобных штук.
[20:03:50] <valexey> по шаблону.