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

GMT+4
[00:21:02] ygrek вошёл(а) в комнату
[00:34:11] <ygrek> http://blog.camlcity.org/blog/ocamlnet3_win32.html
[00:35:45] sevenov вышел(а) из комнаты
[00:36:01] sevenov вошёл(а) в комнату
[00:38:38] <gds> миленько.
[00:38:54] <gds> только извращённо как-то. впрочем, винда..
[00:56:43] Typhon вышел(а) из комнаты
[01:19:34] <gds> думал, что оба случая дают варнинг -- типы оба закрытые. интересно, почему (или зачем) такое может быть?
$ ocaml -w A -warn-error A
        Objective Caml version 3.10.2
# type t = [ `A | `B ];;
type t = [ `A | `B ]
# let f (x:t) = match x with `A -> true | _ -> false;;
val f : t -> bool = <fun>
# type tt = A | B;;
type tt = A | B
# let ff (xx:tt) = match xx with A -> true | _ -> false;;
Warning E: this pattern-matching is fragile.
It will remain exhaustive when constructors are added to type tt.
Error: error-enabled warnings (2 occurrences)
#
[01:21:32] <gds> и почему 2 occurences, тоже интересно, но меньше.
[02:04:31] ygrek вышел(а) из комнаты
[02:32:58] gds вышел(а) из комнаты: Replaced by new connection
[02:32:58] gds вошёл(а) в комнату
[02:33:12] sevenov вышел(а) из комнаты: Replaced by new connection
[02:33:14] sevenov вошёл(а) в комнату
[04:05:52] sevenov вышел(а) из комнаты
[04:58:02] sevenov вошёл(а) в комнату
[08:09:43] animist вышел(а) из комнаты
[08:09:59] animist вошёл(а) в комнату
[08:36:18] john вошёл(а) в комнату
[10:35:00] ygrek вошёл(а) в комнату
[10:35:14] ygrek вышел(а) из комнаты
[10:35:48] ygrek вошёл(а) в комнату
[11:03:16] aloner2k вошёл(а) в комнату
[11:03:35] aloner2k вышел(а) из комнаты
[11:32:21] ermine вышел(а) из комнаты
[11:46:42] ermine вошёл(а) в комнату
[11:49:11] john вышел(а) из комнаты
[11:49:46] john вошёл(а) в комнату
[11:50:38] john вышел(а) из комнаты
[12:08:05] sceptic вышел(а) из комнаты
[12:24:01] animist вышел(а) из комнаты: Replaced by new connection
[12:24:02] animist вошёл(а) в комнату
[13:36:05] sceptic вошёл(а) в комнату
[13:49:48] Typhon вошёл(а) в комнату
[14:07:23] <Typhon> да, почему в топике нет ссылки на вики?
[14:08:26] <gds> как минимум потому, что я не настроил нормальные бэкапы и антиспам :)
[14:15:50] <ygrek> потому что она временная и является постыдным свидетельством неспособности написать вики на камле?
[14:20:41] <ermine> какой срам и позор
[14:20:47] <ermine> впрочем, камло же умерло
[14:23:26] <gds> ygrek: и как только caml.inria.fr юзают софт, написанный на непотребщине... Предатели!
[14:27:48] <ermine> а на каком софте написан haskell.org?
[14:30:20] <ygrek> мир рушится
[14:36:00] <ygrek> btw http://bracetax.berlios.de/
[14:41:28] <gds> прикольная штука. синтаксис толковый, возможности добавляются при необходимости.
[14:44:11] <ygrek> угу, детерминированный синтаксис это мега тру, все эти вики-style shortcut'ы типа **bold** итп - мрачный ужас для технических текстов
[14:44:44] <gds> да, потому я сразу откинул этот /*_адъ_*/.
[15:02:10] <gds> у ocamllex+ocamlyacc есть поганая особенность. если токен собирается вызовом нескольких правил лексера, то в качестве начальной и конечной позиции токена считаются позиции последнего правила лексера, выполненного с данным lexbuf.
если это последнее правило кушает не сам токен (а его часть или то, что идёт за ним), то позиции кривые.
как же с этим живут-то?..
[15:26:13] <ermine> а как там будет /*_abc_*/?
[15:26:20] <ermine> в том синтаксисе
[15:29:30] <ermine> {b|{u|{i|"abc"}}} чоли? (гляда по диагонали на пример)
[15:30:10] <ermine> кошмар
[15:37:56] <gds> кошмар -- это позволять разметку, содержащую строку жирным подчеркнутым наклонным шрифтом в качестве нормы.
а ещё один кошмар -- не иметь возможности сделать что-нибудь вроде
[define bui text [b [u [i text]]]]
[bui ЭТО ФОФЫГА]
[15:42:03] <ermine> gds: оно круче чем твой лисповый документооборот?
[15:42:55] <gds> смотря в каком смысле. в том, что оно уже реализовано -- да :)
[15:43:53] <ermine> gds: тогда можно забить на лиспед
[15:44:07] <gds> разрешаю.
[15:45:32] <ermine> а как написать [bui text]?
[15:45:57] <ermine> чтобы оно так и написало - [bui text], а не сконвертило во чтонить
[15:46:15] <gds> как именно "так и написало" -- выдало текст в квадратных скобках?
[15:47:25] <ermine> ну как-то так
[15:48:40] <gds> [bracketed bui text] например. или сокращение какое придумаю. или отдельные скобки, [lb]bui text[rb]. вариантов много. если бы в этом была проблема :)
[15:51:03] <ermine> проблема всегда есть когда хочется избежать форматирования в конкретном месте и не знаешь, как эскейпить
[15:56:55] <gds> смогу выделить "универсальный эскейп", работающий вплоть до указанного ключевого слова (наподобие как <<"EOM" в баш-скриптах), это можно будет оформить даже теми же макросами. Но сбалансированность квадратных скобок обязательна.
[15:58:30] <ermine> сделаешь эскейп просто как [[ ? :)
[15:59:49] <gds> не выйдет, ибо это будет означать весьма отличающуюся вещь. эскейпы -- вопрос вторичный. главное -- модель вычислений, которая уже оттянула [[ на себя.
[16:02:21] <ermine> форматировать надо голым хтмлем и не страдать фигней
[16:02:59] <gds> опять же, разрешаю :)
[16:28:01] animist вышел(а) из комнаты
[17:12:45] <ygrek> {b|{u|{i|abc}}}
[17:13:03] <ygrek> именно преимущество в том что ескейпинг становится понятным
[17:13:42] <ygrek> макро система это интересно
[17:14:00] <ygrek> насколько это скажется на read/write-ability
[18:28:19] sceptic вышел(а) из комнаты
[19:39:14] sceptic вошёл(а) в комнату
[19:56:08] sevenov вышел(а) из комнаты
[20:38:52] sevenov вошёл(а) в комнату
[21:27:21] ygrek вышел(а) из комнаты
[23:51:25] aloner2k вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!