[18:24:04] <valexey> .
[20:11:52] <vlad2> /me прикрутил копирование массивов. Но не рекордов :)
[20:12:29] <vlad2> Кстати, я не согласен с тем, что у анонимных массивов должны быть разные типы.
[20:13:01] <vlad2> Мне кажется, что массивы должны себя вести так же как процедурные типы.
[20:13:18] <vlad2> Ибо смысла делать их несовместимыми никакого (всегда можно рекорд завести).
[20:13:52] <vlad2> Т.е., массивные типы проверяются на равенство структурно.
[20:23:53] <valexey> про тип типизации (именная или структурная) вопрос открытый, ибо в репорте нет упоминания этого вообще
[20:24:40] <valexey> но вирт таки считает, насколько я знаю, что если имени нет, то оно не совместимо ни с кем по типу
[20:25:05] <valexey> да, а почему копирование рекордов не прикрутил?
[20:34:15] <vlad2> Никакого практического применения такому запрету нет. Т.е., например, я не могу передать данные эффективно из одной подсистемы в другую только из-за того, что они называются по-разному. Т.е., массивы я рассматриваю как средства уровнем ниже рекордов - как раз для случаев когда аспекты эффективности важнее архитектурных. Т.е. я могу себе позволить неявное соглашение, когда я по-разному обозываю одну и ту же штуку в рамках двух подсистем, но при этом ничего не плачу за "конвертацию" на стыке. В какой-то момент эта штука может стать разной для двух подсистем - и тогда я буду конвентировать. Но архитектурно все изначально будет выглядеть чисто и эффективно с точки зрения реализации.
[20:35:40] <vlad2> Собственно про процедурные типы Вирт тоже ничего не говорит. Но буз структурного равенства они еще более бесссмысленны.
[20:36:41] <vlad2> Не прикрутил, потому что не успел :)
[20:37:17] <vlad2> Никаких проблем там нет - функция в RTL одна и та же :)
[20:37:31] <vlad2> А, еще ASSERT сделал ;)
[20:37:53] <vlad2> Который мало чегго может, потому что даже номер строки не рапартует.
[20:38:37] <vlad2> (я уж не гворю про нормальный стэк)
[20:39:10] <vlad2> В смысле там стэк - понятно жабаскриптовый.
[20:41:03] <valexey> только хардкор! только жабаскрипт!
[20:41:56] <vlad2> Кстати, пока приделывал копирование массивов очень чесались руки переделать все рекорды на массивы :)
[20:42:17] <vlad2> Тогда б оно копировалось эффективнее.
[20:42:18] <valexey> Если нужно что-то экспортировать, то следует явным образом создать тип. TYPE Peoples = ARRAY 100500 OF People;
[20:42:30] <vlad2> Да. Но.
[20:42:55] <vlad2> Порой такой тип будет выглядеть достаточно искусственно и не имеющим смысла сам по себе.
[20:42:58] <valexey> Обычно безымянные массивы они локальные. Используются для местных нужд в функции.
[20:43:24] <vlad2> Что-то типа CHAR100 = ARRAY 100 OF CHAR
[20:43:28] <valexey> И будет плохо и непонятно если такой массив СЛУЧАЙНО окажется совместим с параметром какой-то внешней функции
[20:43:41] <valexey> А потом этот местячковый массив чутка изменят, и полезут ошибки.
[20:43:56] <vlad2> C параметрами там вообще интересно - нет типа для открытых массивов ;)
[20:44:15] <valexey> Дык: параметр может быть не открытым массивом, а самым обычным :-)
[20:44:25] <vlad2> Ошибки как раз не поползут, если компилятор размеры будет проверять в compile-time.
[20:44:35] <vlad2> Не, не может.
[20:44:41] <valexey> Чо это?
[20:44:44] <valexey> Может.
[20:44:58] <valexey> Там нет запрета. Там сказано что любой тип + есть такая штука как открытый массив.
[20:45:55] <valexey> TYPE ArrFoo = ARRAY 10 OF Foo; PROCEDURE Boo(a : ArrFoo);
[20:45:59] <valexey> вполне легально
[20:48:45] <valexey> А вот если будет просто PROCEDURE Boo(a : ARRAY 10 OF Foo); то все, обломиська - никто не сможет вызвать эту функцию! (хотя объявление такое, насколько я понимаю, также вполне легально)
[20:56:16] <vlad2> Не, нелегально.
[20:56:38] <vlad2> Там в синтаксисе параметров не может быть [N]
[20:56:59] <vlad2> А тип может, да.
[21:01:15] <valexey> хы
[21:01:31] <valexey> Ну, значит таки можно массивы передавать :-)
[21:05:20] <valexey> /me думает как скрестить наш дивайс с видеокамерой
[21:05:29] <valexey> пока ничего кроме детектора лжи в голову не приходит :-)
[21:13:20] <vlad2> А каким боком здесь детектор лжи? :)
[21:16:09] <valexey> Как каким? Пульс с нашего дивайса знаем, уровень стресса оттуда же знаем, знаем частоту дыхаия с дивайса же. С камеры видим как често чел моргает, видим все его движения, ну и так далее.
[21:17:39] <valexey> По совокупности параметров можно судить о том, насколько чел волнуется.
[21:20:31] <vlad2> И о чем это говорит?
[21:22:19] <valexey> О том, насколько его задевают, волнуют и беспокоят задаваемые вопросы :-)
[21:22:51] <valexey> Эволюция человека приучила ощущать стресс если приходится врать.
[21:22:54] <vlad2> Может его волнует, что его проверяют на детекторе джи ;)
[21:23:35] <valexey> Ну, это фоновое волнение будет. На этом фоне будут выделяться всякие разные штуки.
[21:23:45] <valexey> Да, относительное артериальное давление мы тоже видим!
[21:24:12] <valexey> Но детектор лжи это не модно и не нужно.
[21:24:24] <valexey> Надо что-то более стильно модно молодежное придумать.
[21:25:34] <vlad2> Надо правильный маректинг ;)
[21:25:53] <vlad2> Типа "проверь своего бойфренда с помощью своего йфона" ;)
[21:25:57] <valexey> ну, на самом деле я хочу на хакатоне попробовать скретить ужа с ежом.
[21:37:26] <vlad2> А как там форум поживает? ;)
[21:38:12] <vlad2> (в смысле новый)
[21:40:49] <valexey> в замороженном состоянии. сейчас у меня моск на половину занят работой а на другую половину хакотоном и изучением PerC SDK от интела.
[21:41:17] <valexey> А третья половина иногда просыпается и что-то пишет про Оберон и ЯП то сюда то на форум :-)
[21:41:39] <vlad2> Хе-хе :)
[21:43:42] <valexey> у большенства народу вообще нет идей по поводу того что можно изобразить на хакотоне. нуль. ну или что-то унылое предлагают. вот списочек текущих предложений: http://hackday.ru/events/hackday-25/projects
[21:44:08] <valexey> от списка хочется сразу повеситься. ибо еще одна унылая ынтырпрайз-опердень какая-то.
[21:44:36] <valexey> Где crazy hacking?!
[21:47:17] <valexey> Где сумасшедшие идеи?
[21:47:22] <valexey> Фе!