Home
Objective Caml
ocaml@conference.jabber.ru
Вторник, 29 ноября 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:00:34] <gds> то есть, ругань на the_caml_obj может идти только из строк
176756-  QVariant camlobj_variant = this->property("_camlobj"); qlonglong the_caml_object = (camlobj_variant.isValid()) ? camlobj_variant.toLongLong() : 0;
176757-  camlobj = (value) the_caml_object;
[00:01:49] <Kakadu> строка почему-то указывает на CAMLlocal3
[00:02:58] <gds> потому что я ошибся, понял.
[00:03:28] <Kakadu> кстати в хедере куча методов и много-много ошибок с таким текстом по одной на метод
[00:04:18] ftrvxmtrx вошёл(а) в комнату
[00:05:51] <gds> Kakadu: есть версия, что у тебя не включён камловский .h, определяющий тип value.
[00:06:17] <Kakadu> не, не может такого быть)
[00:07:01] <gds> ок, извени :[
[00:07:19] <Kakadu> ну я ещё проверю,, через 5 минут
[00:13:59] ftrvxmtrx вышел(а) из комнаты
[00:14:28] ftrvxmtrx вошёл(а) в комнату
[00:29:23] komar вышел(а) из комнаты
[00:29:58] komar вошёл(а) в комнату
[00:31:08] komar вышел(а) из комнаты
[00:31:55] komar вошёл(а) в комнату
[00:31:55] komar вышел(а) из комнаты
[00:32:03] komar вошёл(а) в комнату
[00:37:59] ftrvxmtrx вышел(а) из комнаты
[00:38:05] ftrvxmtrx вошёл(а) в комнату
[00:46:16] komar вышел(а) из комнаты: Replaced by new connection
[00:46:17] komar вошёл(а) в комнату
[00:51:18] Typhon вошёл(а) в комнату
[00:51:55] gds вышел(а) из комнаты
[00:54:50] <Kakadu> черт
[00:54:58] <Kakadu> у меня проблемы с переписыванием этого на камло
find cond [] = Nothing
find cond (x:xs) = if cond x then Just x else find cond xs
f xs = (mapM (`find` xs) [(>5),(<8),(<0)])  
g xs = (mapM (`find` xs) [(>5),(<8),(<0)])  >>=  (\ (x:y:z:_) -> Just (x+y+z))
[01:05:25] gds вошёл(а) в комнату
[01:05:51] <gds> Kakadu: ещё нужна помощь?
[01:06:18] <Kakadu> угу
[01:06:55] <gds> ну, начнём с list-монады?
[01:07:11] <gds> а хотя нет, плохая идея.
[01:07:34] <Kakadu> я сейчас  пишу mapM
[01:07:46] <gds> узнай сначала, ">5" это fun x -> x > 5 или fun x -> 5 > x
[01:08:24] <Kakadu> *Main> (>5) 1
False
*Main>
[01:09:22] <gds> если убрать две манатки и оставить одну, то получится просто.  например, Some/None рассматривать как [x]/[]
[01:10:03] <gds> а дальше -- таки list-монада.
[01:10:20] <gds> mapM = List.map
[01:11:04] <gds> `find` xs = fun x -> если в xs есть такие, то их список, если нет, то []
[01:11:15] <gds> ну или не совсем так.
[01:11:32] <Kakadu> filter короче
[01:11:59] <gds> да.
[01:12:30] <Kakadu> не, там find нелльзя шевелить
[01:12:32] <Kakadu> http://msimuni.wikidot.com/nov29 в конце
[01:12:43] <gds> только вот условия ему дают в списке.
[01:14:51] <gds> ну не шевели, find в условии дан нормальный.
[01:15:54] <gds> только от Sone/None избавься, проще будет.
[01:15:59] <gds> * Some/None
[01:16:06] <gds> остальное просто.
[01:16:12] <Kakadu> что-то у меня совсем затуп пошел
[01:17:46] <gds> посмотрел mapM -- тоже всё понятно.  В общем, если что-то кажется не простым в этой задачке, лучше пойти поспать.
[01:18:20] <Kakadu> надо на затра однокурсникам решать хаскелььь(
[01:18:52] <gds> тебе надо решать им х-ь?  как-то неправильно построены взаимоотношения, если да.
[01:19:35] <Kakadu> на самом деле всё хуже. Мне надо 4 строчки выше переписать на фадиез
[01:20:22] ftrvxmtrx вышел(а) из комнаты
[01:22:42] ftrvxmtrx вошёл(а) в комнату
[01:40:29] <Kakadu> http://paste.in.ua/3378/
[01:40:34] <Kakadu> мой мозг что-то родил
[02:02:48] Kakadu вышел(а) из комнаты
[02:04:33] shaggie вышел(а) из комнаты
[02:07:03] ygrek вышел(а) из комнаты
[02:23:47] ftrvxmtrx вышел(а) из комнаты
[02:43:53] ygrek вошёл(а) в комнату
[03:01:34] Typhon вышел(а) из комнаты
[03:02:22] ygrek вышел(а) из комнаты
[11:01:34] <gds> вопрос есть.  окасаку забыл совсем полностью.
хочу строить список как обычными операциями cons, так и доклеиванием взад (snoc называют иногда), так и append.  но хочу функционально (иначе double-linked lists были бы очень ок).  и так, чтобы нигде не было квадратичного поведения и нехвосторекурсивных функций.
[11:25:05] ygrek вошёл(а) в комнату
[11:42:06] Kakadu вошёл(а) в комнату
[11:47:28] bobry вошёл(а) в комнату
[11:55:01] klapaucius вошёл(а) в комнату
[12:06:24] ermine вошёл(а) в комнату
[12:09:31] ftrvxmtrx вошёл(а) в комнату
[12:18:29] <gds> народ, чо там со спекой?  "давай по-новой, миша, всё х-ня"?
[12:18:43] <Kakadu> я откомментил чуток
[12:18:49] <Kakadu> имхо уже пора что-то накодить
[12:19:23] <gds> Kakadu: ygrek что-то накодил.
[12:22:12] f[x] спеку вычитает ещё, а кодить независимые части уже можно, чё
[12:26:01] <gds> f[x]: кодить-то кто запретит, у нас рукоблудие законодательно разрешено :]
[12:26:24] <f[x]> ок - кодить уже _нужно_
[12:26:30] <gds> а со спекой -- многое непонятно, и твоя вычитка (желательно с обрезанием лишнего) -- очень нужна.
[12:28:02] <Kakadu> ппц
в фадиезе |>
у f[x] >>
в коре |!
ещё варианты?
[12:28:37] <gds> |>
[12:29:14] <gds> у f[x] старое-привычное, но |> более расовый и верный.
[12:29:41] <f[x]> ну ок, поменяйте на новое и модное
[12:31:43] <bobry> gds: иде это он накодил?
[12:31:44] <gds> да вроде пофиг.  как будут конфликты с camlp4 (а их не будет), тогда поменяем.  это легкодиагностируемое и легкоисправимое, то есть, некритично, когда именно менять.
[12:31:54] <gds> bobry: https://github.com/camlunity/nih
[12:32:42] <bobry> ах вот где >>
[12:32:58] <bobry> Prelude> :t (>>)
(>>) :: Monad m => m a -> m b -> m b
[12:33:00] <bobry> не сходится!
[12:33:19] <f[x]> bobry: язык другой
[12:33:24] <f[x]> ты перепутал!
[12:33:40] <bobry> :)
[12:34:05] <bobry> реквестирую стайл гайд для nih-кода
[12:34:29] <klapaucius> В f# (>>) - это (|-). Ну или flip (.) , если на нормальном языке.
[12:35:12] <gds> bobry: не нужен гайд особо.  А так -- см. InfixOps.
[12:35:19] <gds> .. для инфиксных операторов.
[12:36:02] <bobry> gds: ну шобы код был кошерный
[12:36:32] <gds> bobry: просто не надо его писать в шаббат, и нужно думать головой.  (даже не знаю, что важнее.)
[12:37:00] <f[x]> если будет не кошерный - я буду по рукам бить, ок?
[12:37:32] <Kakadu> f[x]: видимо нельзя тебе lablqt показывать)
[12:37:44] <bobry> f[x]: deal
[12:37:49] <gds> считается ли кошерным код, полученный из (аналога старого) camlp4 pa_r pr_o?
[12:37:50] <f[x]> ты его сделай чтобы работало - "я всё прощу"
[12:37:54] <f[x]> Kakadu: ^
[12:38:11] <Kakadu> )
[12:38:13] <f[x]> gds: более-менее
[12:38:43] <bobry> Error: Cannot find file /Users/bobry/.odb/lib/extlib/extLib.cmxa
[12:38:45] <bobry> hrm-hrm
[12:38:52] <gds> понял.  В общем, для меня приоритетно уболтать f[x] отревьюить спеку.
[12:38:57] <bobry> как это так? extlib ставил через odb
[12:39:29] <Kakadu> extlib не нужен
[12:39:49] <bobry> Kakadu: "… Core наше все"?
[12:40:30] <Kakadu> bobry: cap
[12:40:36] <f[x]> bobry: очевидно opt версию оно не сбилдило
[12:41:01] <f[x]> nih так не облажался бы (кстати каким образом? :) )
[12:41:32] <f[x]> эвристика для определения opt allopt итп таргетов?
[12:41:41] <bobry> интересно как оно умудрилось ее не сбилдить
[12:41:46] <f[x]> лексер makefile'ов нужен что-ли будет?
[12:41:48] <bobry> make all не содержит opt?
[12:41:51] <f[x]> bobry: да
[12:41:55] <f[x]> там отдельный таргет
[12:42:02] <f[x]> у многих олдскульных библиотек так
[13:01:57] <Kakadu> отстой. Какое-то нерабочее настроение сейчас((
[13:04:05] ftrvxmtrx вышел(а) из комнаты
[13:04:40] <gds> если кому интересен был проект litpro, можете поглядеть на http://paste.in.ua/3379/ , остальным будет непонятно.
[13:07:01] ftrvxmtrx вошёл(а) в комнату
[13:07:59] <Kakadu> действительно, непонятно
[13:10:35] <gds> там уже мелочи осталось дописать, потом расскажу и покажу подробнее.
[13:19:19] Typhon вошёл(а) в комнату
[13:42:27] komar вышел(а) из комнаты
[13:59:56] shaggie вошёл(а) в комнату
[14:10:06] ygrek вышел(а) из комнаты
[14:52:28] <Kakadu> Выслушал очередную лекцию на тему "Все хотя программистов веба --- иди прогай на РНР после универа, сынок". Что-то в печали я
[14:52:55] <gds> а чего тут печалиться -- делай дсл/кодогенератор в похапэ и всё.
[14:53:17] <Typhon> gds уже говорил чоткое "все хотят чуваков, которые проблемы решают", а не писателей на X
[14:54:47] <Kakadu> а правда достаточно крут, чтобы тупо решать пролемы?
[14:54:48] <gds> ну, если вдруг потребуется именно похапэ, да ещё и взаимодействие с тоннами готового кода, нужно не дсл/кодогенератор, а что-то другое, что сильно сложнее.
[14:55:55] <Kakadu> а если ещё пидарасы захотят кодэревю делать, то совсем пиздец
[14:56:08] <Typhon> а ув. f[x] может рассказать про взаимодействие с php %)
[14:56:33] <f[x]> всё взаимодействие сводится в serialize
[14:57:13] <f[x]> и пхпшники сыты, и камлисты целы
[15:05:59] <bobry> что-то я запутался, кто с кем взаимодействует? :)
[15:07:49] <Kakadu> bobry: да они тут фантастические вещи рассказывают
[15:13:04] gene9 вошёл(а) в комнату
[15:16:34] <gds> да, натуральная фантастика.  а у меня не serialize, а json поверх http (похапэ умеет json), и внутри, мать их, итераты.  и всё работает.  шок.
[15:25:44] Kakadu вошёл(а) в комнату
[15:26:03] <Kakadu> http://paste.in.ua/3381/raw/
[15:26:12] <Kakadu> C++ меня троллит
[15:45:29] bobry вышел(а) из комнаты
[15:50:16] bobry вошёл(а) в комнату
[15:52:48] Kakadu вышел(а) из комнаты
[16:01:55] <f[x]> value либо не подключён, либо переопределён
[16:10:45] Kakadu вышел(а) из комнаты
[16:21:04] Kakadu вошёл(а) в комнату
[16:22:36] Kakadu вошёл(а) в комнату
[16:24:56] ygrek вошёл(а) в комнату
[17:01:39] gene9 вышел(а) из комнаты: Replaced by new connection
[17:03:13] gene9 вошёл(а) в комнату
[17:29:10] gene9 вышел(а) из комнаты: Disconnected
[17:29:48] bobry вышел(а) из комнаты
[17:34:07] ygrek вышел(а) из комнаты
[17:46:49] shaggie вышел(а) из комнаты
[17:47:19] Typhon вышел(а) из комнаты
[17:50:44] Typhon вошёл(а) в комнату
[17:57:04] Typhon вышел(а) из комнаты
[17:58:00] Typhon вошёл(а) в комнату
[18:12:29] Typhon вышел(а) из комнаты
[18:14:17] Typhon вошёл(а) в комнату
[18:17:29] ftrvxmtrx вышел(а) из комнаты
[18:17:29] klapaucius вышел(а) из комнаты
[18:17:29] bobry вышел(а) из комнаты
[18:17:32] ftrvxmtrx вошёл(а) в комнату
[18:21:13] bobry вошёл(а) в комнату
[18:21:38] klapaucius вошёл(а) в комнату
[18:26:22] shaggie вошёл(а) в комнату
[19:13:56] <Kakadu> f[x]: препроцессинг не перераскрывает value
[19:14:05] <Kakadu> но вроде и не должен , ибо typedef intnat value
[19:18:26] <f[x]> как повторить?
[19:21:17] <Kakadu> f[x]: длинный вариант это http://paste.in.ua/3384/
[19:21:26] <Kakadu> но я работаю сейчас над коротким
[19:21:59] <f[x]> rm -rf не нужен, git clean -fdx достаточно
[19:23:11] <Kakadu> запушил изменения в inher, там сейчас компиляция падает
[19:23:37] <Kakadu> но я сделал это быстро и невнимательно, так что надежный вариант для воспроизведения это компилять целиком
[19:24:11] Typhon вышел(а) из комнаты
[19:24:16] Kakadu вышел(а) из комнаты
[19:30:12] Kakadu вышел(а) из комнаты
[19:34:32] <f[x]> Kakadu: QAccessibleEvent::value() не?
[19:34:59] <f[x]> точнее QSpinBox::value()
[19:35:02] <f[x]> перекрывает
[19:43:13] <f[x]> как обойти - либо генерить сишную функцию вне класса куда передавать this, либо вообще не регистрировать переменные (оно там точно надо?). Либо скопипастить CAMLlocal* и заменить там value на ::value
[19:45:19] <gds> я за вариант "сишная функция вне класса", если чо.
[19:45:41] <f[x]> либо отнаследоваться от SpinBox и закрыть value
[19:46:08] <f[x]> gds: угу, вроде норм вариант
[20:17:25] Kakadu вошёл(а) в комнату
[20:18:26] schurshik вошёл(а) в комнату
[20:20:50] schurshik вышел(а) из комнаты: qutIM : Jabber plugin
[20:22:27] <Kakadu> ну у вас и мозг однако
[20:22:36] Kakadu в шоке
[20:24:23] komar вошёл(а) в комнату
[20:24:44] <Kakadu> собстенно я не понял как это фиксить пока ни разу.
[20:25:09] ygrek вошёл(а) в комнату
[20:26:37] <Kakadu> 1. Это правда можно так реализовывать методы класса?
2. Регистрировать вроде надо, ибо я get_public_method делаю
3. а что заменять, можно подробнее
[20:27:49] <Kakadu> может мне тупо генерить уже раскрытый макрос и вместо value писать intnat?
[20:29:31] <f[x]> можно, но у читающих будет wtf
[20:29:51] komar вышел(а) из комнаты
[20:30:01] <f[x]> лучше скопипастить и заменить value на ::value
[20:30:26] <Kakadu> мне непонятно что имеется ввиду под ::value
[20:30:47] <f[x]> learn c++, baby
[20:30:50] ftrvxmtrx вышел(а) из комнаты
[20:30:54] <f[x]> глобальный namespace
[20:31:11] <Kakadu> ну вы вааще
[20:31:21] <f[x]> либо typename value использовать
[20:45:25] <gds> f[x], Kakadu, 1. typename -- стрёмная штука, судя по тупой выдаче гугла.  2. про intnat -- криво, так как внутри макроса, есть вероятность, value живут.  3. копипастить то, что может измениться -- криво, так как, сами понимаете.  Я это проанализировал сразу и пришёл к выводу, что сишная функция будет самое то, если это приемлемо.
[20:46:19] <Kakadu> gds: я не совсем понимаю что ты имеешь ввиду
[20:46:40] <gds> я многое имею ввиду.  ты про конкретный пункт или про моё предложение?
[20:46:56] <Kakadu> про сишную функци.
[20:46:59] <Kakadu> функцию
[20:47:22] <Kakadu> ты хочешь чтобы я в реализации метода просто вызывал нагенеренную сишную фанка с ещё одни параметром?
[20:47:30] <Kakadu> фанку*
[20:49:00] dzhon_over вошёл(а) в комнату
[20:49:17] <gds> как вариант -- да.  либо, если функция одна (тип/реализация не зависят от того, из какого класса вызывают), то один раз её прописать и ок.
[20:49:39] <dzhon_over> Всем здрасьте в этом чате :3
[20:49:51] <dzhon_over> Можно сходу пару вопросов:
[20:50:35] <dzhon_over> В каком состоянии нынче окамль ? Девелопится ли и активно ? И кто-нибудь имел саксесфул стори написания всяких сложных сетевых транспортов/p2p оверлеев на камле ?
[20:51:25] <gds> dzhon_over: да.  да.  да.
[20:53:20] <gds> хотя тут надо смотреть, что такое "активно девелопится".  рекомендую changelog тут.
[20:54:03] <dzhon_over> Я подразумевал постоянную команду девелоперов, стабильный роадмап и развитие в сторону наращивания количества биндингов и либ, да.
[20:54:04] <gds> а как "успешные истории" -- https://github.com/camlunity/kamlo_wiki/blob/master/RealWorld.md
[20:54:58] <gds> постоянная команда есть, роадмапа нет, биндинги и либы не относятся к разработке собственно окамла, этим заняты другие люди.
[20:55:18] <dzhon_over> о, толковый список, спасибо! На офсайте гораздо меньше.
[20:57:25] <dzhon_over> Да, есть ли в компиляторе распараллеливатель или хотя бы некие порты OpenMP/MPI, etc ?
[20:57:42] <Kakadu> в библиотеках есть
[20:58:43] <dzhon_over> Угу. На практике получается ли писать код в чисто функциональном стиле ? Или что выходит ? Буду благодарен мнению олдфагов :)
[20:59:12] <gds> в библиотеках есть mpi (но не помню точно), есть кучи других средств (от суровых ocamlnet и до легковесных https://gitorious.org/parmap , которые кто только ни велосипедил в своих проектах).
[21:00:00] <dzhon_over> Да, как я понял кэмпловый софтварь трекер сейчас уже мертв ?
[21:00:18] <dzhon_over> Народ на гитхабах расселся ?
[21:00:18] <gds> в чисто-функциональном стиле -- получается, и даже очень.  Пара мелочей есть, разве что (например, value restriction, легко обходится).
[21:01:13] <gds> если речь про caml hump, оно обновляется не часто.  есть специализированный http://forge.ocamlcore.org/ , есть просто гитхабчеки.
[21:01:27] <gds> ну и bitbucket, и repo.or.cz.
[21:02:18] <dzhon_over> вот я про окамлфордж, хотя сейчас вижу, что что-то шевелится
[21:02:50] <gds> для старого кода рекомендую также caml hump -- с минимумом ручных усилий почти всё оттуда заведётся нормально.
[21:02:52] ygrek вышел(а) из комнаты
[21:02:56] <dzhon_over> Да, не холивара ради, что дает F# в сравнении с кэмлом ? Только лишь сахар или есть нечто, что заставляет вздыхать и оглядываться ?
[21:03:36] <dzhon_over> gds: Спасибо за ответы, кстати! Очень неожиданно быстро узнаю, что хотел давно спросить, да было не у кого.
[21:03:39] <gds> F# -- не использовал лично, но, судя по впечатлениям на основе прочитанного, кое-что заставляет не использовать F#.
[21:03:54] <dzhon_over> Я так понял, отсутствие реализации в моно ? :)
[21:04:04] <gds> dzhon_over: да не за что, кто-нибудь другой ответил бы.  чятик же.
[21:04:23] <Kakadu> dzhon_over: какая-то реализация есть, но бажная
[21:05:06] <dzhon_over> Ну и да, OCamlWin у меня почему-то сыпется постоянно, правда собирал в студии. Это проблемы поддержки винды ?)
[21:05:22] <Kakadu> винда не нужна)
[21:05:41] <gds> нет, чисто языковые вопросы в F# не ок -- например, мне важно то, что там могут быть неинициализированные значения, что там нет полиморфных вариантов, вроде с функторами не ок (есть ли они там -- не специалист).  ну и для некоторых применений не ок то, что там рантайм-инфа таскается всегда.
[21:06:06] <dzhon_over> Нужна, не нужна. Но хочется, как в Си :) Чтобы везде работало )
[21:06:29] <gds> OCamlWin -- не спец, не знаю.  консолька для мелочей есть, но вообще, я как-то только для мелочей использую его, и консольный, который под mingw.
[21:06:52] <gds> кстати, если mingw приемлем, бери сразу оверблд -- там порядка 20 либ сходу, вендовый инсталлер, и есть кого в этом чятике попинать про него.
[21:07:13] <gds> да, хочется, чтобы везде работало.  и F# тут не ок, требует каких-то усилий.
[21:07:15] <dzhon_over> Ну я вот тоже на консольном гоняю примеры из книги, поскольку графический сыпется.
[21:07:46] <gds> ну вот и замечательно.
[21:08:04] <dzhon_over> mingw приемлем, просто основной язык C++, основная IDE -- VS, поэтому сила привычки взяла верх
[21:08:17] <dzhon_over> :)
[21:08:34] <Kakadu> нада тебя на кутэшечку подсадить
[21:08:43] <dzhon_over> Уже сижу на ней
[21:08:49] <dzhon_over> а биндинги для камла есть ?
[21:08:55] <Kakadu> будут!
[21:08:57] <gds> dzhon_over: если mingw ок, то http://overbld.sourceforge.net/ , но IDE там -- если емакс/вим заюзаешь.
[21:09:18] <dzhon_over> ох ! Спасибо, не видал раньше!
[21:09:35] <Kakadu> dzhon_over: правда оверблд бажный
[21:09:46] <dzhon_over> Что входит в это понятие ?
[21:09:48] <gds> Kakadu: или твоя система?
[21:10:12] <gds> Kakadu: без полного и всеобъемлющего багрепорта -- наглющая клевета!
[21:10:13] <Kakadu> gds: tercium non gratum
[21:12:17] <dzhon_over> Qt я видел, что пытались портировать 3-ий, а вот 4-го что-то и не попадалось, тем временем активно уже юзаю 4.8, хм.
[21:14:22] <gds> dzhon_over: Kakadu как раз пишет биндинги к qt для камла, и, если чо, помощь была бы очень ок, если вдруг окамл сам по себе понравится для твоих дел.
[21:16:26] <dzhon_over> ооокей!
[21:16:49] <dzhon_over> Но я, боюсь, не обладаю должным уровнем того же экспириенса еще :)
[21:16:53] <dzhon_over> в камле
[21:18:14] <Kakadu> dzhon_over: а я вот только узнал про глобальный нэймспейс в плюсах)
[21:19:27] <dzhon_over> Может анонимный ?) Глобальный -- это же никакой, фактически :)
[21:20:31] <Kakadu> ну когда ::вначале писать
[21:20:50] <dzhon_over> ааа, явное обращение к глобальному, понел :)
[21:33:00] <gds> dzhon_over: про опыт -- вот и говорю, если окамл понравится для дел, для которых, в том числе, захочется qt.  А если сам окамл не понравится -- что ж, глупо было бы помогать в биндингах к нему :)
[21:35:01] <dzhon_over> Да пока нравится, раньше, еще в универе, что-то пробовал на хаскеле, показалось много задротства и математики на пустом месте. Ну т.е. перфекционизм во все поля.
[21:35:10] <dzhon_over> Окамл как-то больше похож на ФЯП с человеческим лицом.
[21:45:48] <gds> это да, но сила -- не только в функциональности, но и 1. в строгом порядке вычислений по умолчанию -- гораздо проще выкатывать готовые продукты без (или с незначительным количеством) профайлинга без предварительной расстановки аннотаций строгости, 2. в доступности различных парадигм -- функциональная, императивная, объектная -- с разными плюсами и минусами.  (кстати, в своей либке, с помощью которой я приношу (пока в свои программы) некую явную рантайм информацию о типах, задействовано практически всё, что окамл только может дать -- для удобства таки.)
[21:47:23] <Kakadu> dzhon_over: читай между строк: у gds в липке что-то неввообразимо дикое
[21:47:29] <Kakadu> либке(
[21:47:31] <Kakadu> *
[21:48:07] <gds> Kakadu: сделаешь удобнее по заданным критериям (важным мне) -- с меня некая сумма денег.
[21:48:41] <dzhon_over> :)
[21:51:03] ermine вышел(а) из комнаты
[21:55:37] shaggie вышел(а) из комнаты
[22:34:24] bobry вышел(а) из комнаты
[22:34:29] bobry вошёл(а) в комнату
[22:34:51] <bobry> господа, а почему таки curl в nih'e? просто для proof of concept?
[22:39:02] <Kakadu> bobry: а ты что хотел туда написать? wget?
[22:39:10] <bobry> ocamlnet!!11
[22:40:04] <gds> bobry: потому что так надо.  А какие _разумные_ варианты есть?
[22:44:47] <Kakadu> в моей войне с акросами пока получается вот такая портянка. Как бы победить ошики конпеляции...
[22:44:50] <Kakadu> http://paste.in.ua/3386/
[22:47:06] <bobry> gds: а как же винды? кто туда курл будет ставить?
[22:49:04] <gds> bobry: как до венды дойдёт -- посмотрим.  с другой стороны, а всякие git/hg/svn -- тоже ведь надо будет ставить.  чем http такой особенный?
[22:49:26] <bobry> тем что для него есть камло либа
[22:50:08] <Kakadu> bobry: я думаю них должен калонет ставить, не?
[22:50:11] <gds> bobry: ты компилировал ocamlnet падвендой?
[22:50:15] <Kakadu> камлонет*
[22:50:22] <gds> калонет звучит лучше.
[22:50:29] <bobry> неа -- только в линуксах
[22:51:31] <gds> а в моём раскладе у ocamlnet таки патчи имеются.  кажется, если его использовать, в mingw вообще не соберётся.  это хорошо?
[22:51:59] <bobry> все, расклад понял :) вопросов больше нет
[22:53:04] <gds> а вот насчёт wget -- разумно, так как сходу curl/mingw не нашёл, но и не сильно искал, а бинарник wget.exe где-то валяется, и я даже его для матьего продакшона использовал лол
[22:53:32] <bobry> production tested :D
[22:53:49] <gds> но это не важно, curl попрямее, всё-таки.  может, через два с половиной года, когда nih pm будет готов, сделают curl/mingw.
[22:53:53] <Kakadu> а если wgetа нет. то них поругается и даст ссылочку на камлюнити где скачать
[22:54:22] <bobry> sounds fine
[23:00:17] <bobry> коллега сегодня ковырялся с json'ом на х-ле, там конечно json-static и не пахнет
[23:00:31] <bobry> надо явно реализовывать инстанс FromJson для каждого типа
[23:04:26] komar вошёл(а) в комнату
[23:42:32] Kakadu вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!