Home
Objective Caml
ocaml@conference.jabber.ru
Вторник, 10 августа 2010< ^ >
f[x] установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Верблюды грязи не боятся! | release crap | judge by commits, not comments | ocaml мёртв, move on | Oh My God! They Killed Kamlp4! Bastards!
Конфигурация комнаты
Участники комнаты

GMT+4
[00:28:22] digital_curse вышел(а) из комнаты
[00:48:01] gds вышел(а) из комнаты
[00:48:57] ermine вышел(а) из комнаты
[01:25:20] Kakadu вышел(а) из комнаты
[03:13:42] valexey_ вышел(а) из комнаты
[07:56:46] iNode вышел(а) из комнаты
[08:21:10] iNode вошёл(а) в комнату
[08:58:21] Kakadu вошёл(а) в комнату
[09:04:42] gds вошёл(а) в комнату
[09:32:25] gds вышел(а) из комнаты: Replaced by new connection
[09:32:27] gds вошёл(а) в комнату
[09:40:50] gds вышел(а) из комнаты: Replaced by new connection
[09:40:52] gds вошёл(а) в комнату
[09:50:37] iNode вышел(а) из комнаты
[09:59:20] iNode вошёл(а) в комнату
[10:16:21] serp256 вошёл(а) в комнату
[10:33:06] Kakadu вышел(а) из комнаты
[11:03:08] ʇsʎɯ вошёл(а) в комнату
[11:38:58] <serp256> gds: можно вопросик по objsize?
[11:39:04] <serp256> aborted at c_objsize.c:229: assert_failed: writecolor
[11:39:16] <serp256> вот такая ошибочка, это что-то говорит?
[11:40:40] <gds> какая версия используется?
[11:41:16] <serp256> 0.15 либа, 3.11.2 ocaml
[11:41:26] <valexey> это что-то gtk'шное?
[11:41:31] <serp256> нет
[11:41:57] <serp256> просто структура , пытаюсь вызвать size_without_headers и такой assert
[11:42:28] <valexey> какой-то низкоуровневый ужоз
[11:42:52] <serp256> ну на более высоком, сложнее размеры померить :-)
[11:43:15] valexey спратялся обратно в уютненький хаскелл
[11:43:58] <serp256> gds: я просто подумал, может это какая-то известная проблема?
[11:44:20] <serp256> если нет, то покопаю немного как время будет
[11:46:04] <gds> есть подозрение на то, что хип в кривом состоянии.
[11:46:42] <serp256> это явно не хорошо
[11:48:22] <gds> если есть пример программы, которая падает, изучил бы.
[11:48:49] <serp256> ну программа, очень не маленькая
[11:50:24] <valexey> ой. на камле бывают очень не маленькие программы? т.е. не парсеры на 100 строчек кода? как-то странно это для функциональщины... значит камло не истинная функциональщина!
[11:51:06] <gds> valexey: чото ты не спрятался толком.
[11:51:27] <valexey> чорт.
[11:52:57] <gds> serp256: если не маленькая, то можно попробовать включить отладочную печать, в первых строках c_objsize.c.  Но там будут тонны отладочной печати, для каждого проходимого значения.  На stdout.
[11:53:27] <serp256> ок попробую, спасиб.
[11:54:10] <gds> если чо, логи сжимай каким-нибудь bzip2 -9, и либо на gdsfh1 собака gmail.com, либо на какой-нибудь хостинг, смотря какой объём.
[11:54:30] <valexey> на торрент
[11:54:45] <gds> в ууе на жаббер
[11:55:18] <valexey> не-ет!
[11:55:24] <gds> надеюсь, тутачьке есть ещё фидоры, знающие, что такое ууе?..
[11:55:43] <valexey> это такой недо-base64 :-)
[11:56:07] <ʇsʎɯ> это вообще-то не к фидорам
[11:56:22] <ʇsʎɯ> uue = uucp encoding, uucp = unix to unix cp
[11:56:30] <ʇsʎɯ> такие дела
[11:56:50] <valexey> вообще то uue это ююк :-)
[11:56:58] <valexey> раюючить, разюючить
[11:57:02] <valexey> http://ru.wikipedia.org/wiki/UUE
[11:57:31] <gds> но в юниксах оно #авным #авно отсохло, а фидоры, как известно, некрофильствовали с ууе далеко после его фактической смерти.
кстати вот, в плане разбиения на секции и контрольных сумм -- даже не знаю, base64 вроде не умеет.
[11:58:07] <valexey> вроде бы тоже
[11:58:57] ermine вошёл(а) в комнату
[12:00:26] <serp256> да дебаги очень не сильно мне что-то прояснили :-)
[12:01:38] <gds> давай мне дебаги, буду разбираться.  Однако видимо вечером.
[12:03:32] <serp256> отправил, с полтыка там явно не воткнешь....
[12:08:00] abiogenesis вошёл(а) в комнату
[12:28:25] <serp256> gds: а от того что там функции в струтуре есть, он не может так орать?
[12:29:35] <gds> не, он функции обрабатывает культурно: если это чистый код без окружения, не входит в него, а если closure, то подсчитывает каждое поле.
А может сишные биндинги используются, либо Obj?
[12:29:57] <serp256> сишные есть
[12:30:08] abiogenesis вышел(а) из комнаты
[12:30:28] <serp256> но конкретно к той струтуре которую даю функции они не относяца
[12:31:00] <gds> тогда дело не в них, вероятно.
хреново, надо фтыкать в логи.
[12:31:35] <serp256> а можешь в двух словах, по поводу objsize рассказать? ну там эти битсеты с цветами?
[12:31:50] <serp256> на окамле с помощью Obj такое нельзя было написать?
[12:35:44] <gds> на окамле -- разве что если каждый объект складывать куда-то в список/хеш, что жрало бы память сильно.
идея такая: берём значение и рекурсивно обходим его.  При обходе сохраняем цвет (GC'шное понятие), но ставим цвет = Col_blue, который по умолчанию в GC используется только на промежуточных стадиях, чтобы второй раз не входить в уже пройдённое значение.  Потом обходим в том же порядке, только наоборот, для значений с цветом Col_blue восстанавливаем сохранённые цвета как было.  Для того, чтобы алгоритм работал без ошибок, стоит ассерт, гарантирующий, что ни одно значение не будет пройдено дважды, т.е. что в функцию сохранения цвета не попадёт цвет Col_blue (т.к. оно не должно в неё войти).
В связи с этим идея возникла -- попробуй отключить оптимизацию компилятора, -O0 в gcc, вдруг оно подсирает.
[12:36:10] <gds> сейчас у меня запарка, поэтому выражаю мысли криво.  Надеюсь, хоть что-то понятно; если нет, я уточню.
[12:36:56] <serp256> gds: вообщем понял, спасибо еще раз
[12:38:29] <gds> прошу, попробуй отключить оптимизацию, мне хочется всё-таки иметь безглючный objsize в итоге, и я буду разбираться с этим (в том числе, изучением логов).
[12:41:14] <valexey> гм. objsize т.е. считает не просто размер объекта, но и размер всех на кого он ссылается? т.е. всё дерово с корнем в данном объекте?
[12:42:37] <gds> да, именно.  Плюс опционально с количеством этих самых объектов и с учётом / без учёта заголовков.
[12:42:57] <gds> в том-то самая писечка, как говорят :)
[12:43:06] <serp256> gds: да вот думаю как в ocamlbuild ее отключить :-)
[12:43:46] <valexey> gds: а циклических ссылок не бывает?
[12:43:48] <gds> -cflags "-O0" может?  не знаю.
[12:44:11] <gds> с циклическими ссылками борюсь именно сохранением, переписыванием и последующим восстановлением цвета.
[12:46:05] <serp256> -cflags "-ccopt -O0" вроде так
[12:46:16] <serp256> щас собирается
[12:47:09] Kakadu вошёл(а) в комнату
[12:47:48] <valexey> гм. гм. а assert тогда зачем? т.е. если там и так стоит проверка на то, чтобы повторно не ходить туда, то как может случаться ассерт, который проверяет ровно то же самое?
[12:48:07] <serp256> результат тот же
[12:50:18] <gds> ассерт может случиться из-за ошибок алгоритма (того, который определяет, "сюда не ходи, туда ходи").  Что мы и наблюдаем.
[12:50:48] <gds> serp256: абыдна.  Буду вникать в логи вечером.  Если что, обращусь за уточнениями.
Жаль, что пощупать прогу нельзя.
[12:57:45] <serp256> Ну вообщем это главная структура, в которой типа весь мир, соответственно, весь код с ней связанный сильно разбросан по модулям, которые в сумме около 7 мб весят
[12:58:41] <serp256> я думал ее замаршалить, но сцука функциональные значения в ней
[12:59:03] <gds> ну и функции маршаллятся, см. модуль Marshal, описание флагов.
[12:59:44] <serp256> щас попробую. Ведь если баг в алгоритме, то после размаршаливания, должно воспроизводица?
[13:00:36] <gds> не факт, надо смотреть.  вдруг там зависит от взаимного расположения объектов, например.  жопа, в общем.
[13:02:04] Mon вышел(а) из комнаты
[13:02:47] <f[x]> т.е. если функции не вызывать то их можно размаршалить в левый бинарник?
[13:03:21] <f[x]> а мусорщик не проверит указатель на код (вдруг он в хип будет указывать в новом бинарнике)?
[13:12:51] Mon вошёл(а) в комнату
[13:13:20] Kakadu вышел(а) из комнаты
[13:15:47] <serp256> Exception: Failure "input_value: code mismatch" при попытке размаршалить
[13:18:26] <f[x]> а, он проверяет ещё при размаршалинге
[13:18:39] <f[x]> md5 функции вроде там хранится вместе с указателем
[13:19:14] <f[x]> "вроде" - мифы древней греции
[13:20:51] <gds> не, md5 хранится в каждом значении, содержащем функцию.
[13:29:12] <f[x]> md5 чего?
[13:29:35] <f[x]> от функции ведь хранится только указатель?
[13:35:56] <gds> md5 от образа программы.  Читают файл, пропускают заголовок (вроде), остальное хешируют.
[13:38:00] <f[x]> подозрительно сие
[13:58:10] <serp256> gds: убрал из своей струтуры функции, дабы маршалинг работал без них, и уменя objsize отлично стал отрабатывать
[13:58:34] <serp256> у меня юзался PMap - из батареек, перевел на просто Map
[13:58:54] <serp256> а PMap - хранит compare у себя в струтуре
[13:59:12] <gds> имхо не связано напрямую, разве что может "форма" дерева другая получилась случайно.
[13:59:34] <serp256> воспроизводилось 100%
[14:00:05] <valexey> напишите мелкий тестик на котором мы воспроизводилась ситуация.
[14:00:11] <valexey> и отправьте его gds
[14:01:32] <serp256> мелкий не получаеца :-)
[14:01:36] <serp256> пока
[14:03:45] <gds> ещё проблема в том, что, судя по логу, 64-битная архитектура, и даже просто переслать мне отмаршаленное значение не получится, так как скорее всего негде будет развернуть его.
[14:04:56] <serp256> маршаленное должно развернуца вроде визде
[14:05:15] <serp256> по крайней мере до сих пор не было проблем с этим
[14:06:21] <f[x]> modulo ограничения хоста
[14:13:15] <ermine> f[x]: ты куданить дебы нового камля выкладываешь?
[14:13:32] <ermine> или держишь при себе и никому не даешь?
[14:13:53] <ermine> хочу дать ссылку мужику из ocsigen team, чтобы не жаловался, что сидит в дебиане тестинге
[14:14:17] ermine нахально смотрит на f[x]
[14:17:53] <f[x]> я сам не собираю (иначе зачем дебиан), там репо отдельный есть
[14:18:31] <f[x]> http://ocaml.debian.net/debian/ocaml-3.12.0/
[14:18:50] <ermine> а там либлы тоже?
[14:21:01] <gds> serp256: давай попробуем "оптимистический патч":
--- c_objsize.c    2010-08-10 10:07:30 +0000
+++ c_objsize.c    2010-08-10 10:20:23 +0000
@@ -277 +277 @@
-   if (next_block != Val_unit && cond(f) )                             \
+   if (next_block != Val_unit && cond(next_block) )                    \
[14:22:13] <f[x]> ermine: да
[14:22:36] <ermine> f[x]: оке, а то там не хотят ocsigen под новое камло компилять
[14:23:15] <serp256> gds: я уже код расхуячил, и теперь не воспроизводица это :-), надо к старому вернуться
[14:25:33] <gds> от жаль.  Надо ведь словить багу!
[14:38:30] <serp256> напишу как попробую
[14:45:06] iNode вышел(а) из комнаты
[14:45:58] iNode вошёл(а) в комнату
[14:56:33] Kakadu вошёл(а) в комнату
[15:08:15] gds вышел(а) из комнаты: Replaced by new connection
[15:08:17] gds вошёл(а) в комнату
[15:11:59] <f[x]> serp256: это у тебя проект на 7мб камлокода?
[15:14:19] <serp256> ну вообще больше
[15:16:19] <f[x]> крут
[15:16:36] <zert> зомг
[15:16:41] <zert> а что за проект?
[15:19:14] <serp256> 1. игра для социалок "Больничка"
2. Онлайн-игра "Черновик". кода еще больше 15мб где-то
[15:19:36] <zert> респект
[15:19:51] <f[x]> а сколько человек пишет код именно?
[15:20:09] <serp256> Сейчас, на серверной части 2 иногда 3 :-)
[15:20:22] <zert> а как столько кода нагенерили?
[15:20:47] <serp256> ну долго писали, мы уже месяцев 8 пишем
[15:20:58] <valexey> игра для социалок "Больничка" -- это ghc + h@cjr
[15:21:05] <zert> :)))))
[15:21:20] <zert> зефиров главврач?
[15:21:31] <serp256> над черновиком 2 года работали 4 человека
[15:22:06] <zert> блин, это как так надо писать, чтобы столько кода получилось?
[15:22:39] <gds> Ctrl+C Ctrl+V goto 1 :]
[15:22:47] <gds> но вообще жесть.
[15:22:51] <zert> там генераторы кода небось используются?
[15:23:01] <gds> кстати, расстановка точек над ьi: http://thesz.livejournal.com/1123149.html
[15:23:16] <f[x]> может просто некоторые люди на работе работают, а не в чате треплются? ;)
[15:23:28] zert безработный
[15:24:23] <valexey> zert: зефирова в конфе вроде не замечано.
[15:24:25] <gds> f[x]: лол, как такое может быть?
[15:24:27] <valexey> так что скорее директор.
[15:25:25] <f[x]> gds: ага :)
[15:27:43] f[x] померял у себя - за год - 20 kloc на камле
[15:31:36] <serp256> Как попроще пустые строки пропустить?
[15:32:57] <f[x]> sloccount
[15:33:36] <valexey> сейчас будет статистика? ;-)
[15:33:50] <f[x]> valexey: ты у себя тоже посчитай
[15:34:20] <valexey> что именно подсчитать?
[15:34:57] <f[x]> строки кода и чата?
[15:35:14] <valexey> строки кода чего? всех проектов где я участвовал?
[15:36:15] <f[x]> кто знает как в джаббере ставится тэг irony?
[15:36:26] <serp256> Total Physical Source Lines of Code (SLOC)                = 30,960
[15:37:44] <valexey> мелочь :-)
[15:48:16] iNode вышел(а) из комнаты
[15:57:24] iNode вошёл(а) в комнату
[15:57:26] <ʇsʎɯ> gds: а ты в ЖЖ годно вбросил-то
[15:57:40] <ʇsʎɯ> тонкотролль же
[16:00:37] <gds> имхо очень толсто получилось.  разве что ахтунгами не называл их, этих милых обожателей х-я.  единственное, чем горжусь -- это сравнением хаскеля и плюсов.
[16:01:18] <valexey> да, обычно хаскель уничижительно сравнивают с жабой.
[16:01:24] <valexey> а так даже вроде как похвалил
[16:02:04] <ʇsʎɯ> нене
[16:02:13] <gds> я и не думал, что такое мнение может быть серьёзно у кого-то в голове.  шоке.
[16:02:18] <ʇsʎɯ> в самом посте было тонко
[16:02:24] <ʇsʎɯ> потом уже, конечно, разошёлся
[16:02:39] <ʇsʎɯ> а надо было помолчать и посмотреть, как они сами разосруться
[16:02:44] <ʇsʎɯ> это был бы нанотроллинг
[16:02:48] <ʇsʎɯ> сейчас модно, кстати =)
[16:03:51] <valexey> короче, я понял что хаскель это то, что нужно. коль он как С++ по сравнению с С.
[16:03:53] <gds> это да, надо было аккуратно.  но держаться более не было сил.  и взаимный срачик тоже зашибись вышел, я аж удивился.
Но самое интересное, что, видимо, мне придётся работать в одном проекте с мигелюшкой.
[16:04:02] <valexey> благо не как жаба по сравнению с С.
[16:04:16] <gds> C++ -- это всегда "не то, что нужно".
[16:04:27] <ʇsʎɯ> каким мигелюшкой?
[16:04:29] <valexey> не. это как раз то, что дохтур прописал.
[16:04:36] <ʇsʎɯ> смотри там осторожно, замондят тебя
[16:06:20] <gds> с мигелюшкой-чортиком.
[16:11:15] <ʇsʎɯ> ну и чо?:
[16:11:30] <ʇsʎɯ> на тьфускеле писать будете?
[16:12:29] <gds> да вот, после срачика как-то неудобняк вместе работать :)  Пока не знаю, на чём.  Скорее всего, от меня будет "идеологическая поддержка", чтобы они там не настругали монад всяких, а мне потом расхлёбывать.
[16:13:08] <valexey> на камле стругать будут?
[16:13:10] <ʇsʎɯ> ну ты странный
[16:13:23] <ʇsʎɯ> не посрались бы до - посрались бы в процессе
[16:13:58] <ʇsʎɯ> всяко, посраться до лучше, чем после поплёвывать в спину друг-другу
[16:14:30] valexey регулярно срётся с одним коллегой на обероновском форуме и ничо.
[16:15:49] <valexey> а что же, есть ли в камле аналог сишных структур или тех же обероновских RECORD'ов?
[16:16:06] <valexey> или же кортэжи это тупо ArrayList'ы?
[16:16:19] <gds> сишные структуры -- record'ы в окамле.
[16:16:34] <ʇsʎɯ> gds: ты, главное, не переставай сраться
[16:16:42] <valexey> т.е. туда можно положить не указатель на что-то в хипе, а прям таки значение?
[16:16:43] <ʇsʎɯ> он тогда будет думать, что так и должно было быть
[16:17:10] <gds> myst, ок, обязательно.  Нужна тема для следующего вброса.
[16:17:44] <gds> valexey: ну как это.  Если значение unboxed, то оно прямо туда и положится, если boxed, то будет укозатель.
[16:17:45] <f[x]> нет не можно, аналогов нет
[16:18:13] <valexey> эмм.. так можно или нет? ;-)
[16:18:28] <valexey> вот в хаскиле неможно
[16:18:39] <ʇsʎɯ> так тонко сформулировать я сейчас не могу, но мне всегда терзала мысль, зачем отделать зёрна от плевел и вводить монды, если ни одна сколько-нибудь сложная программа не пишется без монд
[16:19:03] <gds> надо подумать про мандатру.
[16:19:09] <ʇsʎɯ> более того
[16:19:26] <valexey> можно прочмырить хаскелистов генерацией псевдослучайных чисел :-)
[16:19:34] <ʇsʎɯ> чуть менее, чем весь код пишется в стиле "do и погнали"
[16:19:40] <ʇsʎɯ> в качестве примера: RWH
[16:19:55] <valexey> System.Random в 30 раз сливает по скорости биндингу к сишному генератору :-)
[16:20:27] <valexey> так что быстро заполнить массив случайными числами -- не тривиальная задача таки.
[16:20:38] <valexey> ах да, массив ведь нам тоже мутабельный нужен.
[16:20:45] <valexey> и, желательно, с Fusuin'ом.
[16:20:55] <valexey> инача сливаем ещё раза в три (без fusion'a)
[16:21:05] <f[x]> и желательно обсуждать haskell в h@cjr
[16:21:13] <f[x]> не в первый раз предупреждаю
[16:21:27] <valexey> а я не обсуждаю. я идеи выдвигаю.
[16:21:49] <valexey> [16:17:09] <gds> myst, ок, обязательно.  Нужна тема для следующего вброса.
[16:22:41] <f[x]> ок, тогда перемещайтесь в haskell-haters@
[17:25:34] iNode вышел(а) из комнаты
[17:31:07] gds вышел(а) из комнаты
[17:55:43] gds вошёл(а) в комнату
[17:55:50] SV0L0CH вошёл(а) в комнату
[17:56:36] <SV0L0CH> что-то не могу с потоками разобраться
[17:57:08] <gds> а конкретнее?
[17:57:22] <SV0L0CH> [<>];;(* выдаёт синтаксическую ошибку *)
[17:58:07] <SV0L0CH> или с тех пор как писался тот учебник успел синтаксис поменяться?
[17:59:47] <gds> http://pastebin.com/rhaRE1hp
[18:00:23] <gds> т.е. надо догрузить парсер синтаксиса потоков.
[18:01:13] <SV0L0CH> понятно
[18:01:32] <gds> но это для original syntax, а вот как в revised этот синтаксис использовать -- сходу не подскажу.
[18:01:35] <SV0L0CH> правда в учебнике про это нет, ну и ладно
[18:02:05] <gds> а хз, может действительно изменилось что-то за последнее время, не помню.
[18:03:16] <SV0L0CH> # #use "topfind";;
Cannot find file topfind.
[18:03:32] <gds> надо findlib поставить.
[18:03:33] <SV0L0CH> не нравиться мне это дело :-/
[18:03:51] <gds> "у меня всё работает" :]
[18:04:36] <SV0L0CH> есть что-то на подовие cpan/cabal/easy_install ?
[18:05:39] <gds> есть godi, но я не пользовался ею.  findlib -- штука более простая, её дело лишь управлять библиотеками (установить/удалить/узнать пути и опции).
[18:08:15] <SV0L0CH> пакет ocaml-findlib нашелся, будем ждать пока поставиться
[18:09:17] <SV0L0CH> есть есчё вопрос по поводу Printf.printf
[18:09:29] <SV0L0CH> это шаблон/макрос?
[18:10:21] <valexey> это грязный хак
[18:10:59] <SV0L0CH> то что это грязный хак, я уже понял, вопрос в том как сделать такой же %)
[18:11:58] <f[x]> можно и без topfind, руками только зависимости придётся загружать - #load "dynlink.cma";;  #load "camlp4{o,r}.cma"
[18:14:00] <gds> без topfind можно, но лучше сразу поставить его, по-любому пригодится.
[18:14:09] <gds> сделать такой же -- зачем?
[18:14:22] <SV0L0CH> шото я не понял, библиотека подгружается, но на синтаксис всёравно ругается
[18:14:49] <valexey> SV0L0CH: это хак на уровне языка. так же сделать -- очень сложно, либо невозможно.
[18:14:53] <valexey> насколько я тогда понял
[18:14:56] Kakadu вышел(а) из комнаты
[18:15:14] <SV0L0CH> забыл camlp4o подгрузить
[18:15:32] <f[x]> так же сделать на уровне camlp4 элементарно
[18:16:56] <SV0L0CH> синтаксис распознало, хоть как оно работает я так и не понял...
[18:19:09] <SV0L0CH> тут явно что-то ВЛАСТИ СКРЫВЮТ^W^W есть наподобие макросов и шаблонов :-/
[18:19:10] <gds> а ещё можно не как принтф, а по-другому, http://www.brics.dk/RS/98/Abs/BRICS-RS-98-Abs/BRICS-RS-98-Abs.html#BRICS-RS-98-12
[18:19:38] <gds> не, с printf всё гораздо проще.  никаких макросов/шаблонов.
[18:21:26] <valexey> SV0L0CH: макросы (аля сишные) тут используются широко. привыкай :-)
[18:21:49] <gds> valexey: отвечай за бозар!111111
[18:23:29] <SV0L0CH> valexey: дай пример как их писать
[18:24:46] <valexey> нидам. я их не люблю
[18:25:33] <SV0L0CH> я их тоже не люблю, но дело не в этом...
[18:26:09] sceptic вошёл(а) в комнату
[18:38:14] <SV0L0CH> в учебнике есть примеры с Graphics
[18:38:22] <SV0L0CH> как его задействовать?
[18:38:47] <SV0L0CH> надеюсь это на основе SDL
[18:40:18] <f[x]> зря надеешься
[18:40:52] <SV0L0CH> неужели gtk :-O
[18:41:18] <f[x]> теплее
[18:41:54] <valexey> xlib!
[18:42:25] <valexey> и графикс есть рулез в плане простоты. для таких вот программок -- самое оно.
[18:42:37] <valexey> в иных языках с этим хуже
[18:42:54] <f[x]> X11/gdi
[18:43:58] <SV0L0CH> код в интерпретаторе от кода в прогах для компиляции вообще идентичен?
[18:44:22] <valexey> вроде бы да. кроме макросов.
[18:49:42] <SV0L0CH> всмысле, коммитлить можно с теми же #use  и прочеми?
[19:02:38] <f[x]> нет
[19:36:55] ʇsʎɯ вышел(а) из комнаты
[19:54:33] iNode вошёл(а) в комнату
[20:05:32] <SV0L0CH> а json и xml на уровне синтаксиса поцепить можно?
[20:07:45] <gds> xml -- см. ocamlduce, json -- вроде да, надо гуглить по "ocaml json" (там json_wheel + json_static вроде), но не пользовался.
[20:09:50] <SV0L0CH> тоесть в принципе особых проблем с портированием кода с жабоскрипта быть не должно
[20:10:10] <SV0L0CH> я правильно понял сложившеюся ситуацию?
[20:12:21] <SV0L0CH> ocamlduce в пакетах нашлось
[20:13:35] <SV0L0CH> только оно не собралось :(
[20:14:09] <ermine> json-wheel, json-static
[20:14:18] <gds> а вот не знаю насчёт проблем.  Смотреть надо.  Проблемы обязательно будут, я оптимист!
[20:15:46] <ermine> gds: любишь проблемы?
[20:16:10] <ermine> gds: проблемы - это признак деградации
[20:16:49] <gds> а решение проблем -- признак рабочего мозга.
[20:17:35] <ermine> скорее обнаруживание регрессии
[20:20:24] <gds> проблемы возникают сами по умолчанию.  Обычно как следствие людской тупости или меняющихся обстоятельств.  Поэтому я прагматик: доволен тем, что некоторые проблемы умею решать.
[20:22:16] <ermine> каждый раз повторяя одни и те же решения
[20:25:07] <SV0L0CH> люди не нужны! слава экспертным системам!
[20:27:47] <ermine> а они сами себя порождать уже умеют, чтобы избавиться от человеческого фактора?
[20:29:09] <gds> я не одни и те же решения повторяю, я прогрессирую, и на проблемах многому учусь.  Без проблем было бы уныло.
Впрочем, я слегка в оффтопик залез.  Ну или как посмотреть -- окамл и проблемы близки кое-где.
[20:30:04] <zert> SEO: ocaml, проблемы, могилы, смерть, кладбище, болезнь
[20:38:21] SV0L0CH вышел(а) из комнаты
[21:38:23] valexey_ вошёл(а) в комнату
[22:03:16] SV0L0CH вошёл(а) в комнату
[22:14:36] Kakadu вошёл(а) в комнату
[22:24:07] gds вышел(а) из комнаты
[22:47:52] ygrek вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!