- @0xd34df00d: *python *ruby *haskellЯ, пожалуй, не буду поддаваться тренду и не скажу, как удаляются пакеты, поставленные cabal'ом.9 months ago; 10 replies
- @0xd34df00d: *haskell *c++ *говноА ведь даже ничего страшного, если задуматься: paste.pocoo.org9 months ago; 11 replies
- @L29Ah: Иногда лучше жевать, чем говорить.
- @0xd34df00d: *haskell *c++Нет, я уже совсем пизданулся. Нужно построить грамотный operator< для структуры, состоящей из 5 элементов, у каждого из которых определен свой operator<.
Лобовой подход: paste.org.ru
Написал. Стошнило. Захотелось написать шаблонный бинарный предикат P, принимающий указатель на член структуры где-то в конструкторе и две структуры в operator() и возвращающий member1 != member2 && member1 < member2, а затем написать шаблонный «комбинатор» предикатов, опять на вариадиках, принимающий неограниченное количество бинарных предикатов и две структуры, и делающий pred1 || pred2 || pred3 ...
Тогда искомый код будет записан как, по смыслу (при выполнении очевидных соглашений)
return Combinator<QUrl, QString, QString, QString, QString> (P (&ElementData::PageURL_), P (&ElementData::FormID_), P (&ElementData::Name_), P (&ElementData::Type_), std::less<QString> ()) (left, right);
Блин, какие же плюсы вербозные.9 months ago; 11 replies- @L29Ah: да пиши ты уже на хаскеле, прекрати насиловать себя говна плюсами
- @0xd34df00d: *haskell *c++Вообще говоря, если у нас есть N функторов, например, для поиска подходящего элемента в контейнере, и возникает задача последовательного ослабления критериев (количества функторов, которые должны одновременно возвращать true), если на предыдущем этапе ничего не найдено, и необходимо пройтись по всем возможным комбинациям функторов, то можно сделать как-то так. Ввести некий фиктивный функтор, всегда возвращающий true, неплохо ебануться на отличненько с шаблонами и, в частности, variadic templates для реализации list comprehension из этих функторов, дабы сформировать соответствующий массив N-мерных векторов из функторов, где N — количество функторов, во всевозможных комбинациях, и затем в цикле тупо применять последовательно (а-ля некий такой find_first двухуровневый).
Я упоролся.9 months ago; 48 replies - @0xd34df00d: *haskell *c++Я совсем ебанулся и благодаря первому тегу иногда пишу в этаком функциональном стиле на на втором теге. Какой же уебищный синтаксис, написал два функтора, теперь приходится извращаться с std;:logical_or и прочими прелестями.
- @0xd34df00d: *haskell *programmingСтрелки — это так круто, что я аж кончил, хоть и понял их пока весьма-весьма не до конца.9 months ago; 17 replies
- @0xd34df00d: *haskellwillamette.edu
Fukken awesome! Мне есть, к чему стремиться.9 months ago; 23 replies - @0xd34df00d: *programming *haskellControl.Arrow совсем ебнутое. Там есть костыли на все случаи жизни. Или все случаи жизни описываются стрелками, гм. Тащем, реквестирую гайдов/доков/туториалов по самим стрелкам.
- @L29Ah: stfw
- @0xd34df00d: *gentoo *haskellПакетики-пакетики-пакетики. haskell-updater --upgrade после апдейта на GHC 7.0, и все. Посмотрел бы я на вендофагов в этой ситуации.10 months ago; 13 replies
- @0xd34df00d: *haskell *typical[11:47] <mjrosenb> let tokenize1 = filter (\x -> not . isSpace . head $ x) . groupBy (equiv [varchar, inchar]) where equiv (h:t) x y = x `elem` h && y `elem` h || equiv t x y; equiv = False; inchar="!@#$%^&*-+><:="; varchar=['a'..'z'] ++ ['A'..'Z'] ++ ['0'..'9'] ++ "'"10 months ago; 26 replies
- @0xd34df00d: *haskell *говноHoogle какой-то долбанутый, вернул мне ссылки на одну из самых старых версий документации. А в новой как раз более-менее хорошие доки, и все такое.
А хаскель такой няшка, сам мне вывел NFData для моего типа, достаточно написать deriving (NFData), умничка какая, хоть уже и привыкнуть бы к такому бы можно было.
И, кажется, я расшарил Control.Parallel.Strategies. Уняня.10 months ago - @0xd34df00d: *? *programming *haskellРеквестирую методы оценки эффективности жалких попыток распараллеливания. Сравнение time ./Program +RTS -N2 как-то слабо помогает, чую.
- @0xd34df00d: *haskellРеквестирую знающих первый тег в Gobby, дабы предаться совместному экстазу медитации и оптимизации кода.
- @0xd34df00d: *haskellЯ победил этот сраный код, уменьшив потребление памяти почти на два порядка, время в GC упало с 80% до 40%, и время работы, как следствие, почти в два раза.
А все из-за чего? А добавил explicit strictness к одной из переменных в where-блоке, которая получалась последовательным применением двух акцессоров к обычной data-структуре. Какая прелесть.10 months ago; 32 replies - @0xd34df00d: *haskellА что, нет mutable-аналога Data.Map искаропки? Пичаль, придется костылять свое на базе Control.Monad.ST и таки обычного Data.Map.
Или таки попробовать поковырять dev-haskell/judy. - @0xd34df00d: *programming *haskell *c++Сегодня я с ужасом понял, что меня тошнит от плюсцов. Зашел на cpp-next.com , почитал заголовки, и понял, как меня тошнит. Да и вообще от си-подобных языков. Уебищный вербозный синтаксис (у всех них), необходимость в костылях типа RTTI и прочем, костыли типа темплейтов/дженериков/whatever, которые совершенно, вообще ничего не умеют искаропки, и все надо делать самому, нулевая выразительность, пиздец, пиздец, пиздец.10 months ago; 83 replies
- @L29Ah: Ну наконец-то плюсошкольник проникся.