Ш̴̴̜̥͍͕̼̙̱͙͎͍̘̀̐̔́̾̃͒̈̔̎́́͜р̧̛̺͖͖̯̖ͧͤ͋̅̽ͧ̈̐̽̆̐͋ͤͦͬ͛̃̑͞͞и̒ͥͤͯ͂ͣ̐̉̑ͫ̉̑҉̛͏̸̻͕͇͚̤͕̯̱̳͉ͅф̴̴̡̟̞͙̙̻͍̦͔̤̞̔̓́̍͗̚͢͞ͅт̨̐ͫ̂͊̄̃ͥͪ͏̫̺͍̞̼͈̩̥̜͔͜͜ы̸̴̱̺̼̠̦͍͍͍̱̖͔̖̱͉̅͑͌͒ͫ͒̀ͥ͐ͤ̅͘̕.̵̴̡̭̼̮͖͈̙͖͖̲̮̬͍͙̼̯̦̮̮ͦ̆̀̑̌ͮͧͣͯ̔̂́͟г͌ͮ̏̈͂ͯ̚҉̛̙̬̘̲̗͇͕̠̙͙̼̩͚̀͘͞ͅо̷̥̯̘̓ͤ̽͒̋̉̀̂̄̒̓̊ͨ͛́̌ͤ̂̀͠в̶̒͒̓̏̓̚҉̛̙̘̺̰̮̼̟̼̥̟̘̠̜͜н̸̷̸̲̝͈͙̰̟̻̟̰̜̟̗͎̻̻͍̿̔̃ͨ͑о̔̀̋ͫ̇̿̐ͫ͌͗ͩ҉̨̜̙̙͈͍̮̮̼̙̘̞̕͜͡ Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

> The source for time has now moved to GitHub
#1G5PJC (0) / @kb / 3774 дня назад

Я уже говорил что обожаю библиотеку foldl?

Сначала, когда надо было максимально быстро зафигачить репорты, я тупо описал фолд из потока ивентов в конкретный репорт (единственно нужный). Теперь нужно сделать другой вид репортов -- хуяк-хуяк, логику подсчёта вынес в отдельный переиспользуемый тип (каждый "счётчик" считает не в большой тип AdReport а просто в Integer), написал две функции "поднятия" фолдов для каждого конкретного формата репорта и всё слепилось аккуратненько. Красота неимоверная.

#3RTTC5 (0) / @kb / 3824 дня назад

Жуйк, какой из вариантов ты бы выбрал? http://i.imgur.com/86pj9Pb.png

#NGSDYF (19) / @kb / 3825 дней назад

Кто там говорил про "документацию на типах"?

replace :: Text -> Text -> Text -> Text
#TYJGXD (5+1) / @kb / 3831 день назад

Кароч, и правда я был лохом, вместо собственных операторов и прочей позорной хуйни переписал с использованием Either'ов и её монадно-апликативнофункторности-хуюрности и стало шелковистее.

Код в студию! http://i.imgur.com/R8jtqYJ.png

#PST86V (16) / @kb / 3835 дней назад

tfw проебался с апгрейдом на 7.8, всё уже починил (зависимости), а из-за какого-то хуёвого бага придётся всё откладывать до 7.8.3

https://ghc.haskell.org/trac/ghc/ticket/8768

#XC891E (1) / @kb / 3850 дней назад

Всё-таки cabal sandbox add-source идеально сделали. Прямо вообще никакого традиционного оверхеда от форков не чувствуется, ждёшь себе спокойно пока в апстрим внесут и пофигу как-то.

#8L8CNK (1) / @kb / 3852 дня назад

wow such lens

