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

GMT+4
[00:03:43] ygrek вышел(а) из комнаты
[00:07:57] sevenov вошёл(а) в комнату
[00:36:54] Typhon вышел(а) из комнаты
[07:39:02] john вошёл(а) в комнату
[08:09:34] gds вышел(а) из комнаты
[08:58:14] gds вошёл(а) в комнату
[09:39:42] Typhon вошёл(а) в комнату
[10:09:05] ygrek вошёл(а) в комнату
[10:20:19] f[x] вошёл(а) в комнату
[10:50:06] aloner2k вошёл(а) в комнату
[10:57:23] animist вошёл(а) в комнату
[14:38:26] Typhon вышел(а) из комнаты
[14:57:03] ygrek вышел(а) из комнаты
[15:21:25] john вышел(а) из комнаты
[15:49:12] <ermine> gds: какую ссылку мне повесить на страничке http://camlunity.ru/?
[15:53:46] <gds> <a href="http://gdsfh.dyndns.org/kamlo/">Временное место проживания вики Camlunity</a>
наверное.
[15:57:15] <f[x]> btw, http://repo.or.cz/w/camlunity.git
[15:57:59] <gds> ermine: есть контакт!
[15:58:01] <sceptic> ermine: кодеровку
[15:58:03] <gds> f[x]: буду смотреть.
[15:58:05] <f[x]> кто хочет коммитить - давайте логины
[15:58:15] <ermine> да вроде уже
[15:58:18] <f[x]> смотреть там не на что
[15:58:20] <sceptic> во.
[15:58:22] <gds> я был бы не прочь иметь возможность коммитить.
[15:58:31] <gds> логин ща будет.
[15:59:51] <ermine> f[x]: net? ocsigen? (ревниво так) :)
[16:01:05] <f[x]> ermine: обсуждали уже - net
[16:01:31] <ermine> а
[16:04:37] <gds> f[x]: во туплю. коммиты у меня под реалнеймом, пороль есть только на проект (допустим, на ocaml-dbf). что является логином?
[16:04:52] <f[x]> видимо реалнейм
[16:05:16] <f[x]> как у тебя git remote -v выглядит?
[16:05:19] <f[x]> в ocaml-dbg
[16:05:21] <f[x]> * dbf
[16:05:58] <gds> origin ssh://repo.or.cz/srv/git/ocaml-dbf.git
странно чото.
[16:06:23] <f[x]> а локальный логин - gds?
[16:06:31] <gds> да.
оно, значит?
[16:06:32] <f[x]> о, посомтри список member'ов в проекте
[16:07:07] <gds> "gds", верно.
[16:07:36] <f[x]> ок
[16:11:53] ygrek вошёл(а) в комнату
[16:14:40] <f[x]> gds: done
[16:14:58] <f[x]> можешь с моим кодом не церемониться
[16:15:03] <f[x]> :)
[16:26:20] <gds> по ссш склонировалось даже до того, как ты сказал done. видимо, read-only ssh доступ есть у всех пользователей, чьи public-ключи известны.
насчёт церемоний -- буду мягко и нежно. то, что уже продумано, буду потихоньку пропихивать.
но, чую, суммарно по количеству проектов я слишком много взял на себя, поэтому ещё разгребать текущее надо.
[16:35:43] <ermine> gds: ты свои проекты вешай на кмлюньити
[16:35:48] <ermine> оверблды всякие
[16:36:01] <ermine> всю свою помойку вали на новый сайт
[16:36:10] <ermine> чтобы место пусто не было :)
[16:37:04] <gds> ermine: будет сделано!
в вику пропишу урлы до репозиториев.
[16:38:15] <ermine> gds: да не воспринимай новый сайт чисто как вики
[16:38:33] <ermine> я про вики говорила про удобный механизм вялого заполнения контентом
[16:39:46] <gds> но если удобно хранить и заполнять контент именно воспринимая как вики, почему бы и нет. будет статья вики (ака страница сайта) "проекты, которые нашими силами".
[16:41:13] <ermine> ну мне пофиг
[16:44:24] <gds> идею понял.
кстати, если сочтёшь, что мне неплохо бы финансово поучаствовать в домене+хостинге, сообщи. пока есть лишние деньги, можно и на доброе дело пустить их.
[16:52:56] <ermine> пока не считаю, оно мне в 600 руб обошлось
[16:55:13] <ermine> хостить там же где и сайты jabber.ru буду, на следующей неделе железо сервера обновляется, я планирую поднять там ocsigen и чтонить с ним делать :)
[16:55:28] <ermine> даже если его для камлюнити отвергнут
[16:56:06] <f[x]> я считаю кто раньше встал - того и тапки
[16:56:12] <f[x]> что первое работающее будет - то и будет
[16:56:28] <gds> ocsigen это круто, но это слишком alien technology имхо.
[16:56:49] <gds> то есть, если ocsigen разовьётся и будет жить -- это будет очень хорошо, в целом.
[16:57:44] <ermine> не, ocsigen, если не трогать ocsimore - приятная игрушка
[16:58:05] <ermine> вот в ocsimore надо копаться, почти как в camlp4 или почти хуже, потому что нет документации
[16:58:26] <ermine> я могу написать начальную схему движка, чтобы было с чего-то начать
[16:58:55] <ermine> в начальной схеме движка будут логин и POST для запощивания чего нить
[16:59:18] <ermine> из этого можно легко сделать само вики, дальше надеюсь и так поедет
[16:59:30] <ermine> при этом я буду комментировать в этом же вики
[17:00:43] <ermine> только вот надо все же определиться, что мы трогаем - укрегов net или пробуем ocsigen по моей схеме
[17:01:19] <ermine> а то, если тут уже прикипели к net, то мне незачем перетягивать в ocsigen
[17:01:51] <ermine> переформулирую вопрос
[17:02:11] <ermine> Будет ли кому-нибудь интересно, если я напишу стартовую схему нового движка?
[17:02:41] <f[x]> В ocsigen сразу много чего готового есть, это плюс.
[17:03:42] <ermine> это ты про ocsimore?
[17:04:56] <f[x]> Распыляться не хочется. Но мне по всей видимости частично пригодится ocamlnet'овский вариант по работе, т.к. ocsigen пока стрёмно тянуть. Получается более низкоуровнево, но более надёжно, что-ли. Ну и NIH конечно
[17:05:00] <gds> для камлунити -- не знаю. конечно, оно интересно, но смешивать хтмл и код в одном месте не очень хотелось бы. изменение дизайна = переписывание кода. с другой стороны, модные фишечки и прочая функциональность как бы неплохи.
но лично мне для других целей понадобится тупая, дубовая штука под окамлнет, и мне было интересно, если бы удалось мою штуку отрефакторить из веб-хрени, работающей под окамлнет.
[17:05:58] <f[x]> ermine: скорее про eliom, я имею ввиду сессии и функции-хэндлеры
[17:06:25] <f[x]> а мне это надо будет руками всё делать
[17:10:11] <ermine> gds: посмотри в движок, который ты только что поставил для камлюнити, найди там пожалуйста html чистую без вставок <?php?>
[17:10:42] <ermine> gds: и сколько ты там таких несмешанных хтмл и кода файлов найдешь?
[17:12:06] <ermine> gds: это формулировка у тебя, простите, клишеобразная, поскольку речь идет таки о том, что в moinmoin этот код смешан в динамически подгружаемых файлах, в ocsigen - вкомпилен в файлы, который (ой!) тоже динамически подгружаются
[17:13:04] <f[x]> ermine: имеется ввиду что сферический дизайнер в вакууме сможет редактировать html с <?php?>, но не XHTML.M
[17:14:23] <ermine> f[x]: ну сферический не валидирует, да :) В XTML.M валидация такая, что и я сама встаю в тупик
[17:14:51] <ermine> f[x]: кроме того, я предпочитаю не xtml.m, а ocamlduce, там все еще злобнее
[17:14:57] <gds> ermine: мойн на петоне, там нет <?php?>. кстати, сходу не могу его код вообще найти :)
[17:15:11] <ermine> f[x]: неужели не хочешь получить такой экспериенс вживую?
[17:15:44] <ermine> gds: я ошиблась с языком
[17:15:47] <gds> в мойне код может и смешан, тут я не знаю. там, где я буду делать, код и хтмл будут разделены. связь -- динамическая, по переменным подстановки.
[17:15:54] <ermine> gds: а там хтмл файлы вообще есть?
[17:16:26] <gds> нормальный дизайнер кстати валидирует. и можно ограничиться валидацией шаблона в большинстве случаев.
[17:16:45] <gds> в /var/www/kamlo -- нет ни одного *.htm*
[17:18:21] <gds> в /usr/share/moin тоже ничего интересного. хрень какая-то.
[17:18:30] <f[x]> у нас валидируют
[17:18:42] <f[x]> ocamlduce я ещё не щупал
[17:22:54] f[x] собирается писать биндинги к curl_multi_* api, а мейнтейнера ocurl'а похоже f# так увлёк что он даже на багрепорт не отвечает..
[17:23:14] <f[x]> но кстати в f# async workflows выгляжит заманчиво
[17:23:37] <f[x]> интересно насколько реально такое на camlp4 замутить
[17:23:54] <f[x]> * выглядят
[17:24:29] <gds> есть сэмплы под рукой?
[17:25:52] <f[x]> http://blogs.msdn.com/dsyme/archive/2007/10/11/introducing-f-asynchronous-workflows.aspx
[17:26:48] <gds> так это же jocaml!
[17:27:31] <f[x]> ты let! видел?
[17:27:34] <f[x]> не думаю
[17:28:35] <f[x]> по-моему это немного другое
[17:29:31] <gds> а, ну да. подумаю.
[17:31:08] gds вышел(а) из комнаты
[17:33:31] <ermine> значит, есть смысл написать стартовую схему движка, чтобы лузеры оценили [нужное вписать]
[17:35:24] <ermine> надо заняться на досуге
[17:36:00] <f[x]> разве кому-нибудь когда-либо удавалось отговорить пьяных пионеров? :)
[17:36:46] <ermine> более пьяные пионеры?
[17:37:45] <f[x]> :))
[17:38:06] <ermine> а вот в ocsigen рулит pgsql из-за camlp4, придется юзать постгрес
[17:40:13] ermine ищет где в этом гребаном мойне создать новую тему ocsigen
[17:41:10] <f[x]> <shameless plug>а у меня sqlgg рулит и для mysql и не только для камля</shameless plug>
[17:41:39] <f[x]> camlp4 впрочем надо ещё прикрутить
[17:42:01] <ermine> если его к lwt можно подключить, то и в ocsigen тоже можн будет заюзать
[17:43:02] <f[x]> это надо проверять
[17:43:15] <f[x]> кстати, как там sulci поживает?
[17:47:05] <ermine> забила пока на время, непонятно как к муку пристегивать
[17:55:26] sceptic вышел(а) из комнаты
[18:00:56] sceptic вошёл(а) в комнату
[18:04:43] gds вошёл(а) в комнату
[18:18:54] <f[x]> mantis +1
[18:19:05] f[x] что-то зачастил
[18:20:04] <gds> про F# -- async + let! несложно пишутся поверх thread pool кстати. только нужны weak references, чтобы мусорщик подчищал ненужные задания, но это мелочи.
[18:20:39] <f[x]> они и реализованы на thread pool
[18:20:51] <f[x]> там фишка в том что cps выглядит как линейный код
[18:21:58] <gds> дык такое можно не только как cps реализовать. просто сделать так, чтобы let! блокировался до вычисления выражения.
[18:23:30] <f[x]> блокирования низя
[18:24:07] <gds> в окамле только с блокированием и получится.
[18:24:15] <gds> ну хотя не совсем.
[18:24:19] <f[x]> почему это?
[18:24:30] <gds> если известно, как ждать и кого ждать, то получится select() и аналоги.
[18:24:38] <f[x]> асинхронно. да хоть и в одном потоке.
[18:24:40] <f[x]> да
[18:24:53] <gds> но тогда будет точно cps, верно.
[18:27:34] <gds> ermine: там дебилизм с мойном. точнее, я не настроил ещё удобства. сейчас новую статью создавать криво: Find Page -> Перейти к странице -> http://gdsfh.dyndns.org/kamlo/Ocsigen и смотри, что нужно.
[18:28:49] <gds> насчёт баз данных -- конечно, pgsql (или как там его) это круто, но есть и претензии к этому делу. Я буду выдумывать какой-нибудь ocamldbi2, или хз что.
[18:29:03] <gds> про мантис -- верно, макросы нужны.
[18:30:19] <f[x]> разоблачение: gds не любит всё высокоуровневое и типобезопасное. Подрывает устои понимаешь-ли.
[18:31:34] <gds> вот чорт. Теперь вы всё знаете про меня, и мой хитрый план провалился!
[18:32:28] <gds> следующим шагом я думал убедить всех, что в окамле не нужна сборка мусора, а затем и типизация вообще.
[18:34:01] <gds> ну что ж, у меня есть другой план, ещё хитрее. Безопасный и валидный html посредством ocsigen -- это круто! Но безопасный и гарантированно рабочий код -- это ведь гораздо круче! Берём Coq или Agda, пишем сайт в них, экспортируем в нужный ML-диалект и имеем гарантию работоспособности!
[18:35:02] <ermine> gds: ну ладно
[18:35:21] <gds> coq наголо!
[18:36:29] <ermine> this page does not exists
[18:36:43] <gds> Create new empty page
[18:36:45] <ermine> а, предлагается так создавать?
[18:36:59] <gds> пока да. Потом разберусь, а то явно дебилизм.
[18:37:17] <f[x]> по-моему ок - так все вики работают
[18:37:41] <gds> хотя можно отчасти понять их: сначала по правилам хорошего тона надо всё же поискать сначала, чтобы не было дублирования информации.
[18:43:53] <gds> кстати вот, тонкий момент касаемо преобразования cps -> let. (вдруг кто захочет делать, чтобы учитывали.) Недавно узнал (тапл рулит). В общем случае, let a = b in c -- не эквивалентно (fun a -> c) b (с точки зрения типизации). Эта неэквивалентность называется let-полиморфизм.
# value () = let d x = ignore x in (d 0; d "");
# value () = (fun d -> (d 0; d "")) ignore;
This expression has type string but is here used with type int
#
[18:44:44] f[x] шарит
[19:06:27] ermine погрязла в camlp4
[19:06:47] <ermine> а кто это дорисовал мой camlp4 в вики?
[19:06:57] <ermine> красиво так дорисовал
[19:07:12] <gds> йа
[19:07:16] <ermine> только забыл первую строчку дорисовать
[19:07:31] <gds> уже понял по диффу :)
[19:08:32] <ermine> gds: как там делать ссылку <a href="...">rwlap</a> - прямо как хтмле или как?
[19:08:48] <gds> ща скажу
[19:09:13] Typhon вошёл(а) в комнату
[19:09:43] <gds> в примерах показали так: [[http://moinmo.in/|MoinMoin Wiki]]
[19:13:25] <Typhon> gds, не забывай, меж тем, писать в вики то, что ты сейчас про let писал
[19:13:40] <ermine> gds: посмотри как паршиво получилось
[19:13:58] <gds> Typhon: та я думал, что это все знают :) Ща закину.
[19:14:27] <Typhon> таблицу умножения тоже все знают, но ее пишут ж :)
[19:15:13] <gds> ermine: эфпячка-эфпячка! "|" надо между.
[19:15:43] <ermine> охщи
[19:16:43] ermine кисло смотрит на закорючку перед ссылкой
[19:17:15] <ermine> gds: ты еще займись рассмотрением стандартов синтаксиса вики для нового сайта :)
[19:17:34] <ermine> bbcode явно проще, но местами не сахар
[19:17:43] <ermine> и тоже не стандартизованы
[19:17:54] john вошёл(а) в комнату
[19:18:53] <f[x]> btw, http://stackoverflow.com/questions/1559701/cms-in-functional-programming-language
[19:18:54] <Typhon> комменты в духе "ocsigen знаменит тем, что верстальщики должны иметь PhD в computer science" оставить для лурка? :)
[19:19:13] <gds> закорючка нехай будет, не проблема, зато показатель внешней ссылки.
синтаксис -- ой-вэй... я-то уже придумал его :]
[19:21:20] <Typhon> s-expr? )
[19:21:32] <ermine> Typhon: а оно почти что так и есть - похоже что ocsigen пишут ради диссертаций, это например явно указано в яваскриптной приставке к ocsigen
[19:22:02] <Typhon> ermine, ну я в смысле в таком духе стоит писать или не?
[19:22:54] <ermine> Typhon: а что, уже есть дизайнер?
[19:23:08] <gds> Typhon: более того, не только s-expr, а ещё и лямбда-исчисление, макросы и quasiquoting инсайдэ, ну и с гарантиями завершимости.
[19:23:22] <ermine> Typhon: ты - дизайнер?
[19:23:28] <Typhon> ermine, нет :)
[19:23:33] <ermine> "за козла" отвечать не будем
[19:24:02] <gds> Typhon: имхо, лучше как-нибудь пообъективнее. У меня нет и не будет PhD, но сверстать смогу при желании.
[19:24:31] <ermine> Typhon: имхо ты обсуждаешь проблему, о которой знаешь понаслышке
[19:24:49] <ermine> как и gds , это я уже поняла после того, как подтвердил, что у мойна нет хтмл файлов
[19:25:13] <Typhon> ermine, я пока не обсуждаю, задал вопрос про тон заметок в вики ;-)
[19:25:17] <gds> ну почему же нет html-файлов. может я плохо искал.
[19:25:17] <ermine> от дизайнера требуется в основном ковырять в css файлах, а они палюбому отдельно (ну не палюбому, но можно)
[19:25:51] <ermine> gds: нету их, уверяю я тебя
[19:26:11] <ermine> вы лучше скажите - дизайнер должен знать яваскрипт?
[19:26:41] <ermine> в яваскрипте можно вставлять ноды в хтмл, изменять стили по щелчку и так далее
[19:26:43] <gds> ну и что с того, что нет. я же не говорю, что мне нравится, как мойн работает. я говорю, что мне не нравится, как ocsigen работает. а это вещи разные.
[19:27:05] <ermine> имхо верстальщики теперь встречаются только в типографиях
[19:28:02] <Typhon> м, ну я разделяю в вебе: рисовальщика, клиент-сайд и сервер-сайд. и вот клиент-сайт должен верстать и джаваскрипт уметь.
[19:28:04] <ermine> а еще дизайнер рисует в фотошопе готовый вид сайта
[19:28:55] <ermine> а прикручивать его идеи вынужден только специалист, понимающий в css, javascript и прочих хитрых технологиях
[19:29:01] <f[x]> ermine: у нас дизайнер знает жабаскрипт и понемножу php
[19:29:04] <ermine> теперь начинайте возражать
[19:29:48] <ermine> f[x]: это подтверждает, что у вас верстка смешана с кодом
[19:30:05] <f[x]> а я вообще не в курсе что там за код и вёрстка :)
[19:31:13] <ermine> окд - это вставка в хтмл изменяемых слов
[19:31:15] <f[x]> интересно сколько тут людей которые вообще делали сайты начиная от бэкенда и заканчивая пользовательским интерфейсом. я - нет, поэтому и не спорю.
[19:31:19] <ermine> в ocamlduce точно так же
[19:32:40] <ermine> пора варить гречневую кашку
[19:34:11] ermine спец только по навешиванию лапши на уши
[19:34:15] <gds> если использовать шаблонизатор, хтмл отделён от кода.
[19:35:00] <ermine> в каком смысле?
[19:37:17] <gds> <p>Привет, $username!</p>
[19:37:52] <gds> http://gdsfh.dyndns.org/kamlo/Typing
[19:40:29] <ermine> можно использовать синтаксис вики для отделения синтаксиса от кода
[19:40:48] <ermine> в ocsigen нет темплейтов, но разве это помешает пьяным пионерам?
[19:41:16] <gds> им, как я уже понял, ничего не помешает. главное, чтобы им хоть что-нибудь помогло :)
[19:42:22] <ermine> бейлиз!
[19:44:07] <f[x]> кстати, кто-нибудь чётко знает - можно ли эти темплейты туда вкрутить?
[19:44:17] <f[x]> plain text то статикой он отдавать умеет наверное?
[19:44:31] <f[x]> ну точно так же путь отдайт plain text но с html mime, и всё
[19:48:53] <f[x]> в ocurl вообще внутренности страшненькие, O(кол-во хэндлов) почти на каждую операцию непонятно зачем. Мне пока это не важно, но странно
[19:49:28] <ermine> f[x]: темплейты - это таки типа <?php ...?>
[19:50:06] <ermine> а в случае с ocsigen можно держать в базе текст в каком-нибудь структурированном виде (как вики)
[19:50:45] <f[x]> наверное, вопрос в принципиальной возможности назвать произвольную тсроку html'ем (от чего защищает XHTML.M)
[19:50:47] <ermine> некоторые дураки генерят контент на выдачу юзеру из этой базы на каждый чих, некоторые умные печатают страницу и отдают юзеру готовый файл .html
[19:52:06] <ermine> печатать страницу надо сразу после сабмита изменений, а не когда страницу запросят
[19:52:32] <ermine> это труднее, но так выживают крупные сайты
[19:58:28] <ermine> gds: а как в етом мойне на одной странице иметь несколько edit блоков?
[20:01:46] <gds> не всегда нужно печатать страницу. от сайта зависит.
[20:02:34] <ermine> зависит от посещаемости только
[20:03:06] <ermine> но какой солдат не таскает жезл маршала в своем ранце?
[20:04:22] <gds> не только от посещаемости, а ещё от вида контента. уверен, поисковики так не делают.
[20:05:06] <gds> есть "подстраницы" -- http://gdsfh.dyndns.org/kamlo/HelpOnEditing/SubPages
[20:06:46] <gds> не, подстраницы это вроде не то.
[20:07:02] <ermine> gds: меня пара крупных сайта (известных) заверила, что контент надо держать в статике, и только статике, и никаких "но" не бывает
[20:07:39] <gds> это их предубеждённость.
[20:07:57] <ermine> ну основанные на богатом опыте
[20:08:18] <ermine> gds: а у тебя опыт есть? :))
[20:08:32] ermine предпочитает не спорить с более опытными
[20:10:30] <gds> если у них весь контент статичен, то пусть держат в статике сколько влезет.
если контент в основном динамический и зависит от многого, то в статику не запихнёшь его.
есть и компромиссы между обоими вариантами.
по крайней мере, я использовал все три подхода, когда мне было нужно, и понял, что держать контент только в статике не всегда приемлемо.
[20:10:33] <f[x]> можно просто посчитать сколько времени занимает генерение страницы и сколько хитов это даёт
[20:11:03] <gds> а ещё можно генерировать лениво.
[20:11:29] <gds> (что слегка напоминает reverse proxy)
[20:11:59] <ermine> ладно
[20:12:12] <ermine> скажу, что один из сайтов - это udaff.com
[20:12:18] <gds> а ещё можно вынести независимые от окружения вещи в отдельные блоки, генерировать их один раз, и на некоторое время сохранять в кеше. это кстати тоже хочу предусмотреть.
[20:13:10] ermine пошла биться об camlp4 дальше
[20:14:04] <gds> не всё на удаффе генерируется статически. уверен, залогиненным юзерам отдаётся другая хтмл, без формы ввода логина-пороля. (проверять не хочу)
[20:14:36] <gds> (то есть, не всё генерируется так, чтобы потом отдавать статически)
[20:16:06] <ermine> юзеры вставляются через ssi
[20:16:30] f[x] думает не пора ли заводить ocaml-talks@..
[20:17:36] <gds> имхо -- не пора. при желании обосную.
[20:17:53] <ermine> а кто там будет сидеть?
[20:19:35] <f[x]> а эти самые, специалисты по udaff'у
[20:19:46] <f[x]> и прочим хтмлям
[20:28:59] john вышел(а) из комнаты
[20:32:10] <ermine> уф, слегка пабедила
[20:37:12] f[x] вышел(а) из комнаты
[21:04:29] Typhon вышел(а) из комнаты: Replaced by new connection
[21:04:32] Typhon вошёл(а) в комнату
[21:21:31] animist вышел(а) из комнаты: Replaced by new connection
[22:45:59] sceptic вышел(а) из комнаты
[23:32:16] lorijinabare вошёл(а) в комнату
[23:32:37] lorijinabare вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!