[00:45:24] <vlad3> мда, смысл COPY от меня ускользает
[00:45:47] <vlad3> при что он работает только для строк
[00:46:16] <vlad3> не буду реализовывать :)
[00:53:06] <alexey.veselovsky> добавь в список вопросов :-)
[00:53:36] <alexey.veselovsky> ну разве что COPY работает на открытых чаровых массивах
[00:53:57] <alexey.veselovsky> правда тогда остается та самая неоднозначность что и в случае присваиваний
[00:54:19] <alexey.veselovsky> блин, ужель так было сложно написать ОДНУ строчку про семантику COPY в сообщении о языке?!
[01:13:12] <alexey.veselovsky> vlad2: видел Kemet там ссылку на буржуйский флейм дал про массивы и строки?
[01:16:43] <vlad2> Да, видел. Народ теми же догадками мучается :)
[01:17:03] <vlad2> Вопрос добвавил ;)
[01:18:09] <alexey.veselovsky> Там в хвосте обсуждения говорят что Вирт что-то там ответил
[01:18:20] <alexey.veselovsky> Походу его уже мучают вопросами :-=)
[01:18:23] <alexey.veselovsky> :-)
[01:22:46] <alexey.veselovsky> В свете всего этого меня улыбают строки про свежий оберон-репорт писанный info21:
[01:22:55] <alexey.veselovsky> "Николай Вальтерович прислал новую ревизию репорта.

Предупреждал же: надо к этим новостям относится спокойней.

Типичное ползание оптимизирующего алгоритма по точке оптимума."
[01:23:01] <alexey.veselovsky> Пол года назад.
[01:23:07] <alexey.veselovsky> Точка оптимума, блин.
[01:24:04] <vlad2> Гы! :)
[01:25:07] <vlad2> Можно свести репорт к "такой классный язык с такими ключевыми словами, смысл которых должен быть очевиден имплементаторам" :)
[01:25:26] <alexey.veselovsky> Ога. Сверхкомпактное описание языка!
[01:25:48] <alexey.veselovsky> Типа "ну вы же уже и так знаете что должно быть и как, верно ведь?"
[01:26:03] <alexey.veselovsky> Основываясь на опыте предыдущих модул да оберонов :-)
[01:26:15] <vlad2> EBNF таки привести, чтоб формальность присутствовала.
[01:26:35] <alexey.veselovsky> Ну да, синтаксис это святое.
[01:26:51] <alexey.veselovsky> Хотя один фиг у Вирта там недоформальный синтаксис по сути. то есть даже синтаксис!
[01:28:05] <alexey.veselovsky> Так. Надо-надо Вирту вопросник заслать пока он не выкатил 2013 репорт. Про константы добавить. Про пробелы между лексемами (хотя это он точно не добавит - ибо это раздует репорт).
[01:28:44] <alexey.veselovsky> Но лексемы хрен с ними
[01:28:59] <alexey.veselovsky> А вот константы.. Которые у него определены сами через себя в репорте - это сильно.
[01:30:59] <alexey.veselovsky> vlad2: а еще там пишут что нельзя анонимные типы массивов присваивать друг другу даже если они в точности одинаковы
[01:31:25] <alexey.veselovsky> то есть a: ARRAY 5 OF REAL; b : ARRAY 5 OF REAL; BEGIN a:=b END
[01:31:28] <alexey.veselovsky> нельзя
[01:32:03] <alexey.veselovsky> Все же нужно уточнить в репорте что же такое одинаковый тип
[01:32:13] <vlad2> Дык, массивы вообще нельзя приравнивать? Нет?
[01:32:27] <alexey.veselovsky> МОЖНО
[01:32:32] <vlad2> Где???
[01:32:42] <alexey.veselovsky> А где сказано что нельзя?
[01:32:43] <vlad2> Я уже етест написал, что нельзя ;)
[01:32:56] <alexey.veselovsky> ОТКРЫТЫЕ массивы - наверно нельзя
[01:32:58] <vlad2> Не скаляы нельзя.
[01:33:03] <alexey.veselovsky> а конкретные - вай нот?
[01:33:21] <alexey.veselovsky> Если на то пошло, то где сказано что можно присваивать REAL'ы? :-)
[01:33:25] <vlad2> Потом поищу пункт.
[01:33:32] <vlad2> Сейчас типа занят :)
[01:33:37] <alexey.veselovsky> :-)
[02:10:11] <alexey.veselovsky> меня обломал компилер...
[02:10:15] <alexey.veselovsky> error: assignment to cast is illegal, lvalue casts are not supported
       *((int*)(p))++ = 42;
