[06:23:45] <sda> Компьютерные интерфейсы в кино — эволюция воображения
http://habrahabr.ru/post/250829/

JIT-компилятор, как учебный проект в Академическом Университете
http://habrahabr.ru/company/spbau/blog/250841/
[06:49:48] <Kemet> valexey, Дженерики типы
[07:19:10] <ЕвгенийГФилиппов> .ad;сергиев приход;http\://www.germany.ru/photos/679616.big.jpg
[07:19:12] <тихий бот> ЕвгенийГФилиппов, "сергиев приход" assigned
[07:19:19] <ЕвгенийГФилиппов> сергиев приход
[07:19:19] <тихий бот> http://www.germany.ru/photos/679616.big.jpg
[07:27:02] <sda> Астрономы пытаются объяснить появление высотных «облаков» на Марсе
http://geektimes.ru/post/246022/

Учёные перечислили 12 возможных причин исчезновения цивилизации
http://geektimes.ru/post/246004/

В Китае появляется первый в мире гигаполис
http://geektimes.ru/post/245956/

Администрация президента раскритиковала михалковский налог на интернет
http://geektimes.ru/post/245998/
[07:48:59] <s6> эх. хорошо было работать в производстве аудиовидеотехники. сидишь спокойно, кропаешь, в ус не дуешь
[07:49:34] <s6> даже MSX2 и Вега 120 магнитофон сегодня приснились =)
[07:50:02] <s6> MSX2 образец качественной хардвари и софтвари
[07:50:47] <s6> в MSX с годами только флопповоды летят, всё остальное до сих пор пашет
[07:52:35] <s6> за 30 лет не сдохла техника
[08:06:24] <sda> http://www.youtube.com/watch?v=yL34z0J8GZw
[12:23:45] <geniepro> functional programming has finally reached the masses, except that it is called Visual Basic 9 instead of Haskell 98
[12:24:16] <alexey.veselovsky> :=)
[12:24:35] <geniepro> пичалька, чо (
[12:25:04] <geniepro> в васике лямбды давно уже есть, оказывается
[12:55:20] <Kemet> Прыкольно
[12:56:44] <geniepro> один оберон как всегда тормозит ))
[13:23:50] <Kemet> geniepro, В Обероне естб вложенные процедуры
[13:24:55] <Kemet> А лямбды нинужны, лишняя сучность
[13:31:15] <geniepro> как ты передашь вложенную процедуру наружу? запрещено же в обероне
[13:31:40] <geniepro> имея лямбды вложенные процедуры как раз становятся лишней сущностью
[13:52:20] <akastargazer> зачем передавать вложенную наружу? Она же по определению только для внутреннего использования. Получается, что это как трусы через голову надевать
[13:52:47] <akastargazer> В этом вся суть майнстрима. Придумают трусы через голову надевать - нате вам лямблы, шоб удобнее было
[13:54:01] <geniepro> просто ты не имеешь опыта работы ни в фп, ни в настоящем ооп как в смоллтолке
[13:54:18] <geniepro> там это нормально -- передавать куда-то кложуру
[13:56:57] <akastargazer> Ну, там где надевают трусы через голову - нормально, я согласен
[13:57:24] <akastargazer> В нашем мегаполисе так заведено - надевать трусы через голову. Это нормально.
[14:00:51] <akastargazer> help
[14:00:54] <тихий бот> akastargazer, команды:
.set - ответ участнику
.ad - ответ всем
пример: .set;ключевая фраза;ответная фраза{;ответная фраза:альтернативная фраза{:альтернативная фраза}}
.list - список команд
.del;ключевая фраза - удаляет из списка
[14:03:51] <geniepro> ну, если работать с лямбдами удобнее -- то тут уж проблемы тех, кто не хочет "надевать трусы через голову" по причине отсутствия трусов и/или головы и потому не пользуется лямбдами...
[14:04:00] <akastargazer> .ad;нормально;В нашем мегаполисе нормально надевать трусы через голову:Ненормально:Паранормально;а в твоём лексиконе есть другие слова кроме этого "нормально"?
[14:04:01] <тихий бот> akastargazer, "нормально" assigned
[14:04:17] <akastargazer> Да ладно. Все дураки один я дартаньян
[14:04:38] <geniepro> весь такой в белом ))
[14:04:38] <akastargazer> Если ты надеваешь трусы через голову, то лямбды удобнее, канеш
[14:04:49] <akastargazer> Не, это я про тебя :)
[14:05:02] <geniepro> ты вообще ходишь без трусов -- но это же не значит что так всегда лучше
[14:06:16] <akastargazer> "Лучше" очень широкое понятие. Вот у меня есть вычислительный поток, в нём вложенные, я вижу начало и конец. А тут лямбда хуяк и перескакиваю из вложенного в другой поток. Так?
[14:07:02] <akastargazer> нормально
[14:07:02] <тихий бот> В нашем мегаполисе нормально надевать трусы через головуа в твоём лексиконе есть другие слова кроме этого "нормально"?
[14:07:18] <akastargazer> .ad;нормально;В нашем мегаполисе нормально надевать трусы через голову:Ненормально:Паранормально:а в твоём лексиконе есть другие слова кроме этого "нормально"?
[14:07:18] <тихий бот> akastargazer, "нормально" assigned
[14:07:22] <akastargazer> нормально
[14:07:22] <тихий бот> В нашем мегаполисе нормально надевать трусы через голову
[14:07:25] <akastargazer> нормально
[14:07:25] <тихий бот> Ненормально
[14:07:27] <akastargazer> нормально
[14:07:28] <тихий бот> В нашем мегаполисе нормально надевать трусы через голову
[14:07:30] <akastargazer> нормально
[14:07:31] <тихий бот> а в твоём лексиконе есть другие слова кроме этого "нормально"?
[14:07:36] <akastargazer> нормально
[14:07:36] <тихий бот> Ненормально
[14:07:40] <akastargazer> нормально
[14:07:40] <тихий бот> а в твоём лексиконе есть другие слова кроме этого "нормально"?
[14:07:42] <akastargazer> нормально
[14:07:43] <тихий бот> Ненормально
[14:07:48] <akastargazer> Блин, где же паранормально
[14:08:05] <akastargazer> нормально
[14:08:06] <тихий бот> Паранормально
[14:08:07] <akastargazer> О
[14:15:58] <Kemet> geniepro, и не нужно вложенные процедурв наружу передавать, вообще эти ляибды оь каши в голове- это стиль такой, пишем кот и здесь вдруг моча в голову ударила аааа мне тут переменная нужна же аааа мне здесь проуедура бы не помешала аааэ
[14:19:19] <akastargazer> Привел бы кто-нить характерный пример, когда вот нужна лямбда хоть усрись
[14:21:33] <akastargazer> Я просто много таких ситуаций по себе ощущаю. Делаешь, делаешь сверху вниз, наворотишь всего, а потом фигакс, и оказывается, что нужно теперь снизу вверх.
[14:27:49] <geniepro> akastargazer: ты оправдываешь нинужность лямбд тем, что их неудобно надевать через голову
а проблема в том, что тебя просто мама нинаучила в детстве как правильно надо надевать трусы
да и вообще, есть же юбка -- зачем нужны какие-то там трусы-мрусы?...
[14:35:07] <geniepro> http://cdn.topwar.ru/uploads/posts/2015-02/1424226993_7s3kkf3dvly.jpg
[14:44:13] <akastargazer> Не, я хочу сказать, что по моему подозрению ситуация, когда мне понадобились бы лямбды, является результатом ошибочного проектирования
[14:45:00] <akastargazer> Никто же не думает в терминах проектирования. Все прут сквозь предметную область прямо к целевому вычислению.
[14:45:38] <geniepro> правильно спроектированного софта практически в мире нет, и лямбды тут уж точно не виноваты
[14:45:58] <geniepro> оберон-ос от вирта лямбд не содержит, а глючит -- значит спроектирована неправильно
[14:46:21] <akastargazer> Правильность определяется легко - по адекватности тому, что содержится в предметной области.
[14:46:57] <akastargazer> Нормально не понимать предметную область целиком. И поэтому нормально вляпаться на середине разработки в нужность лямбд
[14:47:39] <akastargazer> Если лямбды (раз уж мы их тут обсуждаем) помогают с честью выпутаться из трудной ситуации, так и говорите
[14:54:50] <akastargazer> Так что хотелось бы разобраться
[15:10:05] <sda1> Зрада чи ганьба? )
https://www.youtube.com/watch?v=kqm64JX_8kE
[15:29:15] <vаlexey> sda1: дык я же 100 раз говорил, что американцы не разбираются во всех этих тонкостях - где там россия, где украина, для них - мы все русские, бывший СССР.
[15:30:27] <geniepro> пиндосам даже похер, где там австрия, а где австралия, чего уж там про какую-то укроину...
[15:31:11] <geniepro> казахи вон хотят страну переименовать , только что бы пиндосы не путали их с авганистаном и пакистаном
[15:31:21] <vаlexey> Ж-)
[15:31:43] <vаlexey> а грузия наоборот не против чтобы их путали со штатом джорджия :-)
[17:06:40] <Kemet> vаlexey, Вроде дженерики в оо2с вполне вменяемые
[17:07:07] <vаlexey> "но это уже не оберон"
[17:07:09] <vаlexey> :-D
[17:07:11] <тихий бот> вахахахаха
[17:08:20] <vаlexey> но вообще, конечно посмотреть надо
[17:11:03] <Kemet> vаlexey, Ну вполне оберон, с дженериками типами, исключентями, строковым типом и пакетами   тп
[17:14:50] <vаlexey> :-)
[17:15:11] <vаlexey> а тогда самый главный вопрос - а как у него с динамической загрузкой и выгрузкой модулей?!
[17:15:32] <vаlexey> ибо без этого - оберон же ж не оберон!!11
[17:17:53] <Kemet> с чего вдруг - в спеке про дин загоузку модулей нет ничего
[17:18:52] <vаlexey> не, это ты вот у любого оберонщега спроси оберонкоровского, тебе они ответят!
[17:19:15] <vаlexey> (если что - в спеке и про проверку на выход за границы массива ничего нет, и даже про сборщик мусора ничего нет!)
[17:19:32] <vаlexey> а если всего этого в обероне нет, то, блин. чем же гордиться?! что остается то?!
[17:22:06] <vаlexey> http://geektimes.ru/post/246046/
[17:22:15] <Kemet> Ну исторически так сдожилось что все о чем ты говоришь часть оберонплатфор ы а не языка
[17:22:44] <vаlexey> как и загрузка-выгрузка модулей динамическая :-)
[17:24:19] <Kemet> Естественно, ведь этим платформа занимается оберонось венда линупс и тп
[17:26:02] <vаlexey> бебе...
[17:27:23] <vаlexey> кстати, нет. то о чем я говорю (львиная доля) обеспечивается не платформой, а таки компилятором в том или ином виде.
[18:10:18] <Jordan> vаlexey Есть вопрос. Есть главный класс от которого наследуются. К примеру ресурс у которого есть поле string name. От данного класса наследуются другие классы вроде image и т.д. Данные классы хранятся в самописной хеш таблице. Поиск происходит по тому самому полю name. Но как правильно доставать отнаследованные классы из данной таблицы. Сейчас я подумал завести тег, что за ресурс ищется, и при return кастовать в данный тип. Но касты, явно ошибка архитектуры. Как правильно такое делается. Хочется иметь одну хеш таблицу для всех ресурсов.
[18:12:10] <Jordan> vаlexey Есть вариант. Наследовать хеш таблицу. Но тогда получается, n таблиц для n ресурсов
[18:12:41] <Jordan> Что то я сообразить не могу. Как всё это правильно реализовать.
[18:15:58] <Jordan> Или такие вещи разруливаются шаблонами? Написал шаблон хеш таблицы и суй разын типы.
[18:16:06] <Jordan> *разные
[18:17:19] <vаlexey> dynamic_cast не канает? ;-)
[18:18:12] <vаlexey> ну то есть ты же хочешь одновременно противоположных вещей - чтобы в списке хранить разнородные предметы, но при этом чтобы при доставании предмета не приходилось его кастовать :-)
[18:18:13] <Jordan> Касты работают, но блин 21 век на дворе, касты должны остаться в прошлом. Я же не ось пишу
[18:18:30] <Jordan> Да именно так
[18:18:44] <Jordan> Через наследование такое не сделать? Только кастить.
[18:18:46] <Jordan> ?
[18:18:48] <тихий бот> тварь я дрожащая, или тот, кому надо?
[18:18:53] <vаlexey> более того, с такой архитектурой ты даже сами объекты в списке не сможешь хранить, а сможешь только указатели на них.
[18:19:05] <Jordan> Мне это и нужно
[18:19:17] <Jordan> Там у меня свой пул памяти для объектов
[18:19:26] <Jordan> И свой список интрузивный
[18:19:32] <vаlexey> окай. искать ты объект будешь по какому признаку в списке?
[18:19:43] <Jordan> Заводить тег
[18:19:56] <vаlexey> то есть не по имени?
[18:19:59] <Jordan> И по тегу кастовать
[18:20:21] <vаlexey> эмм.. зачем? если уж хочешь кастовать, то кастуй без тега
[18:20:41] <vаlexey> http://en.cppreference.com/w/cpp/language/dynamic_cast
[18:21:25] <Jordan> GameObject * GameTable::Find(std::string Name, ObjIs: Value);  GameImage = (GameItem*)find("mupictute", IMAGE);
[18:21:27] <Jordan> Nbgf nfr
[18:21:30] <Jordan> Типа так
[18:21:38] <vаlexey> а лучше - сделать так, чтобы пользователю этого списка не нужно было знать точный тип объекта который он из списка достал
[18:21:48] <vаlexey> вот тогда никаких кастов не будет нужно :-)
[18:22:03] <Jordan> Обернуть find для каждого типа?
[18:22:57] <vаlexey> дык ты ж по имени ищешь. судя по приведенному коду
[18:22:59] <vаlexey> а не по тэгу
[18:23:20] <Jordan> По тегу уточняю к чему кастовать. Так как в таблице разные типы
[18:23:46] <Jordan> Запутался я во всём этом деле
[18:24:11] <vаlexey> ну сделай N типизированных таблиц по числу типов. и сделай единую шаблонную функцию поиска по ним. с точки зрения пользователя таблица будет единая.
[18:24:18] <vаlexey> и кастов вообще нигде не будет :-)
[18:24:38] <vаlexey> а функция в зависимости от параметризации будет искать в той или иной таблице :-)
[18:24:38] <Jordan> Наверно так и сделаю.
[18:25:05] <Jordan> Как раньше такие штуки, без шаблонов писали, каст на касте?
[18:25:33] <Jordan> Намудрил я с кодом ппц
[18:27:20] <Jordan> vаlexey тогда ещё вопрос, ты там не занят?
[18:28:17] <Jordan> https://gist.github.com/anonymous/092577c149359f529dab
[18:28:26] <Jordan> Написал шаблон интрузивного списка
[18:29:31] <Jordan> Но в список я добавляю указатели на данные, мапять выделяется во вне шаблоны. Память может выделяться из своего пула. Так вот как быть с деструктором. Сделать его виртуальным?
[18:29:59] <Jordan> Или оставить без деструктора и явно освобождать список
[18:31:01] <vаlexey> ты от него наследуешься?
[18:31:16] <Jordan> Нет. Он встраивается
[18:31:57] <Jordan> Меня коробит, delete в деструкторе
[18:32:22] <Jordan> Или лучше его вообще убрать, и явно зачищать список?
[18:32:22] <vаlexey> почему?
[18:32:59] <vаlexey> деструкторы вообще обычно полны делитов :-) ну если только что-то из стандартной либы не используется типа умных указателей и списков всяких
[18:33:15] <Jordan> Объекты могут выделять из пула. Пример GameUnit * i = (GameObject*)Pool.Alloc(sizeof(GameObject));
[18:33:25] <vаlexey>  assert(elem != NULL);

