[00:29:18] <vlad2> Очень интерсные функции PACK/UNPK
[00:29:46] <vlad2> 1. Не догоняю нафига они нужны. Какие-то численные методы?
[00:30:25] <vlad2> 2. Не понимаю почему они не в библиотеке (info21 постоянно твердит, что все в библиотеку).
[00:30:41] <vlad2> 3. Тем экономии на спичках (буквах) - раскрыта ;)
[00:31:35] <vlad2> Как же к слову не вспомнить об универсальном языке, не заточенном под задачу (привет info21 еще раз).
[00:33:04] <vlad2> Т.е. оно даже не в SYSTEM, а вот так вот в глобальном нэймспейсе. Прям каждый день приходится делать PACK/UNPK. Я точно чего-то не понимаю :)
[00:34:06] <vlad2> (да, я подозреваю, что это как-то связано с форматом хранения плавучки)
[00:34:26] <vlad2> (т.е. оно может быть сделано эффективно на уровне битов)
[00:34:35] <vlad2> Тем не менее.
[01:20:29] <alexey.veselovsky> vlad2: а напомни, чо оно делает?
[01:26:57] <vlad2> x := x * 2^y
[01:27:00] <vlad2> и наоборот
[01:35:11] <alexey.veselovsky> ээээ.... это что, тупо сдвиг?
[01:35:13] <vlad2> я сначала даже не понял чем это от сдвига отличается
[01:35:25] <vlad2> потом увидел, что там x - REAL
[01:35:55] <alexey.veselovsky> чушь какая-то.
[01:36:01] <vlad2> Угу :)
[01:36:36] <vlad2> наоборот, как я понял, это логарифм с отбрасываним дробной части
[01:36:47] <alexey.veselovsky> если бы это мне было нужно, я бы тупо на асме реализовал процедуру в модуле и оттуда дергал
[01:37:00] <vlad2> Дык, да.
[01:39:19] <alexey.veselovsky> не, ну иногда-а это может быть удобно. но блин.
[01:39:52] <alexey.veselovsky> ну, то есть это тупо позволяет флоат сконструировать
[01:40:34] <vlad2> ну я примерно про это и предположил - что-то с форматом хранения
[01:40:58] <alexey.veselovsky> ну и небось в асме есть соответствующая инструкция
[01:41:05] <vlad2> На жабаскрипте выглядеть будет крайне убого :)
[01:41:45] <vlad2> Блин, Вирт хоть бы ссылку дал, если уж описание нормальное сделать религия не позволяет.
[01:42:09] <alexey.veselovsky> блин, ужель компилер современный не соптимизирует выражение x*2^y ?
[01:42:10] <vlad2> типа соответсвует такой инструкции в таком проце
[01:42:28] <alexey.veselovsky> да, встроенные процедуры во многом загадочны
[01:42:34] <alexey.veselovsky> вон тот же COPY например
[01:42:53] <vlad2> Кстати, я там прикрутил LEN и она тоже с задвинами
[01:42:58] <vlad2> задвигами
[01:43:08] <vlad2> Она не работает для строк :)
[01:43:13] <vlad2> Согласно описанию :)
[01:43:19] <alexey.veselovsky> o_O
[01:43:29] <vlad2> Т.е. у нее параметр - array
[01:43:33] <vlad2> И все :)
[01:43:58] <alexey.veselovsky> а, блин. но мы же вроде договорились, что строки можно передавать как VAL-аргумент в функции?
[01:44:18] <vlad2> Да, можно.
[01:44:35] <alexey.veselovsky> и-и? значит LEN должен работать
[01:44:36] <vlad2> Но там не написано, что аргумент у LEN(a: ARRAY OF T)
[01:44:45] <vlad2> Там написано "array" :)
[01:44:58] <alexey.veselovsky> а там любой array видимо :-) любого типа любых видов
[01:45:10] <alexey.veselovsky> это ж шаблонная функция!
[01:45:37] <vlad2> Это у меня она шаблонная функция. А в репорте - херня какая-то.
[01:45:51] <alexey.veselovsky> кстати, с LEN будет еще одна засада - оно ведь вернет размер массива чаров, а не то сколько там букв в этом массиве содержится в действительности :-)
[01:46:07] <vlad2> Ага.
[01:46:40] <alexey.veselovsky> и пусть оберонщики позавидуют сишникам, у которых таки есть strlen :-)
[01:46:44] <alexey.veselovsky> и приплюсникам
[01:46:59] <vlad2> Короче, с этими строковыми литералами реальный содом.
[01:48:02] <alexey.veselovsky> у меня ощущение, что там содом со всем, кроме разве что statement'ов. то есть этих самых управляющих структурных конструкций
[01:49:13] <vlad2> Просто надо было сделать тип "STRING" и не пудрить мозг.
[01:49:38] <vlad2> Тогда бы и LEN работала и остальныхъ проблем не было.
[01:49:57] <vlad2> Да, и сделать его value-типом.
[01:51:04] <alexey.veselovsky> В 16 страниц не уложиться же!
[01:51:16] <alexey.veselovsky> Кстати, я посмотрел сейчас грамматику и обнаружил следующее:
[01:51:32] <alexey.veselovsky> 1) в процедуре локальные переменные можно обозначать для экспорта звездочкой
[01:51:44] <alexey.veselovsky> 2) типы экспортировать, следуюя грамматике, нельзя
[01:52:00] <vlad2> На самом деле 16 страниц меня парит только в контексте, раздутом оберонщикаи - типа как круто, _все_ описание языка.
[01:52:17] <vlad2> А так Вирта я вполне понимаю - написал он эти 16 страниц и на том спасибо.
[01:52:25] <alexey.veselovsky> а, нет, можно таки
[01:52:32] <alexey.veselovsky> 2 отпадает
[01:53:10] <vlad2> Вроде про это говорили - Вирту было влом дублировать грамматику :)
[01:53:16] <alexey.veselovsky> ну, если учесть что эти 16 страниц изначально были частью описания операционки, которая как бэ являлась и рантаймом и компилятором и стандартной либой для языка...
[01:53:58] <alexey.veselovsky> но не понятно зачем когда операционка уже окончательно закопалась и язык живет отдельно, продолжать "развивать" язык в урезанном виде
[02:03:22] <alexey.veselovsky> vlad2: кстати, дублирования грамматики можно было избежать, если пользоваться при описании грамматики не EBNF, а атрибутной грамматикой
[02:05:12] <vlad2> Вообще там с точки зрения реализации выгоднее эту звездочку после парсинга хэндлить - можно более осмысленное сообщение выдать, а не просто ошибка синтаксиса.
[02:05:27] <vlad2> Т.е. пусть она там будет в грамматике.
[02:06:47] <alexey.veselovsky> эмм.. а чем ошибка синтаксиса не устраивает? скажет, что локальные переменные нельзя экспортировать. то есть парсер скажет.
[02:07:38] <vlad2> Парсер надо слишким умнеым делать тогда. Т.е. он должен быть в курсе, что вот в
[02:07:40] <alexey.veselovsky> собственно идея атрибутных грамматик в том, что в контекстно-свободную грамматику добавляется капелька информации о семантике
[02:07:52] <alexey.veselovsky> те самые атрибуты
[02:07:53] <vlad2> этом месте может таки быть такой токен и на него надо выдать такое сообщение
[02:10:12] <alexey.veselovsky> ну и опять таки - грамматика в описалове языка она как бы описывает язык, а не говорит как именно реализовывать все эти проверки :-)
[02:11:48] <alexey.veselovsky> xxx: Сегодня из Москвы начальство приехало, админ выбрит и белой рубашке
ххх: Через час сдох сервер апп.
ууу: Видимо не признал
[03:06:01] <vlad2> Журналюги жгут: http://www.vesti.ru/doc.html?id=1074822
[03:07:29] <alexey.veselovsky> o_O