Home
Objective Caml
ocaml@conference.jabber.ru
Пятница, 21 октября 2011< ^ >
f[x] установил(а) тему: Камль -- http://caml.inria.fr | http://camlunity.ru/ (теперь с git доступом!) | Верблюды грязи не боятся! | release crap, enjoy NIH | репортьте баги официальным дилерам | ocaml мёртв и тормозит, move on | stdlib only? - ССЗБ
Конфигурация комнаты
Участники комнаты

GMT+4
[01:02:58] arhibot вошёл(а) в комнату
[01:25:18] Typhon вошёл(а) в комнату
[01:29:25] arhibot вышел(а) из комнаты
[01:33:19] Typhon вышел(а) из комнаты: Replaced by new connection
[01:33:21] Typhon вошёл(а) в комнату
[03:37:34] letrec вошёл(а) в комнату
[04:29:25] Typhon вышел(а) из комнаты
[04:52:36] letrec вышел(а) из комнаты
[06:57:49] ermine вошёл(а) в комнату
[07:40:33] gds вошёл(а) в комнату
[07:44:48] gds вышел(а) из комнаты
[08:24:37] gds вошёл(а) в комнату
[09:05:00] ermine вышел(а) из комнаты
[12:19:30] gds вышел(а) из комнаты
[12:33:13] Kakadu вошёл(а) в комнату
[12:33:17] gds вошёл(а) в комнату
[12:37:30] <Kakadu> что-то тихо как-то Т_Т
[12:37:51] <gds> я апгрейжу убунту, потому и тихо.
[12:38:27] <Kakadu> 11.10?
[12:38:34] <gds> да.
[12:38:34] <Kakadu> я слышал про неё мноо матов
[12:38:38] <Kakadu> много*
[12:38:46] <gds> а, то есть, мне особо не стоит повторяться.
[12:39:16] <Kakadu> в лицо знаю человека, у которого слишком старая нвидия для этой убунты
[12:39:31] <Kakadu> поэтому с кде он пересел на fluxbox
[12:43:13] <Kakadu> я тут на днях посмотрел на кде и понял, что после опенбокса на нем очень сложно
[12:43:31] <Kakadu> btw, заставьте меня написать багрепорт на коньки
[12:49:43] gds вышел(а) из комнаты
[12:49:58] gds вошёл(а) в комнату
[12:50:34] gds вышел(а) из комнаты
[12:50:47] gds вошёл(а) в комнату
[13:12:35] shaggie вошёл(а) в комнату
[13:15:36] gds вышел(а) из комнаты
[13:15:46] gds вошёл(а) в комнату
[13:22:13] gds вышел(а) из комнаты
[13:24:58] gds вошёл(а) в комнату
[15:44:30] letrec вошёл(а) в комнату
[15:44:40] letrec вышел(а) из комнаты
[15:44:55] letrec вошёл(а) в комнату
[16:06:14] АК вышел(а) из комнаты
[16:15:23] Typhon вошёл(а) в комнату
[16:46:23] shaggie вышел(а) из комнаты
[17:15:30] shaggie вошёл(а) в комнату
[17:49:43] <f[x]> ы http://forge.ocamlcore.org/forum/forum.php?forum_id=811
[17:56:26] <gds> хотел отправить эту ссылоту с каментом типа "аааа, всё, ocamlcore.org больше не будет!  все на битбакет1111", но как-то лениво было :)
[17:58:32] <f[x]> не, теперь же ocaml.org будет, крута
[17:58:41] <gds> это да.
[18:39:20] <gds> раз уж кто-то "начал первым", ща тоже кой-чо спрошу.
предыстория: сделал значения t 'a для рантайм-описания типа 'a (на всякий случай уточню: разных t 'a для каждого 'a вполне может быть не одно; может и не быть t 'a, в этом случае есть универсальное 'a . t 'a; могут быть разные t 'a, для которых статически гарантируется наличие нужных методов, например, teqhash 'a или tcmp 'a).
[18:52:36] <gds> вот, и хочется сравнить значения с типом option 'a.  Варианта два:
1. можно сделать option 'a чем-то вроде конструктора для данного параметрического типа, отображая окамловское
" forall 'a : Type, option 'a "
(равное " 'a:T -> option 'a "), в
" forall t 'a : Type, option 'a "
(равное " 'a : T -> t 'a -> option 'a "), так, что будет функция
make_option : t 'a -> t (option 'a)
, которая будет брать любое рантайм-определение типа 'a и генерировать рантайм-определение для типа option 'a.
2. каждое из значений завернуть в
type v 'a = { va : 'a ; ty : t 'a }
, народить функцию
value mkv : t 'a -> 'a -> v 'a
, и работать с option (v 'a) -- можно заалиасить voption 'a = option (v 'a), что непринципиально.
Оба подхода имеют недостатки друг относительно друга (я уж молчу про недостатки в производительности относительно тупого подхода!), но какой-то из них (или какой-то другой, что было бы ещё лучше) таки надо выбрать.  (иначе выберу кривой, а потом будете псить про идолопоклонство!)
Собственно, option -- тупой вариант, хочется более обширные sum types обрабатывать типа-комбинаторами.  Такие, которые содержат не по одному типовому параметру, например.  В разных случаях это будет по-разному, ясное дело.  Но хочется, например, через какие-то комбинаторы указывать "это значение sum type -- не cmp, только eq, и не show", ну или что-то типа того.
[18:53:41] Typhon вышел(а) из комнаты
[18:55:22] <gds> тьфуты.
"
[отображая] в
" forall t 'a : Type, t (option 'a) "
"
[19:05:03] <gds> то-то же!
[19:11:16] Kakadu вышел(а) из комнаты
[19:17:32] <gds> Так!
[19:18:24] <f[x]> и ещё по одной
[19:51:34] Kakadu вошёл(а) в комнату
[19:59:40] <gds> f[x]: я считал "xxx вышел из комнаты", а не алкоголь :)
[20:02:07] <f[x]> подозреваю изоморфность!
[20:04:01] <f[x]> империя добра захватила Le Gall'а
[20:08:20] <gds> изоморфности  ет.  А какая из империй таки?  Их две.
[20:08:27] <gds> или три.
[20:10:37] <f[x]> та которая codesearch закрывает
[20:14:23] komar вошёл(а) в комнату
[20:19:55] <gds> а она тут как влияет?  перешёл к ним?
[20:21:03] <f[x]> вроде бы
[20:32:33] <gds> п-ц оазису[-дб]?
[20:32:55] <gds> его ж, биндяжку, замудохают.
[20:42:16] <gds> с другой стороны, правильно, надо Go развивать.  Грамотно.
[21:26:48] <Kakadu> что-то камло мне ругается на неизвестный тип, второй вечер туплю, не пойму что не так.
[21:31:43] <gds> а у меня камло ругается на кривые руки :[
[21:32:21] letrec вышел(а) из комнаты
[21:43:20] <Kakadu> вроде разобрался
[22:05:49] ermine вошёл(а) в комнату
[22:47:02] shaggie вышел(а) из комнаты
[22:50:01] ermine вышел(а) из комнаты
[23:29:56] ygrek вошёл(а) в комнату
[23:33:11] arhibot вошёл(а) в комнату
[23:34:33] arhibot вышел(а) из комнаты
[23:49:09] shaggie вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!