[02:17:35] <alexey.veselovsky> ня. пришлось написать макрос:
[02:17:40] <alexey.veselovsky> #define PUSH(p,type,v) {type* pp = (type*)p; *pp++=v; p = (char*)pp;}

[02:17:45] <alexey.veselovsky> ЛОКАЛЬНЫЙ!
[02:49:54] <vlad2> ужосы какие пишешь
[02:50:18] <alexey.veselovsky> а то!
[02:50:44] <alexey.veselovsky> а чо еще делать в сях, когда нужно кучу всякого запихать ("сериализовать") в буфер?
[02:50:49] <alexey.veselovsky> разнородного разного
[02:51:01] <alexey.veselovsky> не 100500 же однотипных строк рисовать
[02:51:47] <alexey.veselovsky> а тут теперь сразу виден формат формируемого сообщения. декларативненько!
[02:52:14] <alexey.veselovsky> + можно воткнуть static_assert, и оно тогда еще проверит на переполнение буфера
[02:52:22] <alexey.veselovsky> в compile time
[02:52:30] <alexey.veselovsky> И это все Си, без плюсов!
[03:23:30] <vlad2> А я вот продолжаю скрещивать ужа с ужом (карбон с кокоа) ;)
[03:23:42] <vlad2> И чтоб все работало на 10.4 :)
[03:23:58] <alexey.veselovsky> а я вот для себя открыл внезапно что вот так писать оказывается нельзя: (int*)p=13;
[03:24:04] <alexey.veselovsky> шок, сенсация...
[03:26:04] <alexey.veselovsky> хотя вот так можно: *(int*)p=13;
[03:30:27] <vlad2> конечно нельзя
[03:30:43] <vlad2> это какая-то gcc-шная фишка была
[03:30:48] <vlad2> ждя си-программеров :)
[03:31:01] <vlad2> Выпилили? :)
[03:31:33] <alexey.veselovsky> из gcc - хез (но оно варнинг рисует, в той версии что в маке, как в современных версиях - пока не смотрел)
[03:31:45] <alexey.veselovsky> а вот у clang'a - этой фичи нет, там тупо еггог
[03:33:35] <vlad2> Там на всех нормальных компиляторах еррор :) И на вижуале тоже ;)
[03:34:12] <alexey.veselovsky> типо вижуал примазался к нормальным компиляторам? :-)
[04:02:32] <vlad2> Угу :)
[04:02:49] <vlad2> Не только ж тебе троллить вижуал :)
[04:03:07] <alexey.veselovsky> :-)
[04:04:28] <vlad2> PPC дропнуть, ничего не мешает перейти на clang. А там и до вкусностей нового С++ недалеко :)
[04:04:38] <vlad2> дропнут
[04:05:21] <alexey.veselovsky> мечтаешь? :-)
[04:53:16] <vlad2> Угу.
[04:53:44] <vlad2> Возня с подсчетом ссылок в обжс доставляет, да.
[04:54:04] <vlad2> В смысле там все обернуто. Но доке верить нельзя.
[04:55:00] <vlad2> Если в доке сказано "creates a new object", то это еще не значит, что ему надо делать release.
[07:16:50] <vlad3> valexey: "If a value parameter is structured (of array or record type), no assignment to it or to its elements are
permitted."
[07:17:46] <vlad3> Здесь "value parameter" не параметр процедуры (оно в другом разделе), а "штука слева".
[07:22:50] <vlad3> Гхм. Хотя причем здесь элементы???
[07:25:14] <vlad3> Похоже на какой-то ляп.
[07:38:59] <vlad3> Апдейтнул вопросы.
[13:14:53] <alexey.veselovsky> vlad3: не, там все же про VAL-аргументы
[13:15:33] <alexey.veselovsky> ибо иначе совсем бред получается: тогда в этом пункте сразу говорится и о том что рекорды присваивать нельзя и тут же, сразу же, говорится как именно их МОЖНО присваивать
[13:15:40] <alexey.veselovsky> (подпункт 3)
[15:33:04] <Kemet> alexey.veselovsky: форум не открывается
[15:34:00] <alexey.veselovsky> но пингуется.  странно
[15:34:12] <alexey.veselovsky> о, открылось
[15:34:41] <alexey.veselovsky> там на хостинге какой-то ахтунг со сменой IP-адресов. возможно сегодня будут сбои
[15:35:18] <Kemet> ясно, у меня так и не открывается
[15:35:39] <alexey.veselovsky> у меня снова открылся
[15:35:46] <alexey.veselovsky> оно открывается секунд за 30
[15:36:04] <alexey.veselovsky> алсо я вижу тебя срели товарищей онлайн
[15:36:11] <Kemet> кстати у меня  на джино вчера также было - пинг шел а сайт не открывался, но через анонимайзер работало
[15:36:47] <alexey.veselovsky> да я сейчас и по ssh долго ждал пока протормозится
[15:41:04] <Kemet> прям как сайт А2 )
[15:41:38] <alexey.veselovsky> :-)
[15:42:10] <Kemet> для А2 оказывается есть бинд opengl
[15:43:18] <alexey.veselovsky> А A2 может работать с хост-FS нормально?
[15:43:28] <alexey.veselovsky> то есть быть таки полноценным скажем виндовозным приложением
[15:43:42] <Kemet> да
[15:44:10] <Kemet> relative fs
[15:44:22] <alexey.veselovsky> прикольно. а свои окошки можно делать? ну, то есть тяжеловесные виндовозные. хочу скажем 3 независимых окна.
[15:44:47] <alexey.veselovsky> (а не три окна в рамках корневого окна)
[15:45:41] <Kemet> нужно свою реализацию display - oberon наприме может открываться как внутри А2 так и как окно вин
[15:46:51] <alexey.veselovsky> просто если делать из A2 замену ББ, то оно должно быть все же нативным виндоприложением с том числе возможностью нормальных окон (пофиг что виджеты рисуются самостоятельно в них)
[15:47:31] <alexey.veselovsky> Да, а чтобы был дизайн правильным оных виджетов, то не нужно иметь дизайнера с навыками А2 и программирования, нужен просто программист на А2 + дизайней/UX-спец. То есть два человека
[15:47:40] <alexey.veselovsky> Один рисует и проектирует, другой программирует и адаптирует
[15:47:53] <Kemet> тогда нужно выпилить window manager
[15:48:36] <alexey.veselovsky> не факт. смотри как скажем в swing'e сделано - есть тяжеловесные (системные) окна, они являются контейнерами для легковесных окон (которые уже рисуются самостоятельно).
[15:51:46] <Kemet> тут только одно виндовое - главное, ну и енх оберон может быть внешним, в принципе можно предусмотреть тип маинвиндов которое будет хостовым
[15:53:06] <alexey.veselovsky> угу. через тяжеловесные окна также делаются в swing'e выпадающие менюшки в случае если оная менюшшка длинная и должна вылезать за пределы главного окна
[15:54:13] <alexey.veselovsky> да, похоже был перезапуск сервера. ну или около того. поэтому нагрузка на ноду видимо выросла
[15:54:43] <alexey.veselovsky> (+ с точки зрения самого сервака все DNS-ы слетели, поэтому http-клиент на сервере никуда не мог законнектиццо)
[15:56:45] <Kemet> ага но немного подтормаживает
[16:04:56] <Kemet> 4- How to use the framework:

There are two OpenGL programming models with A2 Oberon:

4.1- Internal GLContext and WMGLWindow objects that are usable in A2 WindowManager.

4.2- External OGLWindow object which is used outside of A2 WindowManager.

[16:05:42] <Kemet> в принципе воидимо легко сделать внешнее окно
[16:06:05] <alexey.veselovsky> угу
[18:04:33] <valexеy> .
[18:42:13] <Kemet> !
[18:58:19] <vlad2> тема про BB на OpenGL: http://forum.oberoncore.ru/viewtopic.php?f=47&t=4287&start=60
[18:58:42] <vlad2> Интересная, но непонятно что хотят.
[18:59:46] <vlad2> В смысле если перепиливать ББ под линукс, что openGL, наверное, последняя вещь. Типа графический бакенд.
[19:00:12] <vlad2> Пилить надо архитектуру (те же модальные диалоги и т.п.).
[19:01:41] <vlad2> Если же вообще дропать винду, то тем более - просто перепиливать под популярный оконный мэнеджер.
[19:01:55] <vlad2> И OpenGL там никаким боком.
[19:13:31] <vlad2> valexey: не пробовал случайно подружить ObjC со смартпоинтерами? Чтоб можно было писать [ptr method] (где ptr - смартпоинтер).
[19:13:52] <vlad2> сейчас приходится писать [ptr.get() method]
[19:14:11] <vlad2> Может там какой оператор можно перегрузить?
[19:15:11] <vlad2> типа "operator ->"
[19:18:33] <vlad2> "operator id" или типа того
[19:32:15] <valexеy> vlad2: в смысле? в ObjC и так абсолютно все на смартпоинтерах :-)
[19:32:39] <valexеy> руками release звать же не надо
[19:32:53] <vlad2> Как насчет 10.4 и gcc4.2?
[19:33:11] <valexеy> у меня iOS ver 5 и выше :-)
[19:33:35] <vlad2> Короче, похоже нельзя.
[19:33:44] <vlad2> Гугление навевает грусть.
[19:33:46] <valexеy> и да, видимо у тебя таки ObjC++ а не ObjC, ибо в последнем никаких плюсов с его смартпоинтерами не наблюдается в принципе
[19:33:48] <vlad2> Там такое пишут...
[19:34:08] <vlad2> У меня .mm
[19:34:18] <valexеy> дык, ObjC++ у тебя
[19:34:26] <valexеy> гибрид бульдога с носорогом :-)
[19:34:34] <vlad2> Не говори.
[19:35:07] <vlad2> ARC только с 10.7 начинается. Чтоб ты знал ;)
[19:35:30] <valexеy> сколь я помню, ARC он от компилятора зависит а не от системы
[19:35:44] <valexеy> понятно что на gcc никаких арков не будет
[19:36:12] <vlad2> Я те точно говорю. Я пытался тут эпловский пример скомпилить, который они зачем-то переписали под 10.8.
[19:36:26] <valexеy> и чем ты компилил?
[19:36:33] <vlad2> Последним икскодом.
[19:36:43] <valexеy> а компилером каким?
[19:37:00] <vlad2> Даже под 10.7 я его в итоге так и не скомпилил.
[19:37:03] <vlad2> Только 10.8
[19:37:19] <vlad2> Конкретно ARC начинал ругаться при Б 10.7
[19:37:23] <vlad2> < 10.7
[19:37:48] <vlad2> Дык, хз какой там по  дефолту. clang я полагаю.
[19:37:48] <valexеy> дык, < 10.7 и нинужно уже всем :-)
[19:38:05] <vlad2> Ладно, я пошел добивать 10.4
[19:38:23] <valexеy> 10.4.. какой ужас...
[21:53:29] <Kemet> попробовал openGL под А2 - работает и внутренние и внешние окна
[22:07:53] <valexеy> круть
[22:08:26] <valexеy> а там тоже "текст как интерфейс"? :-)
[22:08:41] <valexеy> и как там активные объекты отображаются на системные потоки?
[22:10:10] <Kemet> тки это где в А2? ну как-то так, не как в бб а примерно как в оригинальном обероне
[22:11:45] <valexеy> Ну, оригинальный оберон в этом плане мне больше нравится. Так интерфейс все же не противоречивый, целостный
[22:13:06] <Kemet> V4 там как приложение, но вообще оно там не шибко нужно разве что старые прилады запускать
[22:13:39] <valexеy> Ну, если вместо V4 там что-то более кошерное имеется, то в печку V4 :-)
[22:15:54] <Kemet> активные объекты в нативе очень компактные, а в хастаовых версиях - обертки
[22:16:38] <Kemet> тэес под юниксаос опенджиэл тоже пашет
[22:23:47] <valexеy> то есть в случае хостов там под каждым активным объектом полноценный "тяжеловесный" поток?
[22:24:13] <valexеy> или же там таки делают легковесные потоки и распихивают их по пулу тяжеловесных?
[22:26:28] <Kemet> хз, не вникал
[22:35:27] <Kemet> вроде там есть активные объекты и активности
[22:38:01] <Kemet> щас глянуг в винде создаются через CreateProcess
[22:45:40] <Kemet> не, вру - через CreateThread
[23:23:44] <vlad2> Вау. Там есть мое имя :) https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaBindings/Concepts/WhatAreBindings.html
[23:36:58] <valexеy> vlad2: в каком именно месте?
[23:39:28] <vlad2> Там на картинках, не ищется.
[23:39:41] <vlad2> https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CocoaBindings/art/combatant_app.gif
[23:40:33] <vlad2> Странно, потому что америкосы такого имени не знают а принципе.
[23:40:44] <valexеy> На ряду с Атиллой, да
[23:41:08] <valexеy> Ну, это ж типо игрушка или около того
[23:41:15] <valexеy> Поэтому имена выбирали экзотические