Couldn't match type `UTCTime' with `Event'
Expected type: Getting Event Event Event
#Z3XAIL (0) / @kb / 3856 дней назад

Обожаю

asyncConsumerAction :: Consumer a -> Consumer (Async a)
asyncConsumerAction action = ask >>= liftIO . async . runConsumerM_ action
#29AP96 (1) / @kb / 3874 дня назад

Удивителен этот ваш мир параллельных/конкурентных/etc вычислений. Вот есть у меня работа с БД, сначала сделал тупой алгоритм "взял из бд -> запроцессил -> взял следующий -> запроцессил". Это работало крайне медленно. Ну я в качестве быстрого и дешёвого ускорения взял и переделал на "одновременно взять 10 штук -> запроцессить -> еще 10 штук", при чём каждый раз жду пока все 10 запросов завершатся, то есть совсем не оптимально, как мне казалось.

Всячески пытался это переделать кучей (4мя или 5ью) разных способов, никогда в жизни столько многопоточного кода (да ещё и с разными извращениями) не писал. Результаты каждый раз чем-то новым удивляют, но главное -- они всегда медленнее, чем вот тот тупой вариант, считывающий кусок за куском. Даже алгоритм "считывай точно так же кусок за куском, но в отдельном треде" получился медленнее.

В общем, надо будет как-то капитально засесть и разобраться почему вся эта херня происходит (а ещё книгу Марлоу как раз будет повод прочесть, задрал этот Окасаки, застрял на нём).

#BMWK57 (15) / @kb / 3874 дня назад

Дорогой друг, читающий эту заметку. Никогда, блять, не пиши ToJSON/FromJSON руками, особенно если оно как-то меняет данные, особенно если пишешь только ToJSON. // а то я тут такими извращениями теперь занимаюсь по типу let valsToTimeDatum = fmap ((map (uncurry TimeDatum)) . (zip timeSeries))

Спасибо.

#19V5VL (6) / @kb / 3878 дней назад

Почувствовал себя достаточно взрослым, чтобы в большой проект внести вот так вот сразу три новые зависимости: pipes, foldl, да ещё и lens. Последняя пока не нужна, но уже 100 раз был момент когда я был не прочь ею воспользоваться.

#E9UGAK (2) / @kb / 3879 дней назад

Ох уж эти ваши хаскели. Захотел простую опцию в командную строку запилить. Гуглом нашёл имеющийся из коробки System.Console.GetOpt. Читаю (и пытаюсь адаптировать) второй пример внизу:

...

         (o,n,[]  ) -> return (foldl (flip id) defaultOptions o, n)
...

Что за flip id?

λ> :type flip
flip :: (a -> b -> c) -> b -> a -> c
λ> :type id
id :: a -> a
λ> :type (flip id)
(flip id) :: b -> (b -> c) -> c

Поломал 10 минут голову пока примерно не понял что происходит. Ну, ок, идём дальше:

        (OptArg ((\ f opts -> opts { optOutput = Just f }) . fromMaybe "output")

Что за fromMaybe "output"? То мы сверху defaultOptions делаем, то мы снова делаем что-то подобное им, только ещё и неясно зачем "output". Убрал fromMaybe-часть, поборолся с компилятором и понял, что эта "магия" именно потому, что там у нас уже точно будет Just значение, но мы всё равно получим Maybe foo. Короче чисто чтоб компилятор успокоить.

В общем, люблю хаскель, с пользой поупражнялся в типах.

#GFOKXZ (18+1) / @kb / 3881 день назад

Это tfw чувство когда наконец-то блять починился ghc-mod и нормально работает в haskell-mode. Пожалуй, больше обновлять его не буду в ближайшее время, т.к. последние пару недель без него были тяжёлыми.

#5I7I41 (1) / @kb / 3889 дней назад

Чувак пилит в разные бранчи для ревью Applicative => Monad, OverloadedRecords, а кто-то сразу постит на реддит новости "Hot" и "Wow", этот же чувак идёт и отбивается, мол, еще только на ревью, подождите.

Не знаю, как правильно выразить мои чувства по этому поводу.

#HSD5DJ (3) / @kb / 3915 дней назад

Моя история http://bodil.org/hipster/#/

#WC33ZJ (2) / @kb / 3923 дня назад

Блин, хаскель, конечно, крут, защищает тебя типами, но теперь здесь обратная проблема. Теперь вот у hbeanstalk. Зачем-то функция "посмотреть свойства задачи" возвращает Map ByteString ByteString. Ну, то есть, то ли я чего-то не понимаю, то ли автор и правда не подумал. Естественно, проперти задачи -- это что-то, что хочется, ну, как минимум иногда вывести на экран.

Короче думайте о тексте, пацаны.

// ппц, хочешь за 3 минутки накидать чего-то, а идёшь и пишешь в бнв про ерунду всякую которая не нравится в процессе

#6Y0KUN (1) / @kb / 3942 дня назад

А вообще, чем больше мучаешься в ручным рефакторингом хаскеля, тем больше понимаешь, какие же охуенные ИДЕ для него возможны. Всем джавам и не снилось. Жаль, что я тупой.

#EGGCXO (1) / @kb / 3951 день назад

Переделываю hedis на повсеместное использование NonEmptyList. Ох, чувствую, пошлют меня нахуй :(

#5UFT72 (0) / @kb / 3952 дня назад

Нет, ну какое же зло в плане времени компиляции этот ваш темплейт хаскел. Выкидываю потихоньку все эти printf (да и выглядят они как говно).

#3I93CM (2) / @kb / 3954 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.