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

GMT+4
[00:22:18] f[x] вошёл(а) в комнату
[00:22:18] f[x] вышел(а) из комнаты
[00:22:41] f[x] вошёл(а) в комнату
[00:25:36] Sun][ вышел(а) из комнаты: Replaced by new connection
[00:25:38] Sun][ вошёл(а) в комнату
[01:03:11] tilarids вышел(а) из комнаты
[01:28:22] Sun][ вышел(а) из комнаты
[01:37:40] Kakadu вышел(а) из комнаты
[01:51:56] f[x] вышел(а) из комнаты: Logged out
[04:02:03] letrec вошёл(а) в комнату
[05:33:19] letrec вышел(а) из комнаты
[06:59:51] Typhon вошёл(а) в комнату
[07:33:15] Typhon вышел(а) из комнаты
[07:53:42] Typhon вошёл(а) в комнату
[08:45:04] tilarids вошёл(а) в комнату
[10:53:00] ftrvxmtrx вышел(а) из комнаты
[11:00:37] ftrvxmtrx вошёл(а) в комнату
[11:16:05] ftrvxmtrx вышел(а) из комнаты
[11:36:25] ftrvxmtrx вошёл(а) в комнату
[11:48:11] tilarids вышел(а) из комнаты: Machine going to sleep
[12:05:30] <f[x]> это называется эволюция когда в проекте есть json-wheel, json-static, yojson и я ещё присматриваюсь к jsonm
[12:22:34] tilarids вошёл(а) в комнату
[13:01:36] shaggie вошёл(а) в комнату
[13:40:52] <f[x]> http://www.vex.net/~trebla/haskell/exception.xhtml
[14:00:20] Kakadu вошёл(а) в комнату
[14:04:29] <gds> f[x]: ну так wheel и static не отменяют друг друга.  А остальное -- дааа :)
[14:06:43] <gds> f[x]: а к чему ссылка -- ниасилил, видимо утро, но, если что-то неочевидное, расскажи.  (иначе сам допру.)
[14:07:38] <f[x]> не буду портить удовольствие
[14:08:35] <gds> угу, я именно про это.  не порть.
[15:35:13] Typhon вышел(а) из комнаты
[15:35:32] letrec вошёл(а) в комнату
[15:43:11] <gds> f[x]: ну классика же, типичное х-ефагство, either же.  Обосраться какие крутые "исключения".
я тебе лучше покажу, что мне в #coq нашаманили для unchecked exceptions (сказал им "хочу именно такие, и чтобы со стразиками"; что характерно, буду их использовать, и они работают как надо): https://gist.github.com/1d17b31ee6074517f7d3
[15:43:45] <f[x]> ты кнопочку нажимал?
[15:44:34] <f[x]> наркоманство
[15:46:01] <gds> кнопочку нажал.  Ага!
наркоманство -- где?
[15:46:20] <f[x]> в коке
[15:46:57] <gds> ну нет там исключений.  чисто-функциональный, мать его, язык.  но как-то выкручиваться надо ведь.
[15:47:05] <f[x]> зачем ты мне это показываешь?
[15:47:13] <f[x]> где теперь моё душевное спокойствие
[15:47:33] <f[x]> как я могу смотреть на мир как раньше?
[15:48:20] <f[x]> ну я знаю - есть кок, есть академота в слоновьих башнях которая курит бамбук и гадает на петухе
[15:48:24] <gds> чтобы ты возлюбил х-ь по сравнению с coq.
а вот как смотреть на мир...  У меня тоже проблемы с этим в последнее время.  Знаешь же, законтачился сам -- законтачь другого, чтобы не только мне было так же больно.
[15:49:16] <f[x]> но чтоб вот так вот, в родном чате, все свои, и тут на тебе
[15:50:39] <f[x]> я вот на выходных пытался сделать задачку на плюсах
[15:50:42] <gds> ЗППП тоже между своими передаются обычно, и как бы ничо, все болеют, все лечатся, все довольны.
[15:51:03] <f[x]> сцуко
[15:51:29] <f[x]> прототип на камле слабал в обеденный перерыв, потом два вечера убил пытаясь выразить на плюсах так чтобы не сильно противно было
[15:51:45] <f[x]> в результате только взбесился
[15:52:28] <f[x]> потерял уже навык и главное терпимость к убожеству
[15:54:31] f[x] установил(а) тему: OCaml / ОКамл / Камль -- http://caml.inria.fr | Камло - http://camlunity.ru/ | Верблюды грязи не боятся! | release crap, enjoy NIH | репортьте баги официальным дилерам | ocaml мёртв и тормозит, move on | stdlib only? - ССЗБ | Fight FUD with fire | Мойте руки перед чатом
[15:54:58] <gds> гыыы, это классика.  Отвращает от плюсов ужасно.  И от некоторых других языков тоже.  Ну, сишечька -- понятно, для биндингов нужна, и логики на ней особо лепить не надо.  Но плюсцы зачем...
[15:55:05] <gds> топик -- ок!
[15:55:39] <f[x]> задачка с символьными вычислениями получилась. представь.
[15:56:23] <f[x]> так-то низкоуровневые штуки на плюсах нормально идут
[15:56:25] <gds> представил.  Ну понятно, что плюсы тут сосут.  Небось, делал класс, содержащий методы, отвечающие за "конструктор"?
[15:57:50] <f[x]> я бы тупыми енумами сделал, но не дошёл даже до этого
[15:58:07] f[x] поплакался, ушёл умыться
[15:59:29] <gds> ну и правильно, если нет чёткой цели, а чисто по приколу решить задачку, то эта прикольность не должна оправдывать зогрызание кактуса.
[16:13:36] <tilarids> здесь поливают грязью плюсы?
[16:13:40] tilarids to the rescue!
[16:21:12] <f[x]> first hand опыт beats tilarids
[16:39:57] shaggie вышел(а) из комнаты
[16:50:14] <gds> f[x], tilarids, где намечающийся срач?
[16:53:14] <f[x]> во, это более интересный вопрос
[16:53:24] <tilarids> да я как-то передумал, настроения нет
[16:53:27] <tilarids> слишком тяжелый понедельник
[16:53:41] <f[x]> слишком много плюсов?
[16:53:50] <tilarids> а вообще плюсы я нежно люблю, они незаменимы
[16:53:55] <tilarids> если бы. Слишком много идиотизма и слишком давние бекапы
[16:54:11] <gds> у языка C++ есть ровно два плюса!11
[16:57:48] <tilarids> не, не поведусь :)
[16:59:12] <f[x]> лолд
[17:01:06] <tilarids> я до сих пор считаю, что плюсы - самый удобный язык для крупных проектов после русского и английского
[17:01:35] <tilarids> и переубедить меня сможет только практика, практика и еще раз практика
[17:04:19] <f[x]> а на чём есть практика писания крупных проектов?
[17:04:42] <gds> я уже задолбал всех ссылками на C++ FQA.  tilarids, тебя тоже?  или и без меня читал это?
[17:08:02] <tilarids> gds, читал, конечно
[17:08:21] <tilarids> f[x], плюсы и питон. На остальных языках проекты фейлились
[17:09:25] <f[x]> грустно
[17:10:18] <tilarids> не стоит. Окамль пока еще не зафейлился
[17:10:32] <tilarids> может, в нём выход
[17:11:38] <gds> попробовать уж точно стоит.  Даже если писать на нём почти как на плюсах (разумеется, выкидывая классы там, где они реально не нужны, в 90% случаев их использования в плюсах), то будет хоть и низкоуровневый, но очень даже приятный для поддержки-дописывания проект.
[17:18:52] <tilarids> gds, тут такое дело... Я уже какое-то время пишу на окамле всякий мелкокод. И я до сих пор про классы не прочитал, так что я их вообще не использую :) И пока не особо нужны
[17:26:12] <gds> tilarids: Всё Правильно Делаешь, значит.  Если они пока не нужны -- в топку их.  Они усложняют, обычно.  Как и полиморфные варианты.  Но знай, что они есть и они в некоторых реальных применениях круты.  Но желаю, чтобы эти применения были не сейчас, а когда-нибудь потом.
[17:27:13] <f[x]> когда на кокс подсядешь
[17:27:41] <gds> там _не те_ классы!1111
[17:29:01] <gds> можно, конечно, на тайпклассах эмулировать ооп, но мы видели результаты подобного у наших заклятых друзей из соседнего языка.  Проще умереть.
[17:30:59] <tilarids> gds, единственное, зачем они мне могут понадобиться - это syntatic sugar. С ними короче писать, как я понимаю
[17:31:36] <tilarids> но лучше я не буду предполагать, я действительно ничего не читал про классы. Я так увлекся первыми 5 статьями из туториала, что сразу поперся кодить
[17:32:55] <gds> tilarids: кое-что короче, но это настолько мелочи, что не обращай на это внимания.  Почему-то все люди обращают внимание на синтаксис, но большинство игнорирует типизацию и семантику, а в полиморфных вариантах и объектах/классах именно они являются главной причиной их использования.
[17:34:00] <tilarids> всегда и везде главная причина всего - читабельность и простота
[17:35:36] <gds> но некоторые решения становятся более читабельными (хоть и более сложными для единичной реализации "базы"), если их выразить через эти более сложные средства.
[18:45:00] <f[x]> полуморфы расширяются!
match x with
| 1 -> `NewTag
| 2 -> (obj#method :> [t|`NewTag])
[18:46:28] <gds> но зачем?
[18:50:50] <f[x]> но как, бро?
[18:51:36] <f[x]> хотя да
[18:51:52] <f[x]> конкретно в этом случае можно обойтись
[18:52:11] <f[x]> шайтан
[18:52:39] <gds> я просто не понимаю, зачем :)  Может и осмысленно.  Бывает и не такой осмысленный код, даже посерьёзнее.
[18:52:58] <f[x]> зотя оставил как есть
[18:53:02] <f[x]> * хотя
[18:53:08] <f[x]> читабилити
[18:53:13] <gds> всё правильно сделал.  работает -- не трожь.
[18:53:26] <f[x]> т.е. хочется отделить возвращаемое значение от реакции на это значение
[18:53:43] <f[x]> т.е. общий тип result нужен - хоть его части генерятся разными частями кода
[18:54:03] <f[x]> последовательная логика
[18:54:10] <f[x]> но всё равно шайтан
[18:56:33] <gds> я не шайтан точно, ничего нового не рассказал.  А так -- если надо отделять, то [ `Ok of 'a | `Error of exn ] -- не?
[18:57:11] <f[x]> а это всё разного типа error'ы
[18:57:21] f[x] enbales ermine-mode
[18:57:27] <f[x]> * enables
[19:03:31] <gds> ну, значит, делай разные типы.  А чочо не так?
[19:04:58] <f[x]> да всё ок, кодить надо, а не болтать
[19:12:30] shaggie вошёл(а) в комнату
[19:15:56] shaggie вышел(а) из комнаты
[19:20:45] ftrvxmtrx вышел(а) из комнаты
[20:02:13] f[x] вошёл(а) в комнату
[20:07:17] ftrvxmtrx вошёл(а) в комнату
[20:40:49] ermine вошёл(а) в комнату
[20:42:55] letrec вышел(а) из комнаты
[20:48:37] <ermine> поминали?
[21:17:08] <ermine> f[x]: как в модном oasis v. 0.3 добавить в инсталляшку *.mli, у которых нет соответствующих *.ml?
[21:18:54] <f[x]> ermine: не знаю
[21:18:57] <f[x]> пинай француза
[21:20:13] <ermine> f[x]: а ты ляшушатника щас не видишь на ирц? спроси у него!
[21:20:37] <ermine> f[x]: а то я решила собрать camlimages, а он целиком не ставится теперь
[21:30:36] <gds> ermine: добавь патч, делающий "mv x.mli x.ml"
[21:42:20] <ermine> gds: это интерфейсные файлы, с другим синтаксисом же
[21:44:51] <ermine> хотя в первом таком файле - только module type signatures, может, прокатит?
[21:51:05] <ermine> хм, неужели прокатило, прикольно
[21:51:54] <ermine> gds: да ты гений :)
[21:57:15] tilarids вышел(а) из комнаты: Machine going to sleep
[22:19:04] <gds> ermine: не гений, а кто-то там "ошибок трудных" (родство не могу конкретизировать), были подобные проблемы давно-давно.
[22:33:46] <ermine> раньше оазис просто инсталлил все *.mli и неаккуратно смотрел на депендсы, теперь стал сторже с этим
[22:37:26] tilarids вошёл(а) в комнату
[22:40:00] <ermine> хм, у гита чоль нету git cp команды
[22:48:20] <gds> ха.
$ hg diff
diff --git a/qwe b/asd
copy from qwe
copy to asd
[22:59:29] <ermine> уф, запушила camlimages на гитхуб, можно продолжать ворочать чонить другое
[23:00:01] <ermine> галля там еще косит с именованием *.clib
[23:45:34] Kakadu вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!