Home
Objective Caml
ocaml@conference.jabber.ru
Вторник, 27 октября 2009< ^ >
f[x] установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Верблюды грязи не боятся! | release crap
Конфигурация комнаты

GMT+3
[00:01:56] <ygrek> заграница нам поможет
из irc :
<sgnb> polymorphic recursion merged in trunk!
[00:07:18] <gds> ой#ля.
а existential types де?
[00:07:38] <ygrek> а это разве не почти оно?
[00:08:38] <ygrek> ох ты ж, открываю скриншот из xmonad@c.j.r и вижу свой код, чуть со стула не упал
[00:09:04] <gds> полиморфная рекурсия требуется для работы с ex.. типами, но не наоборот.
полиморфная рекурсия кстати вполне прилично пишется -- как на module rec, так и на записях/объектах с " 'a . ..."
[00:09:32] <gds> хаскелисты тырят код?
[00:11:06] <ygrek> sceptic пиарит :)
[00:11:08] <gds> вот их нововведение с (type a) из будущего 3.12 -- вот это может быть ex.. types, если грамотно применить. но не зная сематники (type a), размышлять бесполезно.
[00:11:42] <gds> покажь-ка урло, интересно. а то новая хмонада вышла недавно, хочется поглядеть.
[00:12:37] <ygrek> а там скрин на самом деле ужасненький, шрифты .. э, ну того, вы поняли, да ещё и в jpg :)
[00:13:54] <ygrek> http://i37.tinypic.com/2dgrr85.jpg
[00:16:01] <gds> баланс белого отстой, но хоть горизонт не завален :]
[00:24:21] tengiz57 вошёл(а) в комнату
[00:24:24] tengiz57 вышел(а) из комнаты: Всем привет, отсосу за 3 рубля, только сегодня и только сейчас
[00:29:18] <sceptic> gds: это tinypic так ресайзит
[00:29:33] <sceptic> ygrek: код почитываю иногда, с новыми знаниями.
[00:30:42] <ygrek> я бы никому не рекомендовал тот код читать, в лучшем случае удалить и переписать, это throw away
[00:31:21] <ygrek> как раз всё то что идёт ниже того куска на скрине
[00:43:50] <gds> ygrek: зря гонишь на код. Подобные вещи всегда и везде пишутся, независимо от языка, если есть цель "писать код", а не "полировать нефритовый инструмент".
Код не должен быть абстрактным, не должен быть супер-умным, как у наших, так сказать, коллег по цеху. Он должен всего лишь работать. А если он это делает круто и подлежит поддержке/изменению/багловле, это ему в большой плюс. За что и уважаю окамл -- поддерживать, переписывать и ловить баги тут очень просто.
[00:52:44] ygrek вышел(а) из комнаты
[00:53:45] ygrek вошёл(а) в комнату
[01:07:11] ygrek вышел(а) из комнаты
[01:35:36] animist вышел(а) из комнаты
[01:35:57] animist вошёл(а) в комнату
[01:59:09] Typhon вышел(а) из комнаты
[02:39:13] tengiz71 вошёл(а) в комнату
[02:39:16] <tengiz71> Всем привет! отсосу за 3 рубля! только сёдня и только сейчас
[02:39:16] tengiz71 вышел(а) из комнаты: Всем привет! отсосу за 3 рубля! только сёдня и только сейчас
[06:06:03] john вышел(а) из комнаты
[06:39:54] john вошёл(а) в комнату
[07:08:47] john вышел(а) из комнаты
[07:10:06] john вошёл(а) в комнату
[07:35:27] john вышел(а) из комнаты
[07:37:42] john вошёл(а) в комнату
[08:05:33] john вышел(а) из комнаты
[08:06:54] john вошёл(а) в комнату
[08:23:15] gds вышел(а) из комнаты
[09:03:45] gds вошёл(а) в комнату
[09:06:59] sceptic вышел(а) из комнаты
[09:16:55] sceptic вошёл(а) в комнату
[09:40:42] ygrek вошёл(а) в комнату
[09:58:31] Mon вышел(а) из комнаты
[09:58:38] Mon вошёл(а) в комнату
[10:21:40] f[x] вошёл(а) в комнату
[10:24:24] john вышел(а) из комнаты
[10:29:56] john вошёл(а) в комнату
[10:48:58] john вышел(а) из комнаты
[10:49:19] john вошёл(а) в комнату
[11:03:36] ygrek вышел(а) из комнаты: Replaced by new connection
[11:03:37] ygrek вошёл(а) в комнату
[11:17:08] f[x] смотрит в бэктрейс из 1023*1024 фреймов из повторяющихся Nethtml.parse_... вызовов и оценивает операбельность пациента
[11:37:45] <ermine> f[x]: не бреди мою мечту иметь свой хтмл парсер
[11:38:20] <ermine> хотя странно, что столько вызовов, там вроде stream
[11:39:07] john вышел(а) из комнаты
[11:40:27] john вошёл(а) в комнату
[11:41:08] <ermine> f[x]: и интересно, на каком хтмле тебе удалось уронить этот парсер? Надо заиметь удачу как хороший тест
[11:41:30] Typhon вошёл(а) в комнату
[11:42:44] <f[x]> 180МБ файлик :)
[11:43:22] <ermine> где ты его взял?
[11:44:39] <f[x]> в интырнетах
[11:48:48] <gds> интересно вот. если функция-аргумент Stream.of_func один раз вернула None, могут ли её позвать ещё раз, например, при следующей попытке чтения из потока?
[11:51:04] <f[x]> gds: вряд ли оно внутри хранит состояние
[11:54:51] <gds> ну, Stream.t изнутри мутабельный, поэтому кто его знает. однако добавлю eof : ref bool на всякий случай. просто может это известный факт, думал.
[11:55:45] <f[x]> Enum.t не хранит, сам недавно убедился
[11:57:58] <gds> может они рассчитывают на то, что могут захотеть ещё повторить чтение, получив новые результаты? а-ля неблокирующее чтение.
[11:59:58] john вышел(а) из комнаты
[12:01:23] <f[x]> просто это более базовый вариант - на его основе можно сделать запоминание, а наоборот нет
[12:05:59] john вошёл(а) в комнату
[12:06:45] Typhon вышел(а) из комнаты
[12:11:36] Typhon вошёл(а) в комнату
[12:23:36] john вышел(а) из комнаты
[13:02:29] sevenov вышел(а) из комнаты
[13:03:47] geovit вошёл(а) в комнату
[13:06:33] Typhon вышел(а) из комнаты
[13:17:31] ygrek вышел(а) из комнаты
[14:51:22] aloner2k вошёл(а) в комнату
[14:53:14] aloner2k вышел(а) из комнаты
[14:55:54] aloner2k вошёл(а) в комнату
[14:56:25] aloner2k вышел(а) из комнаты
[14:59:59] aloner2k вошёл(а) в комнату
[15:49:19] <gds> хочется мне из stream parser'а сделать так: если символ в потоке является непробельным, то доклеить его в буфер, иначе -- вернуть текущий буфер. ну, лексер пишу, типа.
на Stream.peek + Stream.junk известно как делать. На парсерах -- из статьи не понял сходу.
parser [< x ; s >] when is_alpha x -> доклеить x | [< >] -> вернуть токен
или как?
[15:55:58] <f[x]> имхо это не сработает
[15:56:51] <ermine> gds: ты используешь peek/junk?
[15:57:30] <ermine> используя peek/junk леко все делать
[15:57:34] <gds> я могу использовать peek/junk, но хочу культурно.
[15:58:17] <f[x]> when ведь вообще в стрим парсерах нету?
[15:58:22] <ermine> потом, как я писала в вики, надо помнить, что парсер стрима - не грамматика
[15:58:32] <ermine> т.е. там нету обхода веток вариантов
[15:59:06] <ermine> следующий вариант (вызов следующего парсера) может либо вынуть, либо не вынуть, не более того
[15:59:39] <gds> мне достаточно будет, если там есть when и по нему "x" не вынется, а перейдёт на пустой случай [< >].
[16:00:01] <gds> буду смотреть про when.
[16:00:39] <f[x]> when есть
[16:00:44] <f[x]> внутри [< >]
[16:01:37] <gds> ну тогда будет у меня [< x when isnt_space x; s = парсер-продолжение >] -> доклеить | [< >] -> вернуть.
или не сработает?
[16:01:54] <f[x]> сработает
[16:01:58] <f[x]> let rec loop (__strm : _ Stream.t) =
match Stream.peek __strm with
| Some x when x = ' ' ->
(Stream.junk __strm; let t = __strm in (print_char x; loop t))
| _ -> print_endline "done"

