[00:03:36] <ada_ru> (Максим) в смысле держать гугловцев, пока вы будете их бить?
[00:04:17] <ada_ru> (I_vlxy_I) ну, например :-) или там что-нибудь содержательное ответить на вопрос "нахрена ада ваще нужна, чо это такое?", ну или с документацией помочь.
[00:04:41] <ada_ru> (I_vlxy_I) я вижу, что там нужно не только кот написать, но и доку оформить.
[00:05:14] <ada_ru> (I_vlxy_I) ну и, быть может, отревьювить адскую часть кода
[07:34:10] <OCTAGRAM> I_vlxy_I, я бы сказал, что на ОПИП любой ЯП будет ассемблером с нескучным синтаксисом, что, впрочем, уже и так есть
[19:33:02] <vgodunko> yeo, нужно спасать a2js! ;) ;) ;)
[19:33:57] <yeo> опять?! :(
[19:40:03] <vgodunko> А что уже спасён?
[19:41:58] <yeo> нет, но я три дня его уже спасаю, надоело!
[19:42:26] <vgodunko> А мост между вселенными упал?
[19:42:42] <ada_ru> (I_vlxy_I) которыми?
[19:42:58] <vgodunko> с IRC
[19:44:39] <vgodunko> Ну и спасать осталось ещё чуть-чуть!
[19:45:06] <vgodunko> Я смогу уйти в путешествие с целью поиска следующей проблемы :)
[19:45:30] <ada_ru> (I_vlxy_I) а что, a2js не работает?
[19:46:28] <yeo> похоже упал. я вроде писал код, чтобы он переконектился :(
[19:49:10] <yeo> I_vlxy_I, да этот нехороший человек придумал красивую запись - pragma JavaScript_Array_Buffer (Vertex_Data);
[19:49:44] <vgodunko> a2js подвергается доработке под лучшее выполнение задач для программирования WebGL
[19:49:55] <yeo> ставишь ее и предполагается, то a2js начинает тип Vertex_Data представлять не как js объект а как ArrayBuffer
[19:50:25] <ada_ru> (I_vlxy_I) хе. кошерно!
[19:50:47] <yeo> соответственно запись всех операций в js коде координально меняется
[19:51:42] <vgodunko> Ну а поскольку знающих как сделать нет - процесс итеративен и неравномерен :)
[19:52:03] <ada_ru> (I_vlxy_I) и нарротивен :-)
[19:55:34] <yeo> надо было сразу делать транслятор в LLVM! :)
[19:55:51] <ada_ru> (I_vlxy_I) а оттуда в wasm!
[19:56:43] <ada_ru> (I_vlxy_I) а очень больно прицепить другой бекенд к gnat?
[20:01:36] <yeo> я не интересовался этим вопросом
[20:03:04] <yeo> было как минимум три попытки, бекенды в JVM, в .Net и LLVM. Первые две успешно загнивают в адакоре, а третий забросил автор
[20:04:16] <ada_ru> (I_vlxy_I) О! Кстати, это ж что, можно на аде писать под дендроид аки на java?
[20:06:01] <yeo> в адакоры есть gnat для android, как я понимаю он генерит arm native код
[20:06:38] <ada_ru> (I_vlxy_I) небось входит только в pro редакцию....
[20:07:13] <yeo> есть бесплатный квест "собери сам" :)
[20:07:32] <ada_ru> (I_vlxy_I) Ы?
[20:07:54] <yeo> ну исходники же все есть, теоритически
[20:11:34] <ada_ru> (I_vlxy_I) что-то я представил себе робинзона 2.0, у которого единственный шанс выбраться с острова - это собрать, установить и запустить под андроидом ада-программу...
[20:11:47] <ada_ru> (I_vlxy_I) персоналка есть, все исходники, теоретически, тоже
[20:12:35] <yeo> ой, да ладно, это может быть даже интересно ;)
[20:13:05] <ada_ru> (I_vlxy_I) ага. идея для сериала :-) ну или для реалити шоу
[20:14:44] <yeo> Это проще чем реализовать прагму JavaScript_Array_Buffer!
[20:23:01] <vgodunko> А кто собрался сделать прагму сию для GNAT-а через LLVM?
[20:23:35] <ada_ru> (I_vlxy_I) А разве llvm умеет котогенерацию в js?
[20:23:55] <yeo> vgodunko, наверное так не прокатит
[20:27:50] <yeo> ты когда менял JavaScript_Typed_Array на JavaScript_Array_Buffer тесты не исправлял?
[20:29:31] <yeo> vgodunko, и в hds/calcs у тебя по прежнему JavaScript_Typed_Array?
[20:33:33] <yeo> я то надеялся, что тесты TypedArray у нас работают :(
[21:42:15] <vgodunko> Нет, о тестах не подумал :(
[21:46:34] <vgodunko> yeo: переименовал, не взлетело.
[21:46:53] <vgodunko> Беда в том же месте
[21:48:04] <yeo> погоди, не уходи
[21:51:59] <yeo> vgodunko, откати свой патч в hds/calcs, и добавь pragma JavaScript_Array_Buffer (Vertex); в floor-beam_programs.ads
[21:52:36] <yeo> обновись и попробуй hds/calcs, у меня компилиться, но не могу запустить
[21:52:44] <vgodunko> yeo: который откатить?
[21:52:59] <yeo> ты мне вчера присылал a.diff
[21:53:03] <vgodunko> А!
[21:53:36] <yeo> блин, у меня уже
[21:53:40] <yeo> Ваша ветка отстает от «origin/master» на 3 коммита и может быть перемотана вперед.
[21:54:23] <ada_ru> (I_vlxy_I) rebase! :-D
[23:16:31] <ada_ru> (I_vlxy_I) Хм. А вот такой нескромный вопрос: допустим я зачитал данных кусок (в виде последовательности байт) из файла/сети, могу я без лишнего копирования работать с ним как со структурой?
Грубо говоря, у меня есть uint8_t* buf. Я хочу reinterpret_cast<MyStruct*>(buf);
Предположим, что в этом куске данных все байтики лежат как надо, то есть если создать MyStruct в памяти, то байтики лягут также.
[23:18:08] <ada_ru> (Максим) можно Ada.Unchecked_Convertion сделать
[23:18:32] <vgodunko> А можно for X'Address use Y'Address
[23:18:43] <ada_ru> (Максим) или V : My_Struct with Address => Byte_List(0)'Address;
[23:18:55] <ada_ru> (I_vlxy_I) Мне интуитивно казалось, что тут как-то замутить со сторадж пулами можно. Не?
[23:19:16] <ada_ru> (I_vlxy_I) То есть чтобы не было никаких копирований.
[23:19:55] <ada_ru> (Максим) Указываешь 'Address и не будет копирования
[23:20:11] <ada_ru> (I_vlxy_I) Ага, спасибо.
[23:20:37] <ada_ru> (I_vlxy_I) /me прикидывает насколько реализуемы для Ады плоскиебуфера
[23:20:48] <ada_ru> (I_vlxy_I) эффективные
[23:54:32] <OCTAGRAM> ну если что, транслятор в C(++)знаете, где брать, может, разберётесь заодно
[23:56:21] <ada_ru> (I_vlxy_I) э?
[23:57:17] <OCTAGRAM> нативный компилятор для Андроида на шару видел в проекте GNAT AUX, но хостится, кажется, на FreeBSD; с JGNAT разбираюсь вот прямо сейчас
[23:58:31] <ada_ru> (I_vlxy_I) фух, а я то испугался что это с плоскими буферами для Ады как-то связано
[23:59:11] <OCTAGRAM> кроме Address надо ещё Import не забывать, чтоб подавить RAII
[23:59:36] <ada_ru> (I_vlxy_I) э? какой такой импорт в Аде?
[23:59:40] <ada_ru> (I_vlxy_I) ой
[23:59:44] <ada_ru> (I_vlxy_I) какой такой RAII?
[23:59:51] <ada_ru> (I_vlxy_I) его ж надо руками делать, не?