[18:33:32] <Jordan> ну да
[18:33:33] <vаlexey> предполагает что T будет только указательным типом?
[18:33:38] <Jordan> да
[18:33:38] <тихий бот> квази
[18:34:04] <Jordan> GameUnit * i = (GameUnit*)Pool.Alloc(sizeof(GameUnit));
[18:34:08] <Jordan> вот так
[18:34:28] <Jordan> Всё ради интрузивности
[18:34:34] <vаlexey> погоди, если ты в деструкторе списка делаешь delete элементу, значит что список полностью владеет элементом
[18:34:40] <Jordan> Никаких неявных new
[18:34:53] <vаlexey> и это означает что если список убили, то все указатели на все объекты сразу стали не валидными
[18:35:05] <vаlexey> что, мягко говоря, для меня было бы не очевидно и неожиданно
[18:35:25] <Jordan> Да, что то не то нахимичил
[18:36:36] <vаlexey> более того, если я вначале положу в список указатель на объект, а потом его убью, то в списке окажется невалидный элемент-указатель.
[18:36:40] <vаlexey> ибо протух
[18:37:08] <Jordan> Так как объекты выделяются из пула, пусть диструктор зануляет указатели.
[18:38:17] <Jordan> Или встроить в сам список пул памятиЮ и задать параметризированное число, возможных элементов в списке?
[18:39:19] <Jordan> Всё это ради, того что бы элементы создавались из пула, только ради этого. Но может есть другой путь.
[18:40:00] <Jordan> Просто в std list есть неявный new
[18:41:39] <Jordan> пул -> 2 списка 1 - свободных объектов 2- занятых. И по мере выделения освобождения, перекидывать их из списка занятых в список свободных. Цель выделение памяти под объект O(1)
[18:42:04] <Jordan> И уничтожение O(1)
[18:42:38] <Jordan> Короче переизобретаю boost pool :-)
[18:43:55] <vаlexey> как ты найдешь ВСЕ указатели и занулишь их? ;-)
[18:45:22] <Jordan> просто очищу пул. + пройдусь по всему ссписку фцнкцией remove которая изымает элемент и изымает его из списка
[18:46:20] <Jordan> Зануляет указатель и изымает из списка, потом просто очищу пулл, очистка пула, просто offset = 0;
[18:52:49] <Jordan> У меня такое чувство, что я делаю, что то явно не так. То есть решение более элегантное.
[18:53:04] <Jordan> Должно быть решение более элегантное
[18:56:16] <Jordan> Всё это низкоуровщина.
[19:00:18] <Jordan> vаlexey Сама идея правильная или нет? Или есть способ лучше?
[19:09:37] <vаlexey> https://twitter.com/thereaIbanksy/status/567561179078205440/photo/1
[19:12:52] <Jordan> Kemet Помню, ты говорил, что интенсивно пулы юзаешь в а2. Как будешь свободен, напиши.
[19:13:11] <Jordan> В общих чератх. Так сказать.
[19:13:26] <Jordan> vаlexey Какой то специфичный юмор?
[19:36:07] <vаlexey> это цитата
[19:44:01] <Kemet> Jordan, ы
[20:20:56] <Kemet> ыыыы, студия комъюнити едишн не поддерживает висту (((
[20:24:44] <vlad2> Какая версия студии?
[20:25:08] <vlad2> Виста та еще какашка.
[20:33:23] <vаlexey> студия 2013 по идее и не должна поддерживать этот кусок говна мамонта
[20:34:48] <Kemet> ну у меня то виста стоит когда то купленная, меня устраивает не менять же ее изза стулии
[20:41:54] <vаlexey> ну, вообще то менять :-)
[20:42:10] <vаlexey> мне например приходится OS X менять только ради XCode
[20:49:48] <Kemet> vаlexey: дык никаких проблем от висты после накатывания сервиспака 1 я не ощущая, вот до sp1 да, было, зачем менять если всё работает
[20:51:41] <Kemet> всё-таки исходники оо2с тяжеловато читаются почему-то
[20:53:13] <vаlexey> дык и у меня никаких проблем от OS X 10.6 не было :-)
[20:53:28] <vаlexey> только вот новая версия XCode там не работала уже...
[20:53:54] <vаlexey> а на старой версии XCode уже нельзя было разрабатывать под новую версию iOS, с которой шли все новые устройства
[20:54:01] <vаlexey> поэтому тогда пришлось купить 10.7
[20:56:53] <Kemet> это понятно, но печально
[20:59:06] <Kemet> ыы, может эта студия под вайн встанет ))
[21:02:50] <vlad2> Кстати да, у эпла все еще злобнее. XCode поддерживает версию - 1. А версии они штампуют каждый год.
[21:05:21] <vlad2> Я с большим бубном заставил его собирать для 10.6 :)
[21:05:50] <vlad2> При этом саму ось мне таки пришлось последнюю ставить.
[21:06:51] <vlad2> Висту я подозреваю M$ дропнет вот-вот. Если уж XP дропнули.
[21:08:19] <vlad2> http://windows.microsoft.com/en-us/windows/lifecycle
[21:08:32] <vаlexey> ну у яббла хоть сам XCode и сама ось бесплатные
[21:08:39] <vаlexey> но напрягает, да
[21:09:55] <vlad2> Гы. W7 уже списали ;) Идиоты.
[21:10:19] <vlad2> Сначала бы нормальную сделали, а потом списывали.
[21:11:29] <vаlexey> я, кстати, не очень понимаю гонку этих виндоверсий
[21:11:52] <vаlexey> ну то есть для меня, из принципиального и позитивного - в win8.1 появилась поддержка ble
[21:11:55] <vаlexey> и всё
[21:12:19] <vlad2> Там еще Usb3.0 из коробки.
[21:12:30] <vlad2> С которым я намучился в W7.
[21:12:52] <vаlexey> а разве дрова под usb3 под семеркой не бывают?
[21:13:02] <vаlexey> (ble то в винде 7 в принципе не было)
[21:16:54] <vаlexey> а вот всякие виндосторы и плитки - очевидные ненужности и зло на десктопе
[21:17:23] <vаlexey> но именно это крайне важно мелкософту - они пытаются сменить бизнес-модель
[21:17:29] <vаlexey> подсадить пользователей на сервисы
[21:17:47] <vаlexey> поэтому МС и дропает ускоренно вин7
[21:33:20] <Kemet> а вин 10 ктонить ставил
[21:41:44] <vаlexey> не, у меня руки не дошли
[21:43:44] <Kemet> я скачал, но при попытке установки сидикей не подошел, вот я думаю, мож мс прикрыла для раши
[21:45:03] <vаlexey> с чего бы?
[21:47:38] <vlad2> Драйвера есть, но оно глючит (долго расписывать).
[21:47:57] <vlad2> Вин 10 видел краем глаза на старой машинке.
[21:48:06] <vlad2> Вроде ниче так.
[21:49:21] <vlad2> У эпла, кстати, мне больше нравится - это просто апдейты, хотя и выдаются как релизы.
[21:49:26] <vаlexey> ну, у меня не глючит вроде как
[21:49:37] <vаlexey> другое дело что семерка с этим ноутом искаропки шла
[21:49:41] <vlad2> M$ мне кажется к тому же придет.
[21:49:42] <vаlexey> так что все дрова установлены сразу
[21:49:49] <vаlexey> угу
[21:50:02] <vаlexey> МС идет по стопам яблока
[21:50:20] <vаlexey> от бизнес модели и политики маркетинговой до внутренней организации компании
[21:50:31] <vlad2> Смотрит в задние фонари! Как и завешал джобс.
[21:51:49] <vаlexey> угу :-)
[21:52:10] <vlad2> Глюки типа того, что оно 2 раза из 3 (после включения) работает как USB2.1
[21:52:54] <vаlexey> яббл действительно в плане бузинесс модели и построения экосистемы для выкачивания бабла (и чтобы юзер с этого был доволен!) совершила революцию
[21:53:02] <vаlexey> причем дважды или трижды
[21:53:19] <vаlexey> и абсолютно все ломанулись делать похожие вещи
[21:53:26] <vаlexey> (даже операторы сотовой связи туда рыпались!)
[21:53:31] <vlad2> Если повезло и завелось как USB3, то посли скольки то гигабайт трансфер падает до непиличный цифр (кб в секунду), а винт начинает дергать головками на манер как будто вот-вот посыпется.
[21:54:45] <Kemet> vаlexey: типа дженериков
TPSection  = ident {"," ident} ":" Qualident.
TypePars   = "(" [TPSection {";" TPSection}] ")".
TypeDecl   = IdentDef [TypePars] "=" Type ";".

