Home
Objective Caml
ocaml@conference.jabber.ru
Понедельник, 29 августа 2011< ^ >
f[x] установил(а) тему: Камль -- http://caml.inria.fr | http://camlunity.ru/ (теперь с git доступом!) | Верблюды грязи не боятся! | release crap, enjoy NIH | репортьте баги официальным дилерам | ocaml мёртв и тормозит, move on | stdlib only? - ССЗБ
Конфигурация комнаты
Участники комнаты

GMT+4
[00:00:24] arhibot вышел(а) из комнаты
[01:00:15] Kakadu вышел(а) из комнаты
[01:06:00] ygrek вышел(а) из комнаты
[02:51:31] ftrvxmtrx вышел(а) из комнаты
[03:12:20] Typhon вышел(а) из комнаты
[04:44:38] ftrvxmtrx вошёл(а) в комнату
[04:56:36] ftrvxmtrx вышел(а) из комнаты
[05:01:36] ftrvxmtrx вошёл(а) в комнату
[05:41:57] komar вышел(а) из комнаты
[05:42:13] komar вошёл(а) в комнату
[05:42:23] komar вышел(а) из комнаты
[05:42:30] komar вошёл(а) в комнату
[05:42:37] komar вышел(а) из комнаты: Logged out
[05:42:41] komar вошёл(а) в комнату
[06:05:26] ftrvxmtrx вышел(а) из комнаты
[07:04:38] zinid вошёл(а) в комнату
[07:25:09] iNode вышел(а) из комнаты
[08:57:36] iNode вошёл(а) в комнату
[09:12:41] delete_ вошёл(а) в комнату
[09:12:56] delete_ вышел(а) из комнаты
[09:49:24] komar вышел(а) из комнаты
[09:52:39] bobry- вошёл(а) в комнату
[09:56:11] Kakadu вошёл(а) в комнату
[10:22:44] iNode вышел(а) из комнаты
[10:25:44] ermine вошёл(а) в комнату
[10:47:53] iNode вошёл(а) в комнату
[11:05:43] f[x] вышел(а) из комнаты
[11:15:41] ftrvxmtrx вошёл(а) в комнату
[11:18:25] f[x] вошёл(а) в комнату
[11:21:31] <bobry-> кошерный пост про Maybe / option и глобальное зло http://blog.dbpatterson.com/post/9528836599
[11:28:41] ygrek вошёл(а) в комнату
[11:29:04] ygrek вышел(а) из комнаты
[11:29:29] ygrek вошёл(а) в комнату
[11:30:55] <Kakadu> автор что-то понимает...
[11:39:02] <Kakadu> есть у кого-нибудь идеи что быстрее работает: sprintf или String.concat?
[11:47:10] <ygrek> это критично?
[11:48:21] <Kakadu> просто интересно
[11:49:29] <ygrek> не знаю, по идее одинаково
[12:41:28] Typhon вошёл(а) в комнату
[12:43:16] iNode вышел(а) из комнаты
[13:21:19] ygrek вышел(а) из комнаты
[13:21:23] ygrek вошёл(а) в комнату
[15:41:40] klapaucius вошёл(а) в комнату
[15:51:32] letrec вошёл(а) в комнату
[16:27:08] <ygrek> офигеть, tcmalloc зачем-то берёт stacktrace и крэшится
[16:31:43] <Kakadu> ygrek: ты этим cfi занимаешься?
[16:35:12] <bobry-> блин, вот фигня то, дебиановский пакет ocaml-sha указывает на несуществующую homepage
[16:35:19] <bobry-> http://packages.debian.org/source/sid/ocaml-sha
[16:35:24] <bobry-> откуда у них исходники спрашивается
[16:36:58] <ygrek> ну, да
[16:37:25] <Kakadu> ygrek: а можно в двух словах что это такое?
[16:39:01] <ygrek> там в тикете написано же
[16:39:13] <ygrek> статическая инфа для разматывания стека
[16:39:25] <ygrek> нужна, если нету frame pointer'ов
[16:40:07] <Kakadu> ygrek: а тикет где смотреть?
[16:40:08] <ygrek> грубо говоря, для каждого значения ip (позиции в коде) говорит насколько надо сдвинуться по стеку чтобы перейти к предыдущему фрейму
[16:40:13] <ygrek> PR#5313
[16:40:16] <ygrek> 14
[16:40:51] <ygrek> bobry-: юзай cryptokit
[16:43:11] <Kakadu> ygrek: угу, понятно
[16:46:05] <bobry-> ygrek: мне только sha нужен, cryptokit не хочется тащить
[16:49:34] <Typhon> гы, мне тоже как-то нужен был sha только, я на каких-то развалах нашёл
[16:53:00] <Kakadu> ygrek: тебе не лень потестить компилябельность lablqt?
[16:53:19] <Kakadu> или лучше пнуть ирку....
[16:53:49] <Kakadu> я уж вроде научился окошки показывать...
[16:57:54] <ygrek> давай
[16:58:28] <ygrek> irc:
<sumanah> I'm visiting from #mediawiki where we write MediaWiki, the software Wikipedia runs on.  We would love some assistance on code review on our Math system, which uses OCaml and which very few of our developers know.  Anyone interested in taking a look? http://www.mediawiki.org/wiki/Special:Code/MediaWiki/tag/math
[16:59:15] <Kakadu> ygrek: репозиторий остался?
[17:01:22] <ygrek> угу
[17:02:39] shaggie вошёл(а) в комнату
[17:06:28] Kakadu понял, что ему сейчас влетит за такие Makefilы
[17:08:05] <Typhon> all
    rm -rf /
