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

GMT+3
[00:20:45] Typhon вышел(а) из комнаты: Replaced by new connection
[00:20:48] Typhon вошёл(а) в комнату
[00:24:59] <Typhon> тут недавно пробегала информация о модулях, как first-class values, кажется. А откуда такие новости берутся? просто закрытые issue в мантисе или есть консолидированные места, о которых я не знаю? еще что-то пробегало недавно про доступ к полям рекордов без точек, кажется, это с чем было связано не напомнит никто?
[00:25:54] <sceptic> рассылка?
[00:26:32] <Typhon> sceptic, я fa.caml получаю вроде. то ли не замечаю, то ли еще есть :)
[00:27:33] <Typhon> еще есть вопрос про кодинг стайл и все такое, есть ли развернутое описание как надо и как не надо оформлять код камлевый? и есть ли рекомендации по такой вещи: есть файл, там вверху пишу открываемые модули и видно сразу, что используется, но есть модули, которые не могу открыть из-за пересечения имен и обращаюсь к их содержимому полностью. нужно ли как-то показывать, с какими модулями я работаю, чтобы сразу видно было? или всем пофиг?
[00:32:41] <gds> Typhon: наша редакция отвечает за базар.
modules as first-class values -- ygrek браузил vcs с исходниками окамла и заглянул в changes + tests, если брать путь наименьшего сопротивления.
Доступ к полям записей без точек -- это просто паттерн-матчинг записей {field_name = bind_to_this_ident}, в описаниях паттерн-матчинга должно встречаться.
coding style -- есть для original syntax, могу поискать если надо. В целом же, писать нужно так, чтобы было понятно. Если приемлемо, лучше сделать open в начале модуля и там же module rebinds: module U = Unix например. Лично мне так удобнее, в среднем. Но бывает, что сильно отступаю от этого, причём сознательно. Главное -- чтобы безопасно и понятно было.
[00:33:39] <Typhon> про поля без точек я не то имею ввиду, новость недавно проскакивала, вроде
[00:33:54] <gds> тогда не знаю.
[00:34:06] <Typhon> на которая была реакция "поменьше точек в рекордах будет" что-то вроде
[00:34:30] <gds> в чятике?
[00:34:34] <Typhon> ага
[00:34:37] <Typhon> ссылку неплохо было бы :)
[00:34:51] ygrek вышел(а) из комнаты
[00:34:53] <gds> и я-то думал, что очень внимательно читаю всё.
[00:35:12] <Typhon> про module rebinds были мысли, не знал насколько кошерно
[00:36:01] <Typhon> про рекорды есть вероятность, что я попутал
[00:37:00] <gds> есть небольшой runtime cost у module A=B, но удобства сильно перекрывают. И короткое имя, и случаи, когда нужно найти и опционально заменить случаи использования модуля.
[00:41:00] <Typhon> а насколько нормально использовать module A = A, чисто чтобы сразу было видно все?
[00:47:05] <gds> как по мне, module A = A ничего не меняет: создаётся копия модуля A, известная под локальным именем A. Использование не меняется. Для целей около-рефакторинга -- тоже пользы мало. Допустим, было у меня module U=Unix и далее U.recv, а мне надо было избавиться от модуля Unix. Так я убрал module U=Unix, и дальше компилятор показал, где используются значения U.* в коде.
То есть, я использую компилятор для проверки правильности некоторых высокоуровневых вещей, наподобие "в коде используется такой-то модуль", и использую для этого module rebinds и подобные штуки.
Если же это не нужно (т.е. допускаю, что это мои заморочки), можно не париться по этому вопросу, и писать Unix.recv например.
[00:50:13] <Typhon> module A = A нужно, теоретически, чтобы увидеть какие модули используются в файле и при этом не хочется абракадабры аббревиатурные делать
[00:58:10] <gds> да, в этом есть смысл. Но это на уровне комментариев, что ли. Отличие в том, что статически проверяется наличие данного модуля, разве что.
[01:12:28] <Typhon> http://caml.inria.fr/resources/doc/guides/guidelines.en.html это как кодинг стайл -- нормально?
[01:20:35] <gds> ох, у меня уже на первых страницах появились расхождения с этим стилем, но: 1. мне нравится revised syntax, а мелочи, которые пишу в original syntax, нет смысла согласовывать с coding style. 2. формализовывать свой стиль -- смысла мало, так как он логичен, но только для меня, и другие люди недоумевали с его непривычности, и, благодаря им, я избавился от необходимости его формализации. 3. а ведь можно попробовать описанное. Посмотреть, где возникнут расхождения, а дальше подумать над ними.
[04:13:11] Typhon вышел(а) из комнаты: offline
[05:11:02] sevenov вышел(а) из комнаты
[10:12:04] sevenov вошёл(а) в комнату
[11:49:31] ygrek вошёл(а) в комнату
[12:11:32] Typhon вошёл(а) в комнату
[12:13:27] DimitryKakadu вошёл(а) в комнату
[12:13:36] DimitryKakadu вышел(а) из комнаты
[12:22:20] DimitryKakadu вошёл(а) в комнату
[12:51:13] DimitryKakadu вышел(а) из комнаты
[12:54:27] DimitryKakadu вошёл(а) в комнату
[13:18:27] DimitryKakadu вышел(а) из комнаты
[13:21:25] Typhon вышел(а) из комнаты
[13:47:28] DimitryKakadu вошёл(а) в комнату
[13:59:38] DimitryKakadu вышел(а) из комнаты
[14:05:42] ermine вышел(а) из комнаты
[14:10:41] DimitryKakadu вошёл(а) в комнату
[14:10:51] DimitryKakadu вышел(а) из комнаты
[14:13:28] ermine вошёл(а) в комнату
[14:32:30] DimitryKakadu вошёл(а) в комнату
[15:06:08] <ygrek> btw, gds: https://forge.ocamlcore.org/projects/lambdoc/
[15:23:35] DimitryKakadu вышел(а) из комнаты
[17:49:53] DimitryKakadu вошёл(а) в комнату
[19:40:07] sceptic вышел(а) из комнаты
[19:45:07] <gds> ygrek: дарио вообще герой! Смотрю, как он в рассылке парсит латех, так волосы дыбом поднимаются и сидеть мешают. Однако буду смотреть код.
[19:51:25] <ygrek> gds: и какое такое коммунити у камля, а?
[19:52:15] <ygrek> (или /me зря увидел иронию?)
[19:55:40] <gds> если серьёзно, считаю, что он -- человек трудолюбивый, и я вполне уважаю его как погроммиста. А что волосы встают -- потому что понял масштаб проблемы из рассылки.
а коммунити -- известно какое. Я вообще в последнее время выпал вон.
[20:05:17] sceptic вошёл(а) в комнату
[22:22:45] DimitryKakadu вышел(а) из комнаты
[23:01:09] iNode вышел(а) из комнаты
[23:43:40] sceptic вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!