Home
Objective Caml
ocaml@conference.jabber.ru
Среда, 16 января 2013< ^ >
f[x] установил(а) тему: OCaml / ОКамл / Камль -- http://caml.inria.fr | Камло - http://camlunity.ru/ | Верблюды грязи не боятся! | release crap, enjoy NIH | репортьте баги официальным дилерам | ocaml мёртв и тормозит, move on | stdlib only? - ССЗБ | Fight FUD with fire | Мойте руки перед чатом | 4.00.0 уже таки да, см. kamlo_wiki/OCamlChanges
Конфигурация комнаты
Участники комнаты

GMT+4
[00:05:30] f[x] вошёл(а) в комнату
[00:10:42] komar вошёл(а) в комнату
[00:15:18] evilbloodydemon вышел(а) из комнаты
[00:42:30] Sun][ вышел(а) из комнаты
[00:45:46] f[x] вышел(а) из комнаты
[02:40:52] f[x] вошёл(а) в комнату
[02:48:02] f[x] вышел(а) из комнаты
[02:55:45] komar вышел(а) из комнаты
[03:49:06] Zbroyar вышел(а) из комнаты
[06:33:00] zinid вошёл(а) в комнату
[07:26:33] evilbloodydemon вошёл(а) в комнату
[08:53:11] dzhon вошёл(а) в комнату
[09:55:55] Sun][ вошёл(а) в комнату
[11:27:21] Sun][ вышел(а) из комнаты
[11:27:27] Sun][ вошёл(а) в комнату
[11:28:02] Sun][ вышел(а) из комнаты
[11:28:09] Sun][ вошёл(а) в комнату
[11:28:44] Sun][ вышел(а) из комнаты
[11:31:02] Sun][ вошёл(а) в комнату
[11:45:43] ermine вошёл(а) в комнату
[11:56:23] ftrvxmtrx вошёл(а) в комнату
[12:09:06] klapaucius вошёл(а) в комнату
[12:12:34] Sun][ вышел(а) из комнаты
[12:15:54] Sun][ вошёл(а) в комнату
[12:20:06] Andrey Popp вошёл(а) в комнату
[12:31:52] komar вошёл(а) в комнату
[12:52:56] Kakadu вошёл(а) в комнату
[13:11:04] Typhon вошёл(а) в комнату
[13:11:47] dzhon вышел(а) из комнаты
[13:13:20] dzhon вошёл(а) в комнату
[13:18:04] Andrey Popp вышел(а) из комнаты
[13:21:54] Andrey Popp вошёл(а) в комнату
[14:30:02] Typhon вышел(а) из комнаты
[14:30:45] Typhon вошёл(а) в комнату
[14:32:10] Typhon вышел(а) из комнаты
[14:32:28] Typhon вошёл(а) в комнату
[14:58:03] dzhon вышел(а) из комнаты
[14:58:54] <ermine> gds: а что экономнее - array с двумя элементами или тьюпл с двумя элементами?
[14:59:57] <f[x]> одинаково, если это только не флоаты
[15:00:19] <ermine> а что круче - fst или a.(0)?
[15:00:44] <ermine> там инты только
[15:01:54] <ermine> ладно пусть будет массив, чтобы не возиться с fst, snd
[15:02:07] <ermine> и зато есть unsafe_get
[15:23:05] <gds> а вроде fst/snd ведут себя как unsafe_get -- им же не надо проверять количество элементов.
[15:28:21] Typhon вышел(а) из комнаты
[15:31:58] <ermine> external fst : 'a * 'b -> 'a = "%field0"
external snd : 'a * 'b -> 'b = "%field1"
[15:32:10] <ermine> шо бы это значило
[15:34:21] <f[x]> builtin'ы
[15:35:23] <ermine> ладно, пусть будет тьюпл, вроде проигрыша не видно
[15:44:49] Typhon вошёл(а) в комнату
[15:59:42] dzhon вошёл(а) в комнату
[16:15:30] Andrey Popp вошёл(а) в комнату
[16:15:30] Andrey Popp вышел(а) из комнаты
[16:43:13] <f[x]> докатился. буду проводить мастер-класс в соседней конторе - внедрять камло
[16:50:43] komar вышел(а) из комнаты: Logged out
[17:09:03] komar вошёл(а) в комнату
[17:15:28] Typhon вышел(а) из комнаты
[17:22:24] Typhon вошёл(а) в комнату
[17:27:08] Typhon вышел(а) из комнаты
[17:27:15] <gds> f[x]: "всё правильно сделал".
[17:28:05] Typhon вошёл(а) в комнату
[17:29:55] komar сегодня агитировал за skype.
[17:30:15] <gds> komar: "всё неправильно сделал".
[17:31:25] <Kakadu> gds: +1
[17:31:59] <gds> но по нужде скайпом пользоваться приходится, к сожалению.
[17:32:22] <komar> Видите ли, если они выберут SIP — мне потом с этим говном интегрироваться.
[17:32:29] <komar> А со скайпом интегрироваться невозможно.
[17:33:03] <gds> какой-то вариант таки был, иначе не было бы плагинов для пиджина, предоставляющих скайпочятики.
[17:33:23] <komar> Мне нужна запись звонков.
[17:34:18] <gds> ловко выкрутился.
[17:40:17] <zinid> sip - то ещё говно, ага
[17:40:23] <zinid> сложный писец
[17:41:00] <zinid> похоже ietf не может рожать сложные протоколы
[17:41:12] <zinid> количество багов растёт экспоненциально
[17:41:15] <zinid> надо что-то менять
[17:41:24] <zinid> более формально автоматы описывать например
[17:45:38] <f[x]> ietf открытая организация
[17:46:01] <f[x]> а вендоры продавливают что хотят во многих случаях
[17:46:59] <ermine> ну вендоры же платят своим рабам, а  рабы молча кодят что скажут
[17:47:03] <gds> достаточно сделать слишком сложный апи, чтобы с точки зрения бизнеса был ровно один конкурентно-способный вариант.
[17:47:48] <gds> (апи = апи, протокол, описание; т.е. способы работать с описанным.)
[17:47:49] <zinid> ну не знаю, изначально sip был придуман dynamicsoft'ом
[17:47:57] <zinid> это потом его циска купила
[17:48:29] <zinid> а dynamicsoft - мелкая шарага
[17:48:43] <zinid> да и там по сути всего один человек работал над протоколом
[17:48:48] <zinid> и сразу сделал его говном
[17:49:59] <f[x]> тогда я не понял при чём тут ietf?
[17:50:07] <f[x]> т.е. они просто стандартизовали де-факто то что есть
[17:50:10] <zinid> ну при том что это было в рамках ietf
[17:50:14] <zinid> ну да
[17:50:19] <f[x]> ну блин реальный мир
[17:50:40] <zinid> дык а тенденция не меняется
[17:50:49] <f[x]> лучше стандартизированное говно чем нестандартизированное :)
[17:50:52] <zinid> я смотрю в новые протоколы - та же хрень
[17:51:08] <f[x]> ещё можно вскочить в поезд и покрутить httpbis
[17:51:32] <zinid> а он уже в last call вроде ;)
[17:51:58] <f[x]> мда? круто
[17:52:04] <zinid> ща точно гляну
[17:53:41] <zinid> его там распилили по спекам, щас хз
[17:54:57] <f[x]> Steinberg писал недавно что вроде ещё не всё устаканили
[17:55:50] <f[x]> http://daniel.haxx.se/blog/2012/12/01/http2-spdy-and-spindly-right-now/
[17:56:59] <ermine> веб превратится в сип?
[17:57:05] <zinid> ну spdy только часть httpbis
[17:57:08] <zinid> транспорт
[18:10:49] Sun][ вышел(а) из комнаты
[18:13:18] Typhon вышел(а) из комнаты
[18:14:26] Typhon вошёл(а) в комнату
[18:59:17] zinid вышел(а) из комнаты
[19:04:50] <f[x]> а какие есть способы склеивать нативные кусочки кода во что-то большое?
[19:04:59] <f[x]> metaocaml не предлагать
[19:05:38] <f[x]> пример - в рантайме есть ast какого-то простого языка - хочу получить камлевую функцию
[19:06:08] <f[x]> пример язык - одна переменная x, условия сравнения, операторы and и or
[19:06:28] <f[x]> хочу получить (fun x -> .< code of ast >. )
[19:06:50] <f[x]> ну и хочется всё это синлайненное
[19:07:09] <f[x]> т.е. если без инлайна то понятно как делать - но это ж куча кложурок
[19:07:37] <f[x]> простые способы есть?
[19:13:52] <f[x]> можно сгенерить код по возможным вариантам ast'а чтобы инлайнил все сочетания..
[19:15:48] Andrey Popp вышел(а) из комнаты
[19:16:55] <f[x]> интересно, а сильно сложно сделать тупой инлайнер на основе рантайм представления клозур?
[19:18:49] <f[x]> coq'и тоже не предлагать
[19:34:19] dzhon вышел(а) из комнаты
[19:38:34] komar вышел(а) из комнаты
[19:43:56] ftrvxmtrx вышел(а) из комнаты
[19:49:24] Kakadu вышел(а) из комнаты
[20:09:49] Typhon вышел(а) из комнаты
[20:12:08] <gds> f[x]: инлайнер на основании closures -- это jit называется.  Вроде какой-то был.
[20:14:09] <gds> да и вообще, сложное дело.  А coq предлагать не буду, для всяких няшных инлайнингов там нужны статические термы.
[20:14:10] Typhon вошёл(а) в комнату
[20:14:57] <f[x]> разве для камля есть нативный jit?
[20:16:05] <gds> какие-то проекты были, возможно найдётся по "ocamljit", но там что-то страшное вытворялось, и вроде не кроссплатформенно, поэтому не очень интересно было.
[20:16:42] <gds> если "нативный = из коробки", то точно нет.
[20:20:35] <f[x]> ocamljit это для байткода
[20:20:55] <gds> "не получилось."
[20:26:39] <gds> f[x]: а ты в сишечьку компилируй, врапперы лепи, dynlink'ом загружай!11
[20:27:30] <f[x]> хм!!ъ
[20:28:20] <f[x]> мне же СКОРАСТЬ нужна
[20:28:33] <f[x]> а тут сишную функцию дёргать, оно там кучу регистров сохраняет
[20:29:47] <f[x]> но можно генерить камло-код, и получить такой себе metaocaml для бедных
[20:29:53] <f[x]> знатное извращение
[20:30:36] Typhon вышел(а) из комнаты
[20:33:16] <gds> слишком знатное извращение, я бы не потянул :[
%noalloc вроде поменьше работы делает?
пропатчь компилятор, чтобы принимал %noregsave и генери осемблир!1111
[20:34:04] <gds> и вообще, БУДЬ МУЖЫКОМ @ СДЕЛАЙ JIT
[20:34:29] Typhon вошёл(а) в комнату
[20:36:04] <f[x]> noalloc отрезает сразу кучу вариантов..
[20:36:38] <gds> вроде только мусорщика, или не?
(эй, ты серьёзно?)
[20:37:54] <f[x]> ну дёргать камлевые функции низя
[20:38:07] <f[x]> произвольные всмысле
[20:38:21] <gds> так в сишечьку компилируй, сделай её ограниченную.
[20:38:37] <f[x]> так это мне что - всю программу в сишечку компилировать
[20:38:51] <ADEpt> можно генерить caml, его компилить, и уже его потом динлинком ...
[20:39:04] <f[x]> > но можно генерить камло-код, и получить такой себе metaocaml для бедных
[20:39:17] <ADEpt> да, прозевал
[20:39:19] <f[x]> можно, только я хотел простой вариант :)
[20:39:23] <f[x]> ты так делал?
[20:39:27] <ADEpt> да
[20:39:51] <ADEpt> для динамически подгружаемых плагинов
[20:39:54] <f[x]> чорт, провокация в чате
[20:41:39] <f[x]> я наверное всё-таки слаб духом для такого
[20:42:01] <gds> ХА-ХАА
[20:43:05] <gds> f[x]: ещё всякия http://okmij.org/ftp/tagless-final/index.html можно посмотреть.  Там таки будут closures и их нагромождение, но может покатит по производительности.
[20:43:27] <f[x]> "Олег уже сделал это"?
[20:43:47] <gds> конкретно это -- к сожалению, нет.  Но, скажем, структуризировал.
[20:44:34] <gds> то есть, твоя же идея про closures, но, может, там будет более явная "интуиция"/"правила" для этого дела.
[20:48:47] <gds> кроме того, если всё-таки интересно помучить ast на тему оптимизаций всяких (вдруг на вход идёт не совсем оптимизированное), можно взять phoas, это такое представление ast, весьма годное, скорее всего юзабельно в окамле тоже (но не уверен полностью).  Если голова не сломается, будет весьма удобно работать с привязками -- аргументами лямбда-абстракций, привязками в let-in.
[20:49:06] <gds> (однако, если типы простые, лучше это не брать.)
[20:56:27] <f[x]> аргх, ещё один академик
[20:57:14] <gds> академики не говорят "... лучше это не брать".
[21:01:06] <f[x]> я про автора той штуки
[21:20:37] Typhon вышел(а) из комнаты
[21:26:18] komar вошёл(а) в комнату
[21:34:58] komar вышел(а) из комнаты: Logged out
[21:37:00] komar вошёл(а) в комнату
[21:43:55] komar вышел(а) из комнаты: Logged out
[21:49:03] klapaucius вышел(а) из комнаты
[22:14:50] komar вошёл(а) в комнату
[22:19:14] ftrvxmtrx вышел(а) из комнаты
[22:56:04] Andrey Popp вошёл(а) в комнату
[23:01:18] Andrey Popp вышел(а) из комнаты
[23:21:26] Kakadu вошёл(а) в комнату
[23:24:15] Kakadu вышел(а) из комнаты
[23:47:43] f[x] вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!