QualType   = Qualident ["(" [QualType {"," QualType}] ")"].
Type       = QualType|ArrayType|RecordType|PointerType|ProcType.
RecordType = "RECORD" ["("QualType")"] ... "END".  
FormalPars = ["(" [FPSection {";" FPSection}] ")" [":" QualType]].

AliasList = "(" [ident {"," ident}] ")".
Receiver = "(" ["VAR"] ident ":" ident  [AliasList] ")".
[21:57:08] <Kemet> там все какое то страшное


TYPE
 ArrayList*(E: Object.Object) = POINTER TO ArrayListDesc(E);
 ArrayListDesc*(E: Object.Object) = RECORD
   ...
 END;
...
VAR myList: ArrayList(MyElementType)
[22:09:42] <vаlexey> "это уже не оберон"
[22:10:35] <vаlexey> http://xkcd.com/528/
[22:10:36] <vаlexey> :-D
[22:10:38] <тихий бот> вахахахаха
[22:10:59] <Kemet> да ладно, тогда и в гцц не цпп
[22:12:25] <vаlexey> в gcc относительно именно что С++ нет особых расширизмов
[22:12:34] <vаlexey> (а вот относительно Си - есть)
[22:21:11] <Kemet> параметризованный список
TYPE
 Array(E: Object.Object) = POINTER TO ARRAY OF E;
 ArrayList*(E: Object.Object) = POINTER TO ArrayListDesc(E);
 ArrayListDesc*(E: Object.Object) = RECORD
 (**Resizable-array implementation of a list.  *)
   (Storable.ObjectDesc)
   array-: Array(E);
   (**Holds the elements of the list.  The index values in
      @samp{[0..@ofield{size}-1]} refer to valid entries.  *)
   size-: LONGINT;
   (**Number of elements in the array.  This value is always less or equal to
      @samp{LEN(@ofield{array})}.  *)
 END;
[22:37:20] <vаlexey> немного политоты: https://www.facebook.com/NarodProtiv/posts/1027893797227923:0
[23:06:39] <vаlexey> "Люди могут отомстить за небольшую обиду — а за большое зло не могут."
[23:42:33] <vаlexey> "человек, привыкший к плюшкам удобненьких виндовых интегрированных сред, в линуксе вдруг неожиданно для себя становится абсолютно беспомощным"