?
[17:08:09] <Typhon> *all:
[17:09:05] <Kakadu> Typhon: не, не полный песец
[17:09:47] <ygrek> ща пока qt4-dev поставится
[17:13:59] shaggie вышел(а) из комнаты
[17:16:42] <Kakadu> вроде сейчас получше билдиться будет
[17:20:02] <Kakadu> я тут подумал, что если указатели на объекты в Сишечке у меня на камлевой стороне хранятся как [`qobject] obj, то получается, что при внесении в камло из Си любого такого указателя мне надо проверять на ==NULL и затем конструировать соответсвующий 'b option?
[17:21:21] <ygrek> не понял, т.е. obj это самый базовый класс и там может быть NULL?
[17:22:43] <Kakadu> 'a obj  - это абстрактный тип, и в него обертывается всё, что пришло из С
[17:22:47] <Kakadu> ++
[17:24:21] <Kakadu> полагаю что в lablgtk также
[17:24:49] <Kakadu> осталось понять почему там -'a obj
[17:31:52] ftrvxmtrx вышел(а) из комнаты
[17:57:35] ftrvxmtrx вошёл(а) в комнату
[19:02:28] bobry- вышел(а) из комнаты
[19:10:24] komar вошёл(а) в комнату
[19:37:01] <ygrek> фантом наверное
[19:55:21] zinid вышел(а) из комнаты
[20:03:13] <Kakadu> а зачем обычно пишут
module A = struct
external init: ....
let () = init ()
...
end
[20:03:20] <Kakadu> ?
[20:03:50] <Kakadu> не очень понятно когда init вызовется...
[20:05:31] Typhon вышел(а) из комнаты
[20:07:34] <gds> Kakadu: при создании модуля.
[20:10:06] <Kakadu> угу
[20:18:27] <letrec> по Genlex есть дока более подробная, чем http://caml.inria.fr/pub/docs/manual-ocaml/libref/Genlex.html?
[20:19:08] <letrec> непонятно что обозначает конструкция [< 'Int n >]
[20:19:32] <letrec> выглядит как конструктор полиморфного варианта
[20:19:43] <letrec> но тип вроде обычный
[20:19:51] <letrec> или это квазицитоирование?
[20:20:22] <gds> это синтаксический сахар для stream'ов.
[20:21:01] <letrec> p4?
[20:21:32] <gds> да.  В официальном мануле -- прямая отсылка туда: "See the Camlp4 reference manual for more information."
[20:22:04] <gds> а, ну ещё "Support for basic operations on streams is still available through the Stream[Stream] module of the standard library. OCaml programs that use the stream parser syntax should be compiled with the -pp camlp4o option to ocamlc and ocamlopt. For interactive use, run ocaml and issue the #load "camlp4o.cma";; command."
[20:22:57] <gds> и критично, что апостроф там прямой, а не обратный (как в полиморфных вариантах).
[20:32:25] <letrec> просмотрел мануал по п4 и охренел
[20:32:48] <letrec> всё уже давно реализовано
[20:33:11] <letrec> а люди пишут на всяком убожестве
[20:33:21] <letrec> типа C++
[20:34:49] <gds> многое реализовано, да.
люди -- разные есть.
кроме того, кое-где, изредка, плюсеки -- это путь наименьшего сопротивления.
[20:36:28] <letrec> т.е. помимо ссылки, что я привёл доки по Genlex больше нет и настоящим джедаям этого достаточно?
[20:38:34] <gds> если нужна дока на синтаксическое расширение stream parsers -- отсылка есть.  По самому Genlex -- всё понятно (хотя я им никогда и не пользовался).  Единственная функция создаёт Stream.t, дальше уже вопросы к Stream и к расширениям.
[21:06:18] komar вышел(а) из комнаты: Logged out
[21:06:22] komar вошёл(а) в комнату
[21:15:44] Typhon вошёл(а) в комнату
[21:22:03] komar вышел(а) из комнаты: Replaced by new connection
[21:22:04] komar вошёл(а) в комнату
[21:26:32] komar вышел(а) из комнаты: Replaced by new connection
[21:26:33] komar вошёл(а) в комнату
[21:28:17] ftrvxmtrx вышел(а) из комнаты
[21:29:49] ftrvxmtrx вошёл(а) в комнату
[21:30:28] ftrvxmtrx вышел(а) из комнаты
[21:31:36] letrec вышел(а) из комнаты
[21:32:14] ftrvxmtrx вошёл(а) в комнату
[22:33:46] komar вышел(а) из комнаты: Replaced by new connection
[22:33:49] komar вошёл(а) в комнату
[23:34:01] <gds> судя по
echo -e "module type L = sig val hd : 'a list -> 'a val rev : 'a list -> 'a list end;;\n print_string (Marshal.to_string (module List : L) [Marshal.Closures]);;" | ocaml | od -c
, привязки к сигнатуре в замаршаленном нет.
А, судя по
$ echo -e "module type L = sig val hd : 'a list -> 'a end;;\n let s1 = (Marshal.to_string (module List : L) [Marshal.Closures]);;\n type 'a l = { hd : 'a list -> 'a };;\n let s2 = (Marshal.to_string {hd = List.hd} [Marshal.Closures]);;\n Printf.printf \"%b\n\" (s1=s2);;\n" | ocaml
(строки равны), я ничего не понимаю.
Какой "шаблон использования" имели ввиду под первоклассными модулями?  Какой смысл в их маршаллинге?  Ну, кроме existential types.
[23:35:41] ermine вышел(а) из комнаты
[23:37:31] <Kakadu> gds настолько крут, что чтобы понять, что у него в посте происходит, надо поломать голову
[23:37:48] <Kakadu> отставить, "надо мног знать"
[23:38:00] <Kakadu> я тут почитал трехлетней давности сообщения чатика
[23:38:37] <Kakadu> gds очень терпеливо рассказывал мне как найти все файлы в директории по шаблону.
[23:39:09] <Kakadu> надо бы галочку в календарике поставить
[23:41:28] <gds> ух, старые чатлоги со своим участием предпочитаю не читать вообще (кроме случаев, когда надо), там вообще какие-то другие люди говорят.  Даже немного ссыкотно -- "если я вспомню и вникну в это, оно не вернётся вместо текущего состояния?".
[23:43:00] <Kakadu> gds: чтение чатлогов привело к тому, что ты вчера остался не праздравленный. исправляюсь.
[23:43:52] <gds> принято :)
[23:47:05] <Kakadu> Надо понять, что делать дальше с lablqt
[23:47:11] <gds> а состояние текущее -- как у какого-то, блин, холмса между делами..  благо, опиаты не уважаю никак.  а с первоклассными модулями -- пытаюсь понять, для чего пригодятся.  а так -- не могу найти дел, и "сверху" пока не дают.  как всегда, интересные дела сложны, тривиальные дела неинтересны.
[23:47:39] <gds> а в чём затык с lablqt?
[23:47:50] <Kakadu> у меня 4 варианта:
1. искать баги
2. прикрутить енумы
3. заревьюить код
4. сделать кроссплатформенную клмпиляцию как в камловики написано
[23:48:30] <gds> 5. сделать пару примеров, чтобы народ мог смотреть код, примерять его на свои случаи, пробовать на зуб и всё такое.
[23:48:51] <Kakadu> примеры какого объема?
[23:49:43] <gds> примеры -- тривиальные.  Вывести на форму кнопку, по нажатию как-то менять текст на форме.  Список значений, чекбоксы, видимость/disabling элементов формы.
[23:50:03] <Kakadu> угу
[23:57:46] <ygrek> Kakadu> gds: чтение чатлогов привело к тому, что ты вчера остался не праздравленный. исправляюсь.
реквестирую ссылку!!
[23:59:59] <gds> не было никаких ссылок!  Всё прошло чисто.
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!