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

GMT+3
[00:35:50] ermine вышел(а) из комнаты
[04:00:59] Typhon вышел(а) из комнаты
[04:06:13] gds вышел(а) из комнаты: Replaced by new connection
[04:06:14] gds вошёл(а) в комнату
[07:54:35] geovit вошёл(а) в комнату
[08:02:50] iNode вошёл(а) в комнату
[08:14:10] gds вышел(а) из комнаты
[08:57:35] gds вошёл(а) в комнату
[09:19:24] animist вошёл(а) в комнату
[10:11:26] ygrek вошёл(а) в комнату
[10:51:47] iNode вышел(а) из комнаты
[10:51:55] iNode вошёл(а) в комнату
[11:08:30] sceptic вышел(а) из комнаты
[11:13:09] sceptic вошёл(а) в комнату
[12:03:51] gds вышел(а) из комнаты
[12:04:41] gds вошёл(а) в комнату
[12:38:55] aloner2k вошёл(а) в комнату
[12:39:21] aloner2k вышел(а) из комнаты
[12:57:12] ermine вошёл(а) в комнату
[13:43:05] sceptic вышел(а) из комнаты: Replaced by new connection
[13:43:10] sceptic вошёл(а) в комнату
[14:24:34] ExplicitCall вошёл(а) в комнату
[15:05:18] ygrek вышел(а) из комнаты: Replaced by new connection
[15:05:19] ygrek вошёл(а) в комнату
[15:06:55] ygrek вышел(а) из комнаты: Replaced by new connection
[15:06:56] ygrek вошёл(а) в комнату
[15:20:06] Typhon вошёл(а) в комнату
[16:06:45] sceptic вышел(а) из комнаты: Replaced by new connection
[16:08:31] sceptic вошёл(а) в комнату
[16:29:43] sceptic вышел(а) из комнаты
[16:29:56] sceptic вошёл(а) в комнату
[16:35:20] <ygrek> полезная ссылка - http://users.livejournal.com/_winnie/223794.html
[16:40:33] Kakadu вошёл(а) в комнату
[16:55:05] <ygrek> как проще всего lift'нуть выражение в генерируемый код? типа такого
type t = A | B
let x = A
let e = <:str_item< let z = $x$ in () >>
[16:55:44] <ygrek> сейчас проще всего выглядит получить строковое представление deriving'ом и распарсить в ast через Gram.parse_string
[16:56:28] <ygrek> т.е. из-за pure syntactic природы camlp4 сам он этого сделать не может в принципе, так ведь?
[17:01:43] geovit вышел(а) из комнаты
[17:06:57] <ygrek> трабла конечно добавлятся по квалификации модулей - либо делать open либо фильтровать дополнительно полученный ast
[17:24:03] <ygrek> и как этот parse_string использовать - я получаю
Stream.Error("entry [sem_expr] is empty")
[17:37:16] iNode вышел(а) из комнаты
[17:39:40] gds вышел(а) из комнаты
[17:42:01] sceptic вышел(а) из комнаты
[18:19:27] gds вошёл(а) в комнату
[18:20:03] <ygrek> darcs феерический тормоз
[18:20:56] <gds> вроде в новых версиях сильно улучшали скорость.
хотя.. ему положено тормозить :)
[18:27:08] <ygrek> darcs get http://darcs.ocamlcore.org/repos/obus
уже 10 минут
[18:31:32] <ygrek> а на ocamlcore до сих пор нет прямых линков на репозиторий с кодом?
[18:35:24] <gds> разве что в таком виде: http://hg.ocamlcore.org/cgi-bin/hgwebdir.cgi
[18:35:48] <gds> ну или предлагают заменить главную страницу проекта на честный хтмл с ссылками.
[18:38:26] <ygrek> солидно, с заботой о пользователях
[18:40:06] <gds> у инриа учились, дык.
[18:58:08] <ygrek> http://paste.defun.ru/m5d4934bb
[19:01:11] <ygrek> как его заставить работать в скомпилированном виде?
[19:01:22] <ygrek> очевидно модуль с грамматикой не слинковался
[19:01:25] <ygrek> почему?
[19:01:30] <ygrek> и что это за модуль?
[19:07:04] <gds> по идее -- парсер синтаксиса, который в качестве сайд-эффекта инициализирует грамматику. что-то из *Parser* из camlp4-директорий, видимо.
[19:12:02] <gds> если попробовать прилинковать +camlp4/camlp4o.cma, получим ссылку на модуль Topdirs, может это подскажет что-то.
[19:13:08] <ygrek> да, на topdirs уже натыкался, отбросил как тупик
[19:13:41] <ygrek> sem_expr определяется как entry в ocamlinitsyntax и описывается грамматика в Camlp4OCamlParser
[19:14:28] <ygrek> ocamlc -linkall -pp camlp4of dynlink.cma -I +camlp4 camlp4lib.cma Camlp4Parsers/Camlp4OCamlParser.cmo q.ml -o q
[19:14:33] <ygrek> не помогает..
[19:15:42] <gds> если в топлевеле, который открывается по первой команде (ocaml ..) ввести module Q=Topdir;;, то видим, что там этот модуль есть. Может попробовать его таки найти?
[19:17:59] <ygrek> ничего интересного там нет - только примочки для toploop
[19:18:36] <gds> гемор, но можно подменить dynlink.cma и посмотреть, какие модули он грузит.
[19:19:01] <ygrek> аааааа
[19:19:25] <ygrek> может ещё и подебажить его?!
[19:19:39] <ygrek> я и так уже с ума схожу потихоньку
[19:19:58] <gds> подебажить -- "заметьте, не я это предложил" :]
[19:20:35] <gds> я тут потыкал, ничего умного не выходит. ну, результат ожидаемый. хз что делать...
[19:22:17] <ygrek> пойду в irc пожалуюсь
[19:24:05] <ygrek> я думаю может этот cmo надо dynlink'ом руками грузить?
[19:26:41] <ygrek> гоню наверное
[19:27:24] <gds> имхо в теории разницы нет, но на практике может и есть.
проще в irc узнать, особенно если там колян сидит.
[19:27:33] <ygrek> btw в irc муссируется некий ld_ocaml для тру динамической линковки
[19:29:06] <gds> это который https://forge.ocamlcore.org/projects/ld-ocaml/ ? Видел, штука нормальная, задач под неё нет только.
[19:29:34] <ygrek> угу
[19:48:24] <ygrek> вот так работает ocamlc -pp camlp4of dynlink.cma -I +camlp4 toplevellib.cma camlp4o.cma q.ml -o q
[19:52:56] <ygrek> $ ocamlbyteinfo /usr/lib/ocaml/camlp4/camlp4o.cma
Fatal error: exception Bytesections.Bad_magic_number
[19:52:59] <ygrek> аргх
[19:54:41] <gds> в этом причина?
[20:09:43] sceptic вошёл(а) в комнату
[20:15:43] animist вышел(а) из комнаты: Replaced by new connection
[20:36:02] <ygrek> нет, это просто попутный косяк
[20:39:06] Kakadu вышел(а) из комнаты
[20:49:36] <ygrek> косяк в днк, byteinfo для бинарников
[20:58:59] Typhon вышел(а) из комнаты
[21:29:03] ExplicitCall вышел(а) из комнаты
[21:30:48] ExplicitCall вошёл(а) в комнату
[21:45:03] ygrek вышел(а) из комнаты: Replaced by new connection
[21:45:04] ygrek вошёл(а) в комнату
[22:09:07] Typhon вошёл(а) в комнату
[22:10:20] sceptic вышел(а) из комнаты
[22:24:46] sceptic вошёл(а) в комнату
[22:25:37] sceptic вышел(а) из комнаты
[22:25:43] sceptic вошёл(а) в комнату
[22:26:27] sceptic вышел(а) из комнаты
[22:26:38] sceptic вошёл(а) в комнату
[22:30:46] Typhon вышел(а) из комнаты: Replaced by new connection
[22:30:49] Typhon вошёл(а) в комнату
[23:15:39] Typhon вышел(а) из комнаты: Replaced by new connection
[23:15:41] Typhon вошёл(а) в комнату
[23:31:11] Typhon вышел(а) из комнаты
[23:34:18] Typhon вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!