Home
Objective Caml
ocaml@conference.jabber.ru
Воскресенье, 17 июля 2011< ^ >
gds установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Светлое будущее -- http://camlunity.ru/ | Нефильтрованное настоящее -- https://github.com/camlunity/kamlo_wiki | Верблюды грязи не боятся! | release crap, enjoy NIH | репортьте баги официальным дилерам | ocaml мёртв, move on
Конфигурация комнаты
Участники комнаты

GMT+4
[00:07:36] arhibot вышел(а) из комнаты
[00:08:21] vshender вышел(а) из комнаты
[00:10:31] komar вошёл(а) в комнату
[00:11:04] Kakadu вышел(а) из комнаты
[00:34:36] ftrvxmtrx вышел(а) из комнаты
[00:35:52] ftrvxmtrx вошёл(а) в комнату
[00:48:53] ftrvxmtrx вышел(а) из комнаты
[00:50:29] ftrvxmtrx вошёл(а) в комнату
[00:54:52] ftrvxmtrx вышел(а) из комнаты
[00:56:08] ftrvxmtrx вошёл(а) в комнату
[01:28:56] shaggie вышел(а) из комнаты
[01:34:48] ermine вышел(а) из комнаты
[02:07:14] shaggie вошёл(а) в комнату
[02:09:19] shaggie вышел(а) из комнаты
[03:31:17] Typhon вышел(а) из комнаты
[07:04:09] komar вышел(а) из комнаты: Replaced by new connection
[07:04:09] komar вошёл(а) в комнату
[07:34:47] komar вышел(а) из комнаты: Replaced by new connection
[07:34:47] komar вошёл(а) в комнату
[07:52:56] komar вышел(а) из комнаты: Replaced by new connection
[07:52:56] komar вошёл(а) в комнату
[08:35:17] komar вышел(а) из комнаты: Replaced by new connection
[08:35:17] komar вошёл(а) в комнату
[08:50:15] Kakadu вошёл(а) в комнату
[09:19:28] komar вышел(а) из комнаты: Replaced by new connection
[09:19:28] komar вошёл(а) в комнату
[11:26:48] ermine вошёл(а) в комнату
[12:47:23] arhibot вошёл(а) в комнату
[13:01:54] Typhon вошёл(а) в комнату
[13:13:44] komar вышел(а) из комнаты: Replaced by new connection
[13:13:45] komar вошёл(а) в комнату
[13:18:23] shaggie вошёл(а) в комнату
[13:31:39] ftrvxmtrx вышел(а) из комнаты
[13:33:16] ftrvxmtrx вошёл(а) в комнату
[14:19:16] komar вышел(а) из комнаты: Replaced by new connection
[14:19:17] komar вошёл(а) в комнату
[14:21:44] ftrvxmtrx вышел(а) из комнаты
[14:23:33] ftrvxmtrx вошёл(а) в комнату
[14:28:23] Typhon вышел(а) из комнаты: Replaced by new connection
[14:28:26] Typhon вошёл(а) в комнату
[14:40:13] f[x] вошёл(а) в комнату
[14:40:15] f[x] вышел(а) из комнаты
[14:50:06] <Typhon> https://bitbucket.org/jhw/oni -- не пропустили такую штуку в ocaml news?
[14:51:35] <bobry> не пропустили :)
[14:52:00] Typhon вышел(а) из комнаты
[14:52:05] <gds> не пропустил, но запомнил в качестве места, откуда можно кое-что.. позаимствовать, как-то так.
[15:01:59] <ermine> да хаскиль всё равно клевее и мощнее!
[15:14:20] <gds> лисп гибче х-я!  (хотя, смотря чьего.)
[15:14:54] <ermine> а там нет тайпклассов!
[15:15:26] <ermine> кстати, а итераты на лиспе уже есть?
[15:16:31] <gds> тайпклассы замечательно эмульгируются.
итераты на лиспе -- да легко, только смысла мало.
[15:26:05] <bobry> я тут кстати в твиттерах кошерную статью запалил http://existentialtype.wordpress.com/2011/05/01/of-course-ml-has-monads/ -- если вдруг кто не видел
[15:27:12] <gds> кошер, да.  Травил кое-кого цитатками вида "In an ironic twist the emphasis on monads in Haskell means that programming in Haskell is rather like programming in an updated dialect of Algol with a richer type structure than the original, but the same overall structure."
[15:39:33] arhibot вышел(а) из комнаты
[15:54:41] <ermine> хаскиль - мова всех языков
[15:57:42] komar вышел(а) из комнаты
[16:00:37] <gds> не надо оскорблять уважаемых хохлоукраинцев.
[16:02:45] <ermine> вот интересно - а есть тут среди уважаемых заседателей такие, кто свободно владеет таким языком, как хаскиль?
[16:03:24] komar вошёл(а) в комнату
[16:04:00] <ermine> komar: вот ты знаешь хаскиль насквозь?
[16:07:59] <ermine> жалко, что adept не наш заседатель
[16:08:51] <gds> зато shaggie периодически заседает в обоих местах, где-то на рсдн(?) помогал по х-ю, может он ответит на твои вопросы.
[16:09:20] <gds> я не знаю этого участника лично, но позволю доверять поисковикам в этом деле.
[16:09:49] <shaggie> gds: ого
[16:10:26] <shaggie> рсдн только читаю, а отмечался по хаскелю на винграде, такое дело было
[16:10:37] <shaggie> но до свободного владения как до луны
[16:11:29] <gds> а, да, у меня в области нечётких ассоциаций все русскоязычные форумы по программированию сливаются в один, и, конечно, я ошибся.
[16:12:40] <ermine> имхо, свободное владение хаскелем заканчивается после овладевания их темплейтов
[16:16:59] <ermine> как свидетельство - в гугле сходу не видно туториала по этим темплейтам
[16:21:07] <gds> зато есть туториалы по монадам!111111
[16:22:17] <ermine> не, я темплейты обозначила как последнюю ступеньку на Олимпе
[16:22:46] <ermine> а монады - это так, где-то посередине на пути к б-гам
[16:24:56] <ermine> gds: кста а ты свободно владеешь камлем?
[16:25:54] <gds> не, весьма скованно.
[16:26:01] <gds> боюсь сделать страшно.
[16:30:13] <ermine> gds: надо читать мануал по камлу (ибо нет хороших туториалов) каждый вечер перед сном
[16:30:58] <ermine> а мжно еще исходники читать, да
[16:41:48] <komar> ermine: шо, какой х-ль? Я кабал не осилил.
[16:43:53] <ermine> komar: да чо там сложного-то?
[16:44:47] ermine уже пробовала кабал (с подачи адепта), уэе не помнит как его юзать, но скоро освоит еще раз
[16:57:58] <komar> Во-первых, он глюкав и постоянно требует кувалды, а во-вторых, использование таких пакетных менеджеров наносит такой же вред моему чувству прекрасного, как и использование винды.
[17:00:22] <ermine> оазис тоже умеет требовать нетривиальных кувалд
[17:00:59] <ermine> а пакетные менеджеры - да, они умеют наводить тоскливый ужас
[17:01:04] <komar> Оазис выкиньте на помойку вместе с годи, и gem рубишный туда же прихватите.
[17:01:36] <komar> Когда пользоваться окамлом без велосипедного пакетного менеджера будет невозможно, я пойду еще куда-нибудь.
[17:01:58] <ermine> надо юзать autocrap и не мучаться
[17:02:08] <komar> autocrap из той же оперы.
[17:02:33] <ermine> он мощнее, гичбе и старше всех этих кабалов
[17:14:46] komar вышел(а) из комнаты: Replaced by new connection
[17:14:48] komar вошёл(а) в комнату
[17:15:00] <komar> Блин.
[17:15:03] <komar> Это все не то.
[17:15:33] <komar> Если так сложно компилять, то нужно создавать отдельные инструменты для упрощения отдельных задач, а не утилиту на все случаи жизни.
[17:15:51] <komar> Потому что всех случаев она все равно не охватит, и твой hello world как раз станет исключением.
[17:16:34] <komar> А вот это «ололо, мы пишем билдскрипты на полноценном языке программирования ruby/OCaml/haskell и нам ничего не надо» — это вообще крах.
[17:17:48] <ermine> komar: камлофинд безгрешен?
[17:17:52] <komar> Вот make — хорошая штука, только с синтаксисом придурашным. Такая прикольная резолвика графов. Ocamlfind, ocamldep — тоже хорошие.
[17:18:01] <ermine> хотя оно ничего кроме камла не умеет
[17:18:16] <komar> ermine: чем именно? Косяки и баги в нем есть, концептуальных каких-то фейлов не заметил.
[17:19:03] <ermine> komar: ну если ты облажаешься в META, то всё - ничего толком не соберется!!!!
[17:19:15] <komar> -_\\\
[17:19:33] <komar> А если я облажаюсь в hello.ml, то что?
[17:19:57] <komar> У окамлфайнда есть качество, за которое его нужно беречь и любить — он никак не конфликтует с системным пакетным менеджером.
[17:20:02] <ermine> в крематорий топать
[17:20:26] <ermine> и лечиться там
[17:20:32] <komar> У него нет своей базы в /var/... или еще чего-то, из-за чего все пожет накрыться медным тазом. Системный пакетный менеджер тупо инсталлит/удаляет диру и все.
[17:20:52] <komar> Это просто офигенно.
[17:21:28] <komar> И дело не в том, что на это был затрачен труд сотен лягушачих кодеров, а в том, что у этих кодеров хватило ума ничего не трогать.
[17:22:11] <komar> Надо уже статью запилить.
[17:22:43] <ermine> komar: даже аффтар камлофинда не может обеспечить нормальную сборку ocamlnet из версии в версию - где-нить да облажается
[17:23:19] <komar> А что именно он не может?
[17:23:45] <komar> Я просто не представляю, чем тут виноват ocamlfind и как нам поможет оазис.
[17:24:27] <ermine> komar: ну местами в META не дописывает депендсов, местами генерит левые дополнения к аргументам ocamlc и тд
[17:24:50] <ermine> но это уже потому, что там не оазис, а ручная работа
[17:25:49] komar депенденсы дописывает в мету автоматически с помощью sed'а, но во фре ничего не работает.
[17:26:46] <ermine> не поняла при чом тут фря
[17:26:57] <komar> Фря не понимает sed -i
[17:27:07] <komar> Нафиг вообще нужен sed без -i?
[17:27:19] <komar> Кто-нибудь вообще пользуется sed'ом без -i?
[17:27:27] <ermine> а солярис понимает?
[17:27:32] <komar> А я почем знаю.
[17:27:43] <ermine> солярис куда более почётная операционка чем плебейский линукс
[17:28:04] <komar> Что это вообще?
[17:28:22] <komar> Это запускалка оракла, что ли?
[17:28:24] <ermine> то что у тебя ограниченный кругозор - тебя это не украшает
[17:30:11] <komar> Почетная операционка — это план, например.
[17:30:43] <komar> А соляра — тот же линупс, местами на стероидах. Который теперь да, запускалка оракла.
[17:31:02] <komar> Впрочем, в плане sed -i тоже, наверное, не заработает.
[17:31:36] <ermine> ну тогда узнай, понимает ли план9 sed -i
[17:31:45] <ermine> если ты ее так почитаешь
[17:33:11] <komar> Нет.
[17:34:19] komar пошел писать !#/bin/sh\nsed $1 $2 > $2
[17:36:59] <ermine> можно еще подождать лет 10-20, когда всё успеет уладиться само собой
[17:39:36] <komar> huh, не работает.
[17:40:16] <ermine> дык еще не прошло и 10 лет
[17:54:33] <gds> komar: сейчас к оазису можно бессчётно докапываться.  но есть вероятность, что через годик можно будет пользоваться им нормально.  или у тебя претензии другого плана?
[17:55:01] <komar> У меня претензии по поводу того, что оазис обязательно станет кабалом.
[17:55:10] <komar> И это не напишешь в багтрекер.
[18:04:12] <gds> а к кабалу какие претензии?
[18:04:36] <gds> чятик читал, если чо.  про кувалду понятно, а ещё?
[18:18:59] <ermine> камло скоро будет как хаскиль
[18:19:47] <ermine> а вот сед, кстати, написан не на камле, поэтому он лучше оазиса
[18:24:24] <gds> камло не будет как хаксиль.
[18:24:53] <gds> рост не туда, тренды роста не те.  Скорее как coq с его тактикой auto :)
[18:26:59] komar вышел(а) из комнаты
[18:29:20] ermine не осилила coq и не знает, что это такое
[18:30:25] <gds> а про implicit values читала?  онал-прыщчъ писал.
[18:31:52] <ermine> не читала
[18:32:09] <ermine> судя по тому, что coq писан на камле - в нем используются грязные методы!
[18:34:20] komar вошёл(а) в комнату
[18:34:46] <komar> 1) Это панацея от всех болезней, которая ни разу панацея. Чуть надо какой-нибудь хитрый выверт с препроцессором или другим компилятором — все, пропало.
В этом-то и суть юних-вея — обеспечить прогроммизда инструментами для реализовывания нужной ему функциональности, а не реализовывать все возможные функции для него. Потому жизнь так устроена, что нужная функциональность никогда не бывает реализована.
2) Это база, которую может запросто навернуть системный пакетный менеджер. Если вы, конечно, не устанавливаете все в $HOME (привет, Program Files)
3) Пакетный менджер для каждого языка — крайне глупо. Я понимаю, что сейчас модно переписывать небо и Аллаха на питоне, но по-моему разные языки могут применяться для разных целей в одном проекте.
4) Велосипедные пакетные менеджеры, как правило, хотят еще и обеспечить сборку пакетов из исходников и установку нескольких версий одного и того же пакета. Это хорошо, но это глобальная проблема и для этого нужно пилить системный пакетный менеджер, а не изобреть свой для каждого языка. Nix, вон, почти, но он говно. Дайте мне кто-нибудь денег и я пойду запиливать Правильный Дистрибутив.
[18:41:51] <gds> 1. правильно, поэтому оазис генерит setup.ml, который можно подправить (вплоть до "патчить в автоматическом режиме при пересборке").
3. пакетный менеджер должен быть универсальным.  Ясен хрен, "для питона" или "для окамла" -- одинаковое говно, по сути.
4. пилить системный пакетный менеджер -- слегка глупо, так как разные операционки могут применяться для разных целей в жизни человека или группы людей, асиливших пакетный менеджер.  Можно выбрать одну "любимую ОС", но это будет ничем, кроме эстетических чувств, не аргументированный выбор.
[18:42:59] <komar> > .ml
> "патчить в автоматическом режиме при пересборке"
Тугая-струя-блевотины.jpeg
[18:44:01] <komar> По поводу пункта 4 ничего не понял. Выкинуть аптитуд, потому что его нету в винде?
[18:46:46] <gds> ну, это крайний случай.  На практике же тебе не обеспечить достаточно кроссплатформенного способа устанавливать софт.  autotools, разве что.  Но от них уже я буду блевать, видимо.  Пробовал на вкус, так сказать.
[18:47:12] <komar> Это уже проблемы платформ.
[18:47:40] <komar> Они оттого и платформы, что захотели устанавливать софт по-разному.
[18:48:26] <gds> про пункт 4 -- если будет нужда поднять софт где-нибудь на сраной бсд или, упаси С-т-на, на венде, но аптитуда идёт далеко.
[18:48:46] <gds> а сраный оазис приспособить к венде или к бсд -- раз плюнуть.
[18:49:02] ermine дочитала главу про кастомные типы, классы типов, класс функтора и кинды типов и перевернула страницу
[18:49:42] <komar> gds: и причем тут системный пакетный менеджер?
[18:50:43] <komar> Я сказал о том, что у велосипедоманагеров есть «киллер-фитчи» — сборка из исходников и установка нескольких версий одновременно. И у меня возникает логичный вопрос — а какого черта это не реализовано в системном пакетном менеджере?
[19:05:56] <gds> komar: системный пакетный менеджер при том, что его пиление улучшает только сборку/установку софта на конкретной системе.
сборка из исходников вроде где-то реализована (в бсдшных портах точно, должна быть и в апте всяком).
"много версий" -- хз, я такое не уважаю, за исключением случаев, когда есть кто-то невменяемый, кто вынуждает такое делать (например, автор какой-то либы не удосужился спортировать старое дерьмо). И в системном пакетном менеджере -- даже не знаю, нужно ли такое.
твой же логичный вопрос имеет простое решение: пользователи каждого из языков считают, что языки достаточно кроссплатформенные, чтобы зайти с другой стороны: взять за основу какой-то язык, наколбасить что-то, напоминающее пакетный менеджер, и дальше использовать кроссплатформенность языка для упрощения установки на других платформах, где язык "запускается", вместо того, чтобы выписывать руками сраные скрипты со сраным седом и прочей вагинобратией (кстати, -i -- мелочи, я как-то патчил configure-скрипт, где сед не умел a-zA-Z -- ну чо, выписывал весь букварь там).
то есть, подход с разных сторон получается.
[19:06:26] <gds> а так как подход с разных сторон, мне интересен отрицательный опыт с кабалой, так как отрицательный опыт с autotools у меня "есть в ощущениях".
[19:07:51] <komar> Я хочу фуррифокс второ и третий. Кеды третьи и четвертые.
[19:09:36] <komar> Так что обязательно нужно.
[19:09:58] <komar> Такое даже винда умеет. C:/Program Files/{Opera6.12, Opera6.13}
[19:10:15] <komar> В nixos реализовано, но реализовано плохо.
[19:10:48] <komar> В планах с ихними енвайроментами тоже все хорошо.
[19:13:48] <gds> не, про разные версии и их безошибочное сосуществование я не думал почти, тут ничего не скажу.
[19:20:33] <komar> Ну а по поводу быстрой развертки на виндах — пожалуйста, только выкиньте после этого пакетный менеджер и никого не заставляйте им пользоваться.
[19:20:49] <komar> Сколько процентов х-тов могут НЕ пользоваться кабалом?
[19:22:46] ftrvxmtrx вышел(а) из комнаты
[19:36:34] komar вышел(а) из комнаты: Replaced by new connection
[19:36:34] komar вошёл(а) в комнату
[20:11:18] ermine дочитала статью про монады в ML
[20:18:02] <ermine> хотелось бы сказать что-то ехидное насчет нагромождений монад в ocaml-iteratees, но, блин, академического образования недостаточно
[20:22:37] <gds> да можно сделать итераты и без IO-манатки, как-то рассказывал (вроде даже недавно, и вроде в приватной беседе).  А что сами итераты образуют манатку -- так это 1. удобство пользоваться bind-синтаксисом для создания привязок прочитанных элементов к именованным значениям языка, 2. просто случайность: можно не использовать "манатку iteratees", просто пользоваться функциями для работы с ней.  Как в других языках.  Там же не проверяется, например, является ли манатка таковой на самом деле.
[20:24:07] <gds> или, вон, манатка поверх структуры данных "список".  В зависимости от способа определения bind/join и в зависимости от того, как определить равенство на списках (считать ли списки списками, или же скорее множествами), оказывается, что есть 3 правильных и 1 неправильное определение манатки.
[20:25:19] <gds> (как минимум 3 и 1, имею ввиду)
[20:27:24] <ermine> "в зависимости" - это первоклассные модули же
[20:29:29] <ermine> у них монады, а у нас модули :)
[20:29:46] ermine читает дальше про гребаное IO в хваскиле
[20:35:14] <gds> ну, когда появились манатки, а когда первоклассные модули.
[20:38:50] <ermine> а когда ocaml-iteratee
[20:39:40] <ermine> а проблема кажись скорее в том, что всякие символы >>=, >>% размножаются во всех вариациях без контроля
[20:42:06] <gds> а я вообще считаю, что символ "умножить" не нужен, достаточно деления: a*b = a/(1/b).
[20:45:05] <ermine> это приятно, когда можно применить другой символ :)
[20:45:13] <gds> кстати, забыдл узнать -- а какая именно проблема в ">>%"?
[20:45:34] <ermine> а >>=, >>%, потом придумаешь для третьего уровня >>*, потом >>/, потом еще чонить
[20:46:46] <ermine> у них у всех одна задача - скрыть третий аргумент, скрыть state или еще чонить нескромное
[20:47:57] <ermine> да, забыла предупредить, что сегодня я в режиме сплошного утрирования :)
[20:48:51] <gds> камлоюзеры как-то свыклись с тем, что есть + vs +. vs +/, и ничо.
если мне реально будет надо в одном и том же куске использовать 3 монады, то придётся >>* какой-нибудь, да.  Однако теория весьма печальная, мне её не доводилось изучать, а там, где доводилось, оказывалось, что "монадные трансформеры" -- весьма неприятная штука, но они работают.
про "m >>= f" -- оно переформулируется в виде "bind f m".  хз кому от этого лучше.\
[20:58:39] <ermine> да, инфиксы дафить
[21:02:04] <gds> а скобки?
[21:08:20] <ermine> скобки не страдают морфизмом
[21:09:21] <ermine> скобки самые политкорректные вещи в любом языке
[21:09:51] <gds> чем-чем не страдают?
[21:10:20] <ermine> ну в отличие от +, +. у них нет вариаций типа .( ).
[21:12:55] komar вышел(а) из комнаты: Replaced by new connection
[21:12:55] komar вошёл(а) в комнату
[21:14:49] ermine случайно обнаружила, что туториал по coq таки существует, и порадовалась этому факту
[21:35:42] komar вышел(а) из комнаты: Replaced by new connection
[21:35:43] komar вошёл(а) в комнату
[22:04:33] ftrvxmtrx вошёл(а) в комнату
[23:59:01] Typhon вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!