let () = loop (Stream.of_string " a s")
[16:02:13] <gds> в целом у меня лексилка подходит под LL(1), должно и на потоки лечь без извратов.
[16:02:34] <gds> о, круто. Значит буду именно так делать.
[16:02:45] <f[x]> угу, круто, теперь буду знать что так можно :)
[16:03:27] <gds> вдвойне хорошо, что не стал тупо делать peek/junk.
[16:04:19] <ermine> а там when как бы прикладывается к первому элементу паттерна
[16:07:25] <gds> вот тоже думаю, что только к первому разумно прикладывать, потому что после матчинга первого элемента дальше у парсера нет альтернативы "перейти к следующему случаю".
[16:09:13] <f[x]> exn будет
[16:10:53] <gds> если не соответствует -- по логике да. а ты случаем не проверял это?
[16:11:14] <ermine> нематчинг на первом вызывает Failire, на следующих - Error
[16:15:40] <f[x]> угу, если есть сомнения - смотришь в сгенеренный код
[16:18:23] Mon вышел(а) из комнаты: Replaced by new connection
[16:18:25] Mon вошёл(а) в комнату
[16:18:41] Mon вышел(а) из комнаты
[16:18:53] Mon вошёл(а) в комнату
[16:19:54] Mon вышел(а) из комнаты
[16:19:58] Mon вошёл(а) в комнату
[17:00:57] geovit вышел(а) из комнаты
[17:12:23] Mon вышел(а) из комнаты: Replaced by new connection
[17:12:25] Mon вошёл(а) в комнату
[17:13:23] Mon вышел(а) из комнаты: Replaced by new connection
[17:13:26] Mon вошёл(а) в комнату
[17:30:14] gds вышел(а) из комнаты
[18:14:21] gds вошёл(а) в комнату
[19:11:19] animist вышел(а) из комнаты
[19:11:36] animist вошёл(а) в комнату
[19:14:00] john вошёл(а) в комнату
[20:03:34] f[x] вышел(а) из комнаты
[20:38:41] Tengiz76 вошёл(а) в комнату
[20:38:42] <Tengiz76> Компания горячих геев составит вам компанию на ночь в COOL@CONFERENCE.JABBER.RU
[20:38:43] Tengiz76 вышел(а) из комнаты: Компания горячих геев составит вам компанию на ночь в COOL@CONFERENCE.JABBER.RU
[20:39:32] <gds> ахтунг!
[20:57:10] sceptic вышел(а) из комнаты
[21:00:35] sceptic вошёл(а) в комнату
[21:01:22] sceptic вышел(а) из комнаты: Replaced by new connection
[21:01:28] sceptic вошёл(а) в комнату
[21:38:56] ygrek вошёл(а) в комнату
Конфигурация комнаты
[21:44:02] Конфигурация комнаты изменилась
[21:45:24] ygrek задраил люки
[21:46:31] <gds> теперь гости будут получать диагноз "у вас молчанка"?
[21:47:17] <ygrek> угу
[21:47:42] ygrek установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Верблюды грязи не боятся! | release crap | voice по запросу
[21:49:34] <ermine> только не у меня
[21:49:55] <ermine> во
[21:52:46] <gds> че во во?
[21:53:22] <ermine> у тебя пиджин - тебе не понять
[21:53:42] <ygrek> :)
[21:53:57] gds totally discriminated
[21:54:13] <ygrek> ermine: а affiliation то остался :)
[21:55:40] <ermine> ygrek: а чо поделать...
[21:57:13] <ermine> ygrek: при этом я никаких функций не утратила
[22:26:09] sceptic вышел(а) из комнаты
[22:26:26] sceptic вошёл(а) в комнату
[22:28:00] Mon вышел(а) из комнаты
[22:28:10] Mon вошёл(а) в комнату
[22:30:23] sceptic вышел(а) из комнаты
[22:30:32] sceptic вошёл(а) в комнату
[22:30:57] sevenov вошёл(а) в комнату
[22:32:26] Tengiz65 вошёл(а) в комнату
[22:32:29] Tengiz65 вышел(а) из комнаты: простите меня, я думал вы придёте в гости в cool@conference.jabbeer.ru а вы вайпать, с уважением тёть тенгиз
[22:37:53] ygrek вышел(а) из комнаты: Replaced by new connection
[22:37:57] ygrek вошёл(а) в комнату
[23:08:07] Суда cool@conference.jabber.ru вошёл(а) в комнату
[23:08:08] Суда cool@conference.jabber.ru вышел(а) из комнаты: Захадите и не пожалетете
[23:18:57] Śephiroth вошёл(а) в комнату
[23:38:52] Śephiroth вышел(а) из комнаты
[23:58:46] <sceptic> http://shootout.alioth.debian.org/u32q/benchmark.php?test=chameneosredux&lang=all за державу обидно, однако =/
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!