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

GMT+4
[00:12:13] <ygrek> ermine страшна в гневе
[00:12:54] <ygrek> начнёт кидаться типами xsd модулей в конфу - мало не покажется
[00:20:39] <ermine> ygrek: да я вообще в шоке!
[00:21:05] <Kakadu> шок --- это по-нмшему
[00:27:30] ftrvxmtrx вышел(а) из комнаты
[00:27:58] ftrvxmtrx вошёл(а) в комнату
[00:32:18] ermine подумала и потестила своим достижением все 125 схем из xmpp, вс работает чисто, нет лишних аттрибутов, нет лишних элементов
[00:32:41] <ermine> gds: а ты говоришь - исключения!
[00:39:16] <ermine> эх, если бы так бойко (500 строк кода в день) шел парсер
[00:41:54] arhibot вошёл(а) в комнату
[00:50:46] ermine вышел(а) из комнаты
[01:01:58] arhibot вышел(а) из комнаты
[01:05:17] <gds> ermine, рад успеху.
[01:07:35] ftrvxmtrx вышел(а) из комнаты
[01:16:59] Kakadu вышел(а) из комнаты
[01:22:17] <ygrek> хоть кто-то какой-то код пишет
[01:27:12] shaggie вошёл(а) в комнату
[01:41:14] <gds> ygrek: я тоже пишу, но стыдно же.  надо раз и навсегда решить этот вопрос через систему типов.
[01:46:56] <ygrek> писать не сыдно, стыдно не писать!
[01:47:17] ygrek сегодня просто непрекращающийся набор банальностей
[01:50:33] <gds> кто-то должен быть капитаном.
[02:00:30] ygrek вышел(а) из комнаты
[03:46:04] shaggie вышел(а) из комнаты
[04:31:12] komar вышел(а) из комнаты: Replaced by new connection
[04:31:13] komar вошёл(а) в комнату
[05:30:53] Typhon вошёл(а) в комнату
[05:44:30] Typhon вышел(а) из комнаты
[07:47:05] ermine вошёл(а) в комнату
[07:55:25] ermine вышел(а) из комнаты
[10:25:29] ermine вошёл(а) в комнату
[10:33:14] ygrek вошёл(а) в комнату
[10:45:43] <ygrek> спасибо, кэп!
[10:50:56] <ermine> так, начинаем вторую фазу секса с xsd
[10:51:45] <ermine> хотя еще надо бы пожарить мясо
[11:30:28] ygrek вышел(а) из комнаты: Replaced by new connection
[11:30:29] ygrek вошёл(а) в комнату
[11:52:15] ftrvxmtrx вошёл(а) в комнату
[11:52:46] Kakadu вошёл(а) в комнату
[11:53:23] <Kakadu> жареное мясо это хорошо
[12:05:29] <Kakadu> кто в курсе кто такой Alexey Vyskubov? https://github.com/avysk
[12:16:02] komar вышел(а) из комнаты
[12:16:10] <ermine> а что там вкусного?
[12:16:31] <Kakadu> я хз. Неожиданно меня фолловить начал
[12:16:55] <ermine> кутю давай делай!!!
[12:20:17] <Kakadu> flux обещал на выходных псмотреть на этот креш
[12:35:49] Typhon вошёл(а) в комнату
[12:46:10] <Typhon> Kakadu: расскажи ему про оазис!
[12:46:11] <Typhon> %)
[12:46:15] ftrvxmtrx вышел(а) из комнаты
[12:46:34] <Kakadu> Typhon: кому?
[12:47:17] ftrvxmtrx вошёл(а) в комнату
[12:47:54] <Typhon> avysk'у
[12:52:13] <ermine> f[x]: смотришь на крэш?
[12:53:02] ermine решила поглядеть на свой дашьборду в своем гитхубе - может, новые фейсы есть...
[12:58:07] <ermine> да, какие-то покемоны наблюдаются
[13:29:28] <ermine> есть тут кто вумный в XML? отсутствующий атрибут имеет значение ""?
[13:38:24] ygrek вышел(а) из комнаты
[14:04:25] ftrvxmtrx вышел(а) из комнаты
[14:15:34] komar вошёл(а) в комнату
[14:43:44] <gds> по текущим экспериментами, objects coercion -- операция бесплатная.  интересно, это где-то описано / гарантируется?
[15:33:26] ftrvxmtrx вошёл(а) в комнату
[16:00:48] bobry вышел(а) из комнаты
[16:11:02] ygrek вошёл(а) в комнату
[16:44:07] bobry вошёл(а) в комнату
[16:59:03] ygrek вышел(а) из комнаты
[17:10:45] ftrvxmtrx вышел(а) из комнаты
[17:12:22] ftrvxmtrx вошёл(а) в комнату
[17:14:18] ftrvxmtrx вышел(а) из комнаты
[17:23:58] <f[x]> gds: где-то встречал упоминание что :> гарантированно compile-time only
[17:47:43] <gds> f[x]: во, даже такого "подтверждения" мне вполне хватит на первых этапах, благодарю.
[17:54:14] <ermine> кутя!
[17:56:38] <Kakadu> у ermine из души начали вырываться воплм
[17:56:41] <Kakadu> вопли
[18:00:10] <ermine> опилки
[18:05:07] ermine с трудом склепала первую сотню строк кода за сегодня
[18:07:05] <bobry> удивительно что камловские объекты там мало используют
[18:07:16] bobry сегодня осилил аж две главы про них в Intro to OCaml
[18:07:27] <bobry> по крайней мере по описанию выглядят очень вкусно
[18:07:45] <gds> ну да, объекты в целом хороши.  гибкие, сучечки.
[18:09:00] <ermine> от них несет ООПом
[18:09:27] <gds> ты так говоришь, как будто это что-то плохое.
[18:10:06] <ermine> ну да, в декларативщине нет места оопу
[18:10:24] <bobry> та лана, type classes от ООП тоже не далеко ушли
[18:10:27] <gds> где ты в камле видела декларативщину.  это в прологе.
[18:10:49] <Kakadu> и в xsd
[18:11:06] <ermine> ооп позволяет изменять данные внутри объектов, это ужасно
[18:11:15] <bobry> ermine: not true
[18:11:40] <bobry> где это такое сказано шо в ооп объекты обязательно мутабельны?
[18:12:20] <bobry> каждый метод может просто возвращать новый объект
[18:12:21] <ermine> а какой ж еще от них прок тогда может быть
[18:12:24] <bobry> как это можно в камле
[18:12:41] <bobry> и как это делают например в (прости господи) js
[18:12:42] <ermine> или оно умеет жрать, или это чистая структура
[18:12:52] <gds> даже если мутабельны, то что заставляет эту мутабельность хоть как-то показывать наружу?  у камла хороший механизм абстрактных и приватных типов.
[18:13:06] <gds> ermine: лол
[18:13:52] <ermine> первоклассные модули - наше всё, они призваны вытеснить ваши обжекты!
[18:14:06] <ermine> французы одумались
[18:15:30] <bobry> ага, с таким то синтаксисом
[18:15:35] <bobry> и кучей скобочек а ля лисп
[18:16:06] <gds> ага, синтаксис там пипец.
[18:16:36] <ermine> больше нет возражений?
[18:16:41] <gds> есть.
[18:16:53] <gds> что-то не нравилось ещё.
[18:17:16] <ermine> строгая типизация интерфейса?
[18:17:43] <gds> хотя громоздкость синтаксиса порой отвращает сама по себе -- сравни, например, типичные алгоритмы на плюсах/жабе и на функциональщине.
[18:18:11] <gds> в объектах -- вполне нормальная строгая типизация.  тут они изоморфны с модулями.
[18:21:22] ermine попыталась представить себе плагины в виде объектов (динамически загружаемые) и поняла, что моск уже отключился
[18:23:31] <ermine> похоже, не только у меня отключился
[18:27:01] f[x] и не включает на выходных
[18:29:39] <ermine> а как же кутя?
[18:30:17] <f[x]> а куда там смотреть?
[18:30:38] f[x] afk
[18:42:33] <gds> ermine: претензии к модулям (в том числе к первоклассным) по сравнению с объектами: http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/2011/10/04.html#13:33:45.247034
[18:45:22] <gds> ermine: ну и классика, в объектах легко делается
value get_cmp_eq (((t : #tcmp _) : #teq _) : #tshow _) = ...
, а в модулях надо на этот случай лепить отдельные типы для каждой комбинации.
[18:46:21] <gds> точнее, не get_cmp_eq, а скорее use_type_with_cmp_eq_show
[18:51:33] ermine с сомнением посмотрела на модуль Type
[18:52:05] <ermine> точнее TEq
[18:52:49] <gds> ну а как сказать, что тип предоставляет в том числе операцию проверки на равенство, в терминах модулей?
[18:53:02] <ermine> вспомнились собственные мытарства с char t
[18:53:25] <ermine> вообще всё это было неправильно
[18:53:50] <gds> а у меня будет правильно.  клёво же.
[18:54:08] <ermine> но дети когда-нибудь всё-таки вырастают и смеются, вспоминая свои первые шаги
[18:54:41] <ermine> gds: на объектах?
[18:55:07] <gds> кое-что -- да, и ещё как.
[18:55:43] <ermine> можно сразу в цэ с плюшками и угловыми скобками закопаться
[18:55:53] <gds> можно, разрешаю.
[18:56:30] <ermine> ну вперед
[18:57:01] <gds> мне-то зачем.
[18:58:17] <ermine> в камле одна большая проблема - типизация :)
[18:59:31] <gds> там, где это проблема, там моя текущая разработка как раз пригодится.  В остальном -- типизация это скорее решение.
[19:01:39] <ermine> а кутя тем временем продолжает падать и падать
[19:02:18] <ermine> пойду склепаю еще сотню строк
[19:09:20] Typhon вышел(а) из комнаты
[19:17:38] savikov вошёл(а) в комнату
[19:18:03] <savikov> здарово посоны :З
[19:18:46] <savikov> поч обычные арифметические операции с флоат отличаются от инт с той лиь разницей что на конце точка? 0о"
[19:19:10] <savikov> (* в книге в этой главе не вижу объяснения *)
[19:19:13] <gds> потому что семантика разная.
[19:20:40] <savikov> хмм
[19:20:52] <savikov> а как же перегрузка операторов? *SCRATCH*
[19:21:10] <savikov> вроде даж в хаскеле + <- как для int так и для float
[19:21:22] <gds> а никак, очевидно же.
[19:21:34] <savikov> могу врать, я лишь лечим им бесоницу в глубоком детстве >_>"
[19:21:41] <savikov> понятно
[19:22:28] <savikov> кстати, мож кто не знает, под андроид есть интерпритатор
[19:57:18] <savikov> ну вот! а операторы сравнения перегружен блеать!
[19:57:53] <savikov> мм а есть try ocaml? как для хаскеля.. и ерланг?
[19:59:00] <savikov> я во тпро это: http://tryhaskell.org/ и http://www.tryerlang.org/
[20:05:42] ygrek вошёл(а) в комнату
[20:07:13] <gds> со сравнением, хешированием, сериализацией понятно, как жить в целом.  они возвращают конкретные типы (bool, int, string).  как разумно перегрузить арифметику -- это вопрос.  см. zarith, с другой стороны.
[20:07:15] <gds> ну и pa_do всякий.
[20:07:57] <gds> try ocaml -- вроде нет такого.  если интересно подобное сделать -- где-то был древний xavierbot, заточенный под чятики.  переточить его на вебню -- несложно, попробуй.
[20:08:11] <gds> если культурно переточишь -- захостим.
[20:08:19] <savikov>
[20:08:31] <savikov> я пиздюк и дебил >_> мне такое сложно :З
[20:08:58] komar вышел(а) из комнаты
[20:10:26] <gds> судя по лексикону, утверждение скорее близко к истине, но попахивает самоопускаловом.  я не пихо онал итик, но рекомендую обратиться к професси онал ам, как для психологической поддержки, так и для поднятия самооценки.
[20:10:53] <savikov> Физическое равенство проверяет занимают ли эти переменные одно и то же место в памяти. = и == возращает одинаковые результаты для простых типов. Числа с плавающей запятой и строки рассматриваются как структурные.
[20:11:58] <savikov> "ab" == "ba";; почему фалсе? занимают же оба 2байта
[20:12:11] <gds> потому что перевод кривой.
[20:12:15] <gds> физическое равенство -- полезная штука, оно очень дешёвое, и в некоторых случаях можно свести другие виды равенства к нему.  Рекомендую.
[20:12:32] <gds> или не перевод, а осмысление.  Они занимают разные места в памяти.
[20:12:52] <gds> потому что не может быть одной и той же ячейки, содержащей символ 'a' и одновременно 'b'.
[20:13:17] komar вошёл(а) в комнату
[20:13:21] <savikov> понял
[20:15:54] <gds> для дальнейшей медитации:
# let q = "ab" and w = "ab" in q==w;;
- : bool = false
[20:16:57] <savikov> я понял
[20:19:07] <savikov> это локальные объявления, вспомнил. когда-то я дошёл на них опорожняясь
[20:19:13] <savikov> уже забыл =_=
[20:19:22] <savikov> хотя довольно ясно всё
[20:19:58] <savikov> наверно, многие уже спрашвиал -> ;; не бесят ли? :З
[20:20:16] <ygrek> мой банхаммер бесит твоя лексика
[20:20:58] <savikov> окей, я буду лучше стараться :З
[20:43:09] komar вышел(а) из комнаты
[20:50:13] <savikov> #[1;2;3;4];;
- : int list = [1; 2; 3; 4]
#[1,2,3,4];;
- : (int * int * int * int) list = [1, 2, 3, 4]
[20:50:35] <savikov> в чём отличие второго? -_- вижу он выводит -> (int * int * int * int) как картеж
[20:56:14] <gds> потому что ","
[20:56:21] <savikov> ога, это я понял!
[20:59:44] <savikov> если бы был бы это кортеж, то вываел -> int * int * int * int = 1, 2, 3, 4
а не - (int * int * int * int) list = [1, 2, 3, 4] , меня путает присутсвие "list".
Но ещё я не могу использовать :: и ни fst/snd (на [1,2]), что говорит о том, что это не список и не кортеж =_=
[21:00:29] <Kakadu> кортеж --- это когда звездочка
[21:00:42] <gds> для любого x, [x] это список.
[21:00:51] <Kakadu> в первом случае это писок из четырех целых
[21:00:52] <gds> для кортежа -- тоже.
[21:00:53] <savikov> да, я помню! (int * int * int * int)  <- чем те не звёздочки? =_=
[21:01:13] <Kakadu> во втором список из одного кортежа, который состоит из 4х целых
[21:01:17] <savikov> да, я знаю что в первом список! НО ВО ВТОРОМ ЧТО?!
[21:01:27] <savikov> ы
[21:01:36] <savikov> спб
[21:01:55] <savikov> #[(1,2,3)];;
- : (int * int * int) list = [1, 2, 3]
[21:02:11] <savikov> сорри, я забыл что тут скобки можно опускать =_=
[21:02:23] <gds> лучше, конечно, с revised syntax изучение начинать, там такое попроще будет.  там и скобки нельзя опускать, например.
[21:02:43] <savikov> ещё б я тебя понял >_>
[21:03:22] <savikov> http://shamil.free.fr/comp/ocaml/ я вот это читаю
[21:04:10] <savikov> Parentheses are mandatory in tuples:
OCaml    Revised
1, "hello", World    (1, "hello", World)
[21:04:14] <savikov> а всё, нашёл
[21:06:07] <gds> в общем, в топлевеле
#use "topfind";;
#camlp4r;;
и, если получилось, revised syntax готов к использованию.
[21:07:24] <savikov> пасиб :З
[21:14:31] <savikov> ладно, пасиб всем, пойду обои поменяю -_- хоть чем-то умным займусь >_>
[21:16:19] <savikov> откуда стока терпения? -_- это всё действия фя? :З
[21:23:25] <gds> да я просто раньше таким же дебилом был, и прекрасно тебя понимаю.  это пройдёт, я уверен.  разумеется, не сразу.
[21:25:49] klapaucius вышел(а) из комнаты
[21:27:32] <ermine> хаскиль лучше
[21:27:41] <ermine> (это про +)
[21:28:57] komar вошёл(а) в комнату
[21:36:58] <ermine> а еще посмотрите, сколько скобочек в камле! {}, [], [||], <> и тд
[21:37:17] <savikov> ermine: еретик >_>
[21:37:47] <savikov> gds: дебилизм проходит? это успокаивает...
[21:39:50] <gds> savikov: ну, как сказать, проходит.  Идёт на новые круги.  Теперь я дебил более высокого уровня!  Такого, что это на первый взгляд даже незаметно.
[21:40:18] <savikov> с ростова?
[21:40:32] <gds> не, у нас тут свои фермы есть.
[21:41:44] <ermine> он гонится за суперуниверсальным типом для всего сущего, его типизация тоже задолбала
[21:42:18] <ermine> обещает скоро подарить миру чудесный модуль, с помощью которого можно забыть сразу про все проблемы камля
[21:42:28] ermine прячется
[21:42:47] <gds> ermine: о нет, ты раскрыла мой Коварный План!
[21:50:43] <ermine> gds: но согласись, что такой план действительно подходит для вышеописанного дебила
[21:52:32] <gds> так, как ты его описала -- конечно.  Но у меня план чуть другой.  Суперуниверсального типа не будет, и про проблемы не забудешь.
[21:59:06] <gds> но вот, например, перегрузку операторов будет сделать вполне реально.  Если сделать перегрузку литералов вдобавок -- вообще няшно будет.
[22:15:28] <bobry> я смотрю gds сегодня усмиритель троллей
[22:15:30] <bobry> как забавно
[22:16:20] bobry тут заслал письмо в рассылку xen-api, мол так и так -- почему батарейки или extlib не юзаете, зачем свой велосипед
[22:16:54] <bobry> и получил совсем неожиданный ответ, мол -- "понимаем, надо что-то менять, вот есть тут Core ..."
[22:16:58] <bobry> Core!
[22:31:50] <Kakadu> да!
[22:52:29] ftrvxmtrx вошёл(а) в комнату
[22:58:48] <gds> bobry, какие ещё тролли.  ЭТОЖЕЛЮДИ1111
[23:00:39] <savikov> не подскажете как достать .апк этого - https://market.android.com/details?id=fr.vernoux.ocaml&feature=search_result  ? :(
[23:00:56] <savikov> именно by Romain Vernoux
[23:03:12] shaggie вошёл(а) в комнату
[23:18:55] <bobry> Kakadu: что в Core хорошего?
[23:19:01] <bobry> оно же толком не опен соурсное
[23:19:07] <bobry> баги репортить если только в рассылку
[23:19:11] <bobry> процесс разработки не открытый
[23:19:12] <bobry> брр
[23:23:32] <gds> > что в Core хорошего?
"сегодня мы многое поняли."
[23:33:53] ftrvxmtrx вошёл(а) в комнату
[23:34:07] ftrvxmtrx вышел(а) из комнаты
[23:38:49] ftrvxmtrx вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!