Home
Objective Caml
ocaml@conference.jabber.ru
Воскресенье, 29 апреля 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:51:29] dzhon вышел(а) из комнаты
[01:05:35] tilarids вышел(а) из комнаты
[01:12:20] bobry вышел(а) из комнаты
[01:22:18] bobry вошёл(а) в комнату
[01:41:14] komar вышел(а) из комнаты: Replaced by new connection
[01:41:14] komar вошёл(а) в комнату
[02:16:24] Sun][ вышел(а) из комнаты
[02:25:21] bobry вышел(а) из комнаты
[02:39:16] Kakadu вышел(а) из комнаты
[03:46:35] komar вышел(а) из комнаты: Replaced by new connection
[03:46:35] komar вошёл(а) в комнату
[04:16:53] komar вышел(а) из комнаты
[04:18:31] komar вошёл(а) в комнату
[04:52:52] komar вышел(а) из комнаты
[04:54:01] komar вошёл(а) в комнату
[05:27:59] ftrvxmtrx вышел(а) из комнаты
[06:12:00] letrec вошёл(а) в комнату
[06:12:07] letrec вышел(а) из комнаты
[06:12:22] letrec вошёл(а) в комнату
[07:45:41] komar вышел(а) из комнаты
[07:46:19] komar вошёл(а) в комнату
[10:32:13] ermine вошёл(а) в комнату
[10:35:09] Kakadu вошёл(а) в комнату
[10:37:02] ftrvxmtrx вошёл(а) в комнату
[11:33:51] bobry вошёл(а) в комнату
[11:45:24] tilarids вошёл(а) в комнату
[11:46:01] tilarids вышел(а) из комнаты
[11:46:13] tilarids вошёл(а) в комнату
[12:14:41] letrec вышел(а) из комнаты
[12:20:11] <tilarids> ocsigen-based сайты тоже ounitом тестируются? Или есть удобные дополнительные ништяки?
[12:44:25] <Kakadu> а зачем тестировать? компилится --- значит работает)
[12:57:50] <tilarids> работвет и работает правильно - разные вещи :)
[13:16:45] <bobry> Kakadu, ну-ну, где то мы это уже слышали :)
[13:24:42] bobry вышел(а) из комнаты
[13:30:11] Sun][ вошёл(а) в комнату
[13:36:49] <komar> tilarids: нет.
[13:36:54] <komar> На оба вопроса.
[13:37:44] <komar> tilarids: http://cukes.info/ — вот это говно ставь и тести себе сайтики.
[13:41:06] <tilarids> komar, да внешними тулами я и питоновским твиллом протестирую, он мне ближе
[13:41:14] <komar> Олсо, приложения на оксигене так сложно скомпилировать без ошибок, что тесты я считаю оверкилом.
[13:41:28] <komar> Даже на w3validator можно не ходить, если у тебя OCamlduce заюзан.
[13:41:39] <komar> Я второго такого фреймворка назвать не могу.
[13:42:52] <tilarids> как я уже говорил - работать и работать правильно - разные вещи
[13:43:17] <tilarids> веб испокон веков связывается строками. Вот эту строчную связность и нужно тестить
[13:43:34] <tilarids> не верю, что в оксигене нет строчной связности. Это было бы прикольно, но это будет не веб
[13:43:43] <komar> oh god
[13:44:37] <komar> Все ссылки (если не выпендриваться с «небезопасными» сервисами) прибиты типизированными гвоздями.
[13:45:12] <komar> С формами то же самое.
[13:45:18] <komar> Про разметку сказал уже.
[13:45:21] <komar> Что еще забыл?
[13:45:36] <tilarids> пользовательский ввод
[13:45:57] <tilarids> не сами формы, а структура того, что вводит юзер
[13:46:25] <komar> Э-э?
[13:46:34] <komar> Делать тесты на слишком длинные пароли, что ли?
[13:46:58] <tilarids> например, у меня какой-то ресурс выдается по токену. Токен == строка. На невалидную строку нужно выдавать правильное "пошел нафиг".
[13:47:24] <tilarids> TDD подход - написать два простеньких теста - на валидный токен и на невалидный токен
[13:47:27] <komar> Если у тебя токен не велосипедный, то обосракция все разрулит.
[13:47:48] <tilarids> велосипедный
[13:48:08] <komar> Ну вот.
[13:48:30] <tilarids> и такой и должен быть
[13:49:39] <tilarids> ну, и там всякая фигня дополнительная. Например, мне нужно какой-то ресурс закрыть каптчей. Каптча - посторонний сервис. Хотелось бы увидеть, что любой юз-кейс обрабатывается правильно
[13:49:59] <tilarids> вообще, я оксиген и хочу попробовать ради того, чтобы поменьше тестов писать. Но совсем без них вряд ли выйдет
[14:06:40] f[x] вошёл(а) в комнату
[14:08:40] tilarids вышел(а) из комнаты
[14:08:40] f[x] вышел(а) из комнаты
[14:33:01] bobry вошёл(а) в комнату
[14:34:07] tilarids вошёл(а) в комнату
[14:39:48] f[x] вошёл(а) в комнату
[14:48:32] bobry вышел(а) из комнаты
[14:51:04] shaggie вошёл(а) в комнату
[14:53:00] bobry вошёл(а) в комнату
[15:01:31] letrec вошёл(а) в комнату
[15:01:38] letrec вышел(а) из комнаты
[15:01:53] letrec вошёл(а) в комнату
[15:45:08] f[x] вышел(а) из комнаты
[15:48:52] bobry вышел(а) из комнаты
[15:49:39] bobry вошёл(а) в комнату
[16:01:42] ftrvxmtrx вышел(а) из комнаты
[16:04:41] ftrvxmtrx вошёл(а) в комнату
[16:14:41] komar вышел(а) из комнаты: Replaced by new connection
[16:14:41] komar вошёл(а) в комнату
[16:23:51] bobry вышел(а) из комнаты
[16:24:08] Sun][ вышел(а) из комнаты: Replaced by new connection
[16:24:08] Sun][ вошёл(а) в комнату
[16:35:23] bobry вошёл(а) в комнату
[16:41:27] <bobry> tilarids: а что ты хочешь на оксигене писать?
[16:42:50] tilarids вышел(а) из комнаты
[16:48:55] tilarids вошёл(а) в комнату
[16:49:28] tilarids вышел(а) из комнаты
[16:49:43] tilarids вошёл(а) в комнату
[17:12:15] tilarids вышел(а) из комнаты
[17:15:58] <Kakadu>   let rec loop acc lst =
    match lst with
      | 1 :: x :: r :: tl -> (* move integer to a register *)
          with_reg r >>= (fun r -> incr3 (); loop ((Mov2(x,r) :: acc) tl) )
      |
[17:16:14] <Kakadu> что-то я на это посомтрел и мне стало стрёмно за хвостовую рекурсию
[17:16:56] <bobry> Kakadu: так не будет тут оптимизации вроде
[17:20:34] <Kakadu> bobry: да и я вот тоже так думаю
[17:20:49] <Kakadu> а так бодро код писался
[17:29:16] <gds> а чо это манатки тут вместе с императивщиной?  Хочешь дополнительно чесать репу насчёт того, как оно будет работать?
[17:31:29] <Kakadu> переписал на тупую императивщину уже
[17:31:59] <Kakadu> манатки были лишними
[17:44:20] <bobry> мне нравится документация GHC, что за фичу не возьми, почти всегда какой нибудь один пример и ссылка на папир
[17:44:40] <bobry> ex: http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/generic-programming.html
[18:04:56] tilarids вошёл(а) в комнату
[18:05:15] tilarids вышел(а) из комнаты
[18:05:28] tilarids вошёл(а) в комнату
[18:29:23] <gds> bobry: что ещё раз доказывает то, что окамл -- язык гораздо проще, и в нём не нужны подобные академотные выкладки.
[18:29:56] <Kakadu> gds мастер говорить  на черное --- белое )
[18:31:00] <gds> не, ну когда вам нужно было читать академоту, чтобы понять, как через окамловскую stdlib что-то сделать?  (при том, что вопрос заключался собственно в использовании stdlib, а не в алгоритмах.)
[18:31:31] <Kakadu> не, никогда
[18:32:12] <gds> вот, я про это же.
[18:32:16] <bobry> gds, ну тут не совсем stdlib, но в общем то да -- окамл гораздо проще
[18:32:40] <Kakadu> Ну там же вроде не ссылка на stdlib, там поисание какого-то дженерика, т.е. надо сравнивать с чем-то типы with_return
[18:32:43] <bobry> уровень документации тоже впечатляет, http://www.haskell.org/ghc/docs/7.4.1/html/libraries/ghc-prim-0.2.0.0/GHC-Generics.html
[18:32:48] <bobry> Kakadu: вот тебе на stdlib
[18:33:12] <bobry> newtype K1 i c p -- конечно же все type variables имеют meaningful names
[18:33:15] <gds> bobry: тут расширения компилятора, понимаю.  И да, окамл проще.  Но почему все х-исты утверждают, что х-ь проще -- вот это не пойму.
[18:38:10] <tilarids> bobry, >> tilarids: а что ты хочешь на оксигене писать?
мелкосервис некоммерческий
[18:39:59] <Kakadu> Sun][: как там кутэ?
[18:56:57] ftrvxmtrx вышел(а) из комнаты
[18:59:55] ftrvxmtrx вошёл(а) в комнату
[19:31:54] tilarids вышел(а) из комнаты
[19:32:19] letrec вышел(а) из комнаты
[19:32:49] tilarids вошёл(а) в комнату
[19:33:30] tilarids вышел(а) из комнаты
[19:33:44] tilarids вошёл(а) в комнату
[20:27:19] <bobry> tilarids: будет интересно почитать посты по теме, а то я пока только на х-ле веб потрогал
[20:28:42] <tilarids> bobry, я на хаскеле не трогал, испужался
[20:29:00] <tilarids> если что получится - могу маленький пост-мортем написать
[20:29:40] <bobry> можно и не маленький, а можно и прямо сюда ощущения писать :)
[20:40:05] <tilarids> оок
[20:40:26] <tilarids> первое ощущение - ocsigen server настраивать проще, чем всякие эти ваши nginx/lighttpd
[20:40:35] <Kakadu> О да
[20:40:42] <tilarids> а по производительности он вроде как очень даже хорош
[20:40:49] <Kakadu> а не тикёть*
[20:40:51] <Kakadu> ?
[20:41:18] <tilarids> я не пробовал его бенчмаркить нормально
[20:41:46] <tilarids> захостил вот личную страничку, погонял по сети, все тормоза - на стороне сети
[20:45:32] <komar> ермайн вроде говорила, что тикеть.
[20:45:55] <komar> Я сколько не гонял — все нормально.
[20:46:10] <Kakadu> но это год назад было
[20:46:50] <bobry> в рассылке недавно было шо та про течь в lwt
[20:46:55] <bobry> но /me невнимательно читал
[20:47:32] <Kakadu> ладно, не будем больше чеовлека отпугивать
[20:47:52] <bobry> ага :)
[20:48:09] <bobry> кстати в оксигене на итератах хттп парсилка?
[20:48:18] <Kakadu> не думаю
[20:48:21] <komar> Ага, щаз.
[20:48:55] <komar> И идите вы в жопу со своими умными парсилками http, например.
[20:48:57] <bobry> в х-ле два сервера, один на итератах, другой на кондуитах :)
[20:49:07] <bobry> komar: почему?
[20:49:20] <komar> Из-за ваших комбинаторов на х-ле нет ни одного фреймворка, который не сжирал бы 9000 памяти при загрузке файла в мегабайт.
[20:49:36] <bobry> komar: proof?
[20:49:45] <komar> dump.bitcheese.net
[20:50:00] <komar> Его переписывали сначала на х-ль.
[20:50:17] <komar> Потом оказалось, что в х-ле один фрейворк прекраснее другого и написали на ерланге.
[20:50:29] <komar> Память при загрузке файла он не жрет, зато рандомно падает.
[20:50:32] <komar> Влом переписывать.
[20:50:44] <bobry> рандомно падает? што?
[20:51:23] <bobry> у нас snap в продакте работает, правда файлы мы через него не гоняем -- so far все ок
[20:52:16] <komar> Не знаем, што.
[20:52:21] <komar> Знали бы — профиксили.
[20:52:27] <bobry> а что за либа?
[20:52:36] <bobry> мочивеб какой нить небось
[20:53:15] <komar> В прошлый раз я загружал параллельно несколько фоток в 3 мегабайта весом, ерланг сожрал всю память и повесил VPS во Франции.
[20:53:59] <bobry> звучит очень странно
[20:54:22] <komar> А вот komar.bitcheese.net на оксигене работает отлично.
[20:54:40] <komar> Только раз в полгода падает в сегфолт. Вылечил, добавив в стартовый скрипт while true; do ...; done
[20:54:54] <komar> И еще у него иногда darcs зависает.
[20:54:56] <bobry> сегфолт? лол, да уж -- отлично
[20:56:04] <gds> "Из-за ваших комбинаторов на х-ле нет ни одного фреймворка, который не сжирал бы 9000 памяти при загрузке файла в мегабайт."
так зачем итераты на х-е.  У меня итераты на окамле, всё работает, ничего не жрёт больше положенного.
[20:56:29] <komar> Затем, чтобы ибо нефиг.
[20:56:50] <komar> Можно и комбинаторный разбор сделать так, чтобы память не засирать.
[20:56:53] <komar> Но никто не делает.
[20:57:13] <komar> Потому что влом, не умеем, не знаем, как оно внутри, и вообще — память нынче дешева.
[20:57:58] <komar> gds: кстати, я фотки тебе загружал.
[20:58:01] <komar> Школьные.
[20:59:33] <gds> вся суть итератов как раз в том, чтобы не жрать память.  И вот, Олег не обманывает, память лишняя не жрётся, и довольно непросто заставить её жраться.
[20:59:52] <komar> УГу.
[21:00:00] <komar> В теории.
[21:00:54] <bobry> komar: вощем та и на практике тоже, даже из того что я видел
[21:02:58] <komar> На практике парсинг пойдет писать академик, которому этот сервер нужен только для листингов в докторской.
[21:11:15] <gds> komar: на практике парсинг пишет быдло наподобие меня, и публикует это, например, в https://bitbucket.org/gds/amall/src/9dd5067030c4/src/amall_http.ml#cl-289
[21:19:08] <komar> Неплохо.
[21:20:30] <bobry> когда хрянцузы наконец сообразят что камло тоже нужна do-notation ..
[21:25:45] <komar> А мне норм.
[21:27:17] <bobry> а мне синтаксис мешает
[21:28:21] <gds> синтаксис -- ерунда, семантика -- важно.
[21:30:07] <bobry> gds: почему ерунда? то что сложно читать чаще всего сложно и писать
[21:30:12] <bobry> и уж тем более поддерживать
[21:47:30] Sun][ вышел(а) из комнаты
[21:48:18] Sun][ вошёл(а) в комнату
[22:25:01] <Kakadu> gds: ты был прав. Комбенаторы не так уж просты. Сижу вот смотрю как баран на новые ворота почему не работает
[22:51:09] <bobry> Kakadu: на что ты смотришь?
[22:51:28] <Kakadu> Да разобрался уже
[22:51:34] <Kakadu> окончания строк подели
[22:52:35] <Kakadu> подвели*
[22:55:58] komar пытался изобрести комбинаторы пару раз.
[23:33:36] bobry вышел(а) из комнаты
[23:35:52] ftrvxmtrx вышел(а) из комнаты
[23:36:46] bobry вошёл(а) в комнату
[23:39:40] ftrvxmtrx вошёл(а) в комнату
[23:40:19] ftrvxmtrx вышел(а) из комнаты
[23:40:32] ftrvxmtrx вошёл(а) в комнату
[23:41:19] ermine вышел(а) из комнаты
[23:50:47] bobry вышел(а) из комнаты
[23:53:19] bobry вошёл(а) в комнату
[23:55:51] ftrvxmtrx вышел(а) из комнаты
[23:56:22] ftrvxmtrx вошёл(а) в комнату
[23:56:22] ftrvxmtrx вышел(а) из комнаты
[23:57:59] ftrvxmtrx вошёл(а) в комнату
[23:58:00] ftrvxmtrx вышел(а) из комнаты
[23:58:25] ftrvxmtrx вошёл(а) в комнату
[23:59:45] Sun][ вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!