[00:41:20] <vlad2> Ты правда что-то ожидал от info21?
[00:41:56] <valexеy_> vlad2: я ровно это и ожидал. точнее я ожидал еще меньшего. info21 все же достаточно подробно ответил. подробней чем обычно :-)
[00:42:23] <valexеy_> Просто Dizer возможно чего-то ожидал другого. Так что почему бы и не попробывать было?
[00:42:26] <vlad2> А. Да, я думал 50/50 он вообще ничего не напишет.
[00:42:38] <valexеy> *попробовать
[00:51:51] <valexеy_> /me вкуривает что есть Interface в Go
[00:54:40] <valexеy> Languages with methods typically fall into one of two camps: prepare tables for all the method calls statically (as in C++ and Java), or do a method lookup at each call (as in Smalltalk and its many imitators, JavaScript and Python included) and add fancy caching to make that call efficient. Go sits halfway between the two: it has method tables but computes them at run time.
[01:46:45] <valexеy_> блин. убогий Go. его интерфейсы полиморфны только по приемнику, а по, скажем, возвращаемым аргументам метода не полиморфны
[01:46:55] <valexеy_> то есть скажем есть у нас абстрактный такой интерфейс:
[01:47:11] <valexеy_> type Node interface { Next() Node }
[01:47:19] <valexеy_> И есть у нас реализация:
[01:47:32] <valexеy_> type List struct {
}
func (l List) Next() List {
   return l
}
[01:47:45] <valexеy_> так вот - этот List не удовлетворяет этому интерфейсу!
[01:47:59] <valexеy_> убожество какое.
[01:48:21] <valexеy_> пойду в мыллист гневное письмо напишу.
[02:21:54] <valexеy_> написал гневное письмо. а потом прочитал фак. похоже что реально фак - не взлетит оно: http://golang.org/doc/go_faq.html#t_and_equal_interface
[02:22:03] <valexеy_> ибо такова система типов в Go
[02:28:54] <valexеy> впрочем, из этого недостатка похоже архитектура приложения получится еще лучше :-) ибо кэширование будет вообще прозрачным.
[13:58:44] <valexey> .
[15:07:29] <egp> valexey: я в парсерах оберона всегда заменяю a.b. ... .c.d на { ident "." }
[15:07:57] <egp> и распаршиваю это не в парсере, а в семантическом резолвере
[15:08:24] <egp> правда я ни разу ещё до этого резолвера не добирался - парсером угомонялся пыл кодерский
[15:09:22] <egp> ну щас у меня парсер написан, и надо писать АПИ из парсера. Не знаю когда начну
[15:11:40] <egp> меня видимо грамматики сексуально привлекают, а компиляторы меньше :)
[15:19:37] <valexey> egp: ну я и говорю, сиснтаксический анализ приходится смешивать с семантическим
[15:19:40] <valexey> что есть суксь
[15:21:59] <egp> да не, не очень суксь
[15:22:25] <valexey> очень.
[15:22:37] <egp> компилятор в js мне неинтересен, но в качестве побочного продукта могу начать делать после того как АПИ сделаю
[15:22:40] <egp> на базе этого АПИ
[15:22:41] <valexey> никаких разделяй и властвуй.
[15:23:19] <egp> valexey: да всё в порядке - поменяй входную грамматику на чисто ЛЛ1 и радуйся разделению
[15:23:29] <egp> у меня в парсере чистая ЛЛ1
[15:23:32] <egp> оберон
[15:23:46] <valexey> а как мне её поменять не меняя языка?
[15:24:05] <valexey> ну вот видишь ты в коде (ты, глазами своими) нечто вроде foo := a.b;
[15:24:11] <valexey> вопрос - что такое a.b ?
[15:24:31] <valexey> и что такое тут a?
[15:25:21] <egp> либо переменная с полем, либо вызов с полем, либо модуль с вызовом
[15:25:48] <valexey> и как ты из этого слепишь детерминированную грамматику? это же явные недетерменизм.
[15:26:02] <egp> детерминизм. просто поиск по 3 скопам сразу
[15:26:05] <valexey> у оберона контекстно свободная не детерминированная грамматика
[15:26:15] <egp> да всё детерминировано
[15:26:20] <valexey> то есть после парсинга у тебя будет не дерево а лес
[15:26:29] <egp> дерево
[15:26:59] <egp> просто там будут неясные цепочки {ident "." } ident
[15:27:17] <egp> которые решаются поиском по нескольким scope
[15:27:45] <valexey> чисто синтаксическим анализом ты не сможешь узнать что такое foo := a.b;
[15:27:52] <valexey> хоть до конца исходник прочитай
[15:27:53] <egp> угу да
[15:28:10] <egp> исходник читается
[15:28:17] <valexey> поэтому грамматика в любом случае не детерминированная. у тебя по окончанию будет несколько деревьев
[15:28:23] <egp> нифига
[15:28:26] <egp> одно дерево
[15:28:37] <valexey> фига :-) у тебя получается не дерево а граф
[15:28:44] <egp> неа
[15:28:48] <valexey> если хранить оптимиированно
[15:28:54] <egp> граф уже на этапе сем. обработки
[15:29:04] <egp> после завершения синтакс.анализа
[15:29:15] <valexey> ok. нарисуй мне это дерево :-)
[15:29:29] <egp> не. я лучше щас апи попишу
[15:29:51] <egp> если интересно какое именно дерево - загляни у меня в сырец
[15:30:00] <egp> в других компилерах я не смотрел что делается
[15:32:01] <valexey> в теории синтаксического разбора явно говорится что будет лес а не дерево
[15:32:27] <egp> для оберона?
[15:34:22] <egp> лично в моём парсере никакого леса нет
[15:35:15] <egp> ну я мог накосячить ваще-то в этом месте, ригористически я всё не проверял в этом месте как раз a.b.c.d...
[15:36:02] <egp> но менять грамматику ессно пришлось
[15:37:12] <valexey> насколько я помню в Coco/R есть специальный костыль который позволяет смешать синтаксис с семантикой и на базе этого сделать выбор нетерминала.
[15:37:34] <egp> в это я не лазал
[15:38:49] <egp> блин чото крыша едет
[15:39:04] <egp> чем-то я хотел заняться
[15:48:29] <egp> (20:46:49) egp: у меня какое-то полусуицидное настроение
(20:46:59) egp: бяка
(20:47:28) egp: всё осточертело
(20:48:20) egp: хоть христианство читай ради умственного забытья
[15:50:16] <valexey> лучше Ахо-Ульмана почитай :-)
[15:50:27] <egp> чем лучше
[15:50:34] <egp> чтоб он мне тоже осточертел? :)
[15:50:49] <egp> кто такой что пишет?
[15:51:18] <valexey> он пишет про синтаксический анализ :-) это ж Дракон всем известный
[15:51:38] <valexey> или вот: http://www.fanfics.ru/index.php?section=3&id=40982 - тоже доставляет. это тебе и художественно и научно
[15:51:41] <egp> синтаксический анализ мне точно осточертел
[15:52:31] <egp> я думаю наиболее рациональным для меня будет погрузиться в христианство по самые помидоры
[15:53:38] <egp> просто градус ненависти ко всему оч.высок
[15:53:48] <egp> а христианство его легко лечит
[15:53:53] <egp> этот градус
[15:53:59] <valexey> у меня наоборот :-)
[15:54:14] <egp> ну мне легко быть внушаемым
[15:54:22] <valexey> градус ненависти крайне низок, а христианство его легко поднимает до заоблачных небес
[15:54:29] <valexey> *высот
[15:55:06] <valexey> особенно бесит когда религию начинают лить в уши детей. поубивал бы
[15:55:15] <egp> ну дело в том что мне однажды попался человек который меня сумел ввести в христианство
[15:55:27] <egp> у него это получилось
[15:55:39] <egp> у других ничего не получалось такого.
[15:55:40] <valexey> бывает. сочувствую.
[15:56:01] <egp> он кстати физик
[15:56:06] <egp> наукой занимается
[15:56:09] <valexey> и это бывает :-)
[15:56:22] <egp> читает шафаревича какого-то и о.Флоренского
[15:57:01] <egp> Флоренский в принципе довольно научно излагал мистицизм, во всяком случае очень умнО
[15:57:09] <egp> христианский мистицизм
[15:57:17] <egp> не дурак
[16:07:04] <valexey> http://habrastorage.org/storage1/fc523ab9/461aa2e5/bcc98aeb/5b6490e8.gif
[17:07:29] <vlad2> Тема :)
[17:20:40] <valexey> vlad2: кстати, по моему, info21 как раз судит о "мейнстриме", о том что происходит в индустрии, как раз по теням на шторах :-)
[17:21:14] <vlad2> Угу.
[18:58:36] <vlad2> Гребанутый язык. Воистину.
[18:59:03] <vlad2> Хоть с тестами, хоть без тестов.
[18:59:23] <vlad2> Просто без тестов еще можно попытаться себя обвинить.
[19:26:33] <valexey> vlad2: опять с js воюешь?? :-)
[19:26:43] <valexey> ладно, народу js на самом деле нравится
[19:27:03] <valexey> вон у меня товарищ что софт для банков пишет на жабе, от js просто тащится
[19:27:26] <valexey> говорит здорово же! кода получается сильно меньше. и код понятней. никаких мусорных анотаций типов нет!
[19:37:28] <egp> идиёт
[19:40:26] <egp> покайтесь, ибо приблизилось Царствие Небесное
[19:41:03] <egp> ща буду valexeя троллить :) повышай градус ненависти! :)
[19:41:33] <vlad2> О да, софт для банков на js - это то, чего нехватало :)
[19:41:50] <egp> на #forth mOleg уже попросил про религию не писать через просьбу меня забанить
[19:41:56] <vlad2> Главное чтоб в правильную сторону заглючил.
[19:42:18] <egp> vlad2: в альфабанке js в инет-банке используется почём зря в хтмлках
[19:44:32] <vlad2> Ккак будто в хтмл можно использовать что-то другое. Об этом и речь - когда я прошу компилятор на js ;)
[19:47:47] <egp> да ломы мне
[19:48:24] <egp> там конечно писать нечего, с гулькин нос
[19:48:32] <vlad2> Нет, вы просто представьте где бы сейчас был web, если бы изначально вместо js в браузер засунули что-то вменяемое!
[19:48:33] <egp> поэтому мож и сделаю как-нибудь
[19:51:35] <vlad2> Йез! PayPal работает!
[19:52:12] <vlad2> Успешно диспьютнул транзакцию.
[19:52:59] <vlad2> Правда тормозили долго - недели три со дня открытия кэйса.
[21:47:24] <_valexey_> vlad2: а что было то?
[21:48:05] <_valexey_> egp:затролить меня по интернету довольно сложно :-)
[22:07:53] <vlad2> Прислали не совсем то, что ожидал.
[22:08:05] <vlad2> Не хотели забирать обратно, потому что final sale и все такое.
[22:08:56] <vlad2> Причем не хотели забирать даже с restocking fee (вычет процента за возврат).
[22:09:30] <vlad2> В итоге теперь вернут все деньги.
[22:14:03] <vlad2> Хотя фиг знает как у них там это работает. Может непосредственно PayPal заплатит со своих средств, чтоб все довольны остались (и продавец и покупатель).
[22:19:21] <_valexey_> vlad2: да, возможно. Им это дешевле может быть
[22:19:51] <_valexey_> О! Инфо21 что то написал!
[22:21:06] <vlad2> И все в том же духе.
[22:23:39] <_valexey_> Угу. Невнятное нечто. Философ :-)