*haskell
9ptorrent: user error (openTCPConnection: host lookup failure for "tracker.ipv6tracker.org")
<late> bf: да в том числе, поймите 60к для специалиста вашего уровня это очень, очень много, за такие деньги, мы сможем нанять зефирова сергея, а рядовых хаскелистов можно нанять за 15к.
ХАЧКЕЛЬ даже площадь простейшей фигуры посчитать нормально не может, получается
% runghc Main.hs pts.txt 2
Perimeter: 14.348093105974003; area: 11.375000000000009
Отсортировать в обратном порядке? sortBy (flip $ comparing smth) вместо sortBy (comparing smth).
Это вам не ебля с rbegin/rend.
Зато понимание отношения монад, функций и join позволяет записать вычисление расстояния между двумя точками как композицию вычисления вектора между ними и join'а скалярного произведения:
dist2' = join (<.>) . uncurry diffVec
Задали по методам распознавания изображений запрогать всякую хрень. Питонопитушки уложились в сотню строк. Матлабопитушки уложились в 50 строк. Я-хаскельбог уложился в 20 строк :3
walk :: [Qid] → [String] → NineFile → ErrorT NineError (RWST Config () (Map Word32 NineFile) IO) (NineFile, [Qid])
Освоил использование section'ов для выражения большего числа мыслей в point-free style. Теперь мой код еще более нечитаем. А вкупе с backflip-ами так ваще.
Почему abs :: a → a в определении тайпкласса Num? Я соснул с реализацией Num для векторов :(
haskell,?
А где почитать инстансы тайпклассов? Вот в документации к Monad пишут, что есть инстанс для Either e, а в коде его не видно. :info в ghci тоже не помогло — говорит, что инстанс есть (если испортировать Control.Monad.Instances), но сами определения не показывает. Как быть?
Минут 15 писал калькулятор средневзвешенного двух цветов. Пришлось даже КАРРИРОВАТЬ @ ДЕКАРРИРОВАТЬ, и вообще, как-то страшно выглядит:
avgColor (c1, c2) (w1, w2) = foldl (++) "#" $ map (show' . (`div` (w1 + w2)) . (uncurry (+))) $ zip (wt c1 w1) (wt c2 w2)
https://github.com/supki/libstackexchang... https://github.com/supki/libstackexchang... ну заебись теперь можно знать СКОЛЬКО У ТЕБЯ БАДЖИКОВ НА СТЕОВЕРФЛОУ И РЕПЫ СКОКА ЗАСУНУЛ ЭТУ ХУЙНЮ В ХМОБАР ДРОЧУ БАДЖИКИ И РЕПУ ЦЕЛЫЙ ДЕНЬ НАПРОЛЁТ НЕ ХОЖУ ... more →
Inspired by the cellular automata thread, I've recently realized that one can represent a semantically infinite gap buffer using a comonad. The idea is that the result of applying cojoin to a pointed array is an array of all possible shifts of the original pointed array. The "point" in pointed array is the cursor ... more →
Правильный программист на haskell:
<voker57> КАТАМОРФИЗМЫ
<voker57> кстати, всегда забываю, что это
Ну, то есть, чтоб быть более конкретным. Вот этот код поиска по ключу в списке вида [("key1", "val1"), ("key2", "val2")]
findKey :: (Eq k) => k → [(k,v)] → Maybe v
findKey key = foldr (\(k,v) acc → if key == k then Just v else acc) Nothing
Будет работать эффективно (если вы будете делать findKey key1, то ... more →
Да уж, ленивость окончательно запутывает и так непростую ситуацию с foldl и foldr. Приходится ломать мозги.
Получается, что, в классическом варианте, когда вы проходите по всему списку, то (по возможности) лучше использовать foldl', т.к. хвостовая рекурсия и всё такое.
С другой стороны, в виду ленивости, foldr ... more →
Охуенно, ghci падает при вызове GSL'ного фиттера, а самописный вполне себе работает.
Чо-то я заебался профилировать свой генетический хаскель-код и решил перехуячить все на плюсах. С моим-то опытом напишу так же быстро и лаконично, зато летать будет, чую.
Средний C# программист не смог разобраться в очень сложном проекте на Хаскеле.
С другой стороны, это подтверждает необходимость Хаскеля.
http://thedeemon.livejournal.com/54732.h...
2004 — Yi is derived from Riot < http://iki.fi/tuomov/riot/>, written by Tuomo Valkonen.
Cкажи мне, нахуя scoped type variables включается только для explicitly forall'd переменных?
Поел говна с системой типов, scoped type variables и экзистенциальными типами.
Задача из #ttingt сводится к следующему вопросу: можно ли заставить компилятор преобразовывать ; в `>>=`, а не `>>`? Тогда в do notation можно будет записывать такой себе dataflow: do { return 1; return . (+1); print }. Сейчас это можно сделать, только введя явные названия для аргументов: do { s ← return 1; s' ← ... more →
*haskell is used by:
0xd34df00d
0xd34df00d
kb
kb
Minoru
Minoru
профессиональный говноед
ulidtko
Александр Марков
komar
Spiritual ecstasy
rapture
λ
lukish
zw0rk
zw0rk
Crazy_Owl
Crazy_Owl
16+
238328
4DA
4da
L29Ah
L29Ah
werehuman
werehuman
Evgeny I. E. Omelchenko
Elemir
amd63
amd63
Octocat
octocat
Mагог Магогович
magog
cirno
cirno
asmer
asmer
rhinze
rhinze
Voker57
Voker57
desperate donkey
odin
lexszero
lexszero
8
Eight
gelraen
gelraen
Michael Pogoda
MPogoda
folex
folex
folone
folone
nexeuse
nexeuse
Оранжевус Охуеннус
utros
Darth Bricktop
Like-all
Klayraat
clayrat
SirAnthony
SirAnthony
Псикукумбер Томатический
Psykukumber
Ky6uk
Ky6uk
eurekafag
eurekafag
Bender Bending Rodríguez
DJm00n
Oleg Tsarev
zamotivator
failman
failman
lkdjvsdkjfgh
saransk
jabber
jabber
Лисий хвост
madInsane
Андрей
whisper
svtk
svtk
Jarkko
Jarkko
Fess
zetoke
18+ Запрещено для детей.
hedgehog
beardog
beardog
oreolek
oreolek
Hirthwork McGillah
hirthwork
Andrew Motrenko
werdn
0xd34df00d
kb
Minoru
ulidtko
komar
rapture
lukish
zw0rk
Crazy_Owl
238328
4da
L29Ah
werehuman
Elemir
amd63
octocat
magog
cirno
asmer
rhinze
Voker57
odin
lexszero
Eight
gelraen
MPogoda
folex
folone
nexeuse
utros
Like-all
clayrat
SirAnthony
Psykukumber
Ky6uk
eurekafag
DJm00n
zamotivator
failman
saransk
jabber
madInsane
whisper
svtk
Jarkko
zetoke
hedgehog
beardog
oreolek
hirthwork
werdn