Alexander
asum [ guard fizz >> return "fizz", guard buzz >> return "buzz", show x] x
Alexander
задача угодать Alternative
Кабачок
?
Гарды вызывают терминус?
Alexander
terminus FTW
Dmitry
не так себе шрифт
Кабачок
:s/FTW/FTtty/g
Alexander
да
Alexander
(я не пытался компилять, но навеняка такой есть)
Зигохистоморфный
та есть)
Кабачок
подсветка для пидоров (c) Роб Пайк
Зигохистоморфный
polyPlus fs [] = fs polyPlus [] gs = gs polyPlus (f:fs) (g:gs) = f+g : polyPlus fs gs
Зигохистоморфный
готовы к апоморфизму?)
Зигохистоморфный
по сути это zapWith
adam
* * * zap * * *
Зигохистоморфный
это как zipWith только работает с разными длинами
Зигохистоморфный
polyPlus' :: Num a => [a] -> [a] -> [a] polyPlus' = curry $ apo coalg where coalg :: Num a => ([a], [a]) -> ListF a (Either [a] ([a], [a])) coalg = \case ([], []) -> Nil ([], x:xs) -> Cons x $ Left xs (x:xs, []) -> Cons x $ Left xs (a:as, b:bs) -> Cons (a + b) $ Right (as, bs)
Alexander
норм
Alexander
а почему ([a],[a]) а не Either [a] [a]?
adam
го теперь в категории элгот коалгебры
Alexander
кстати у нас в жуйке была игра в эффективный zip такой
Alexander
решения через co-алгебры не было
Зигохистоморфный
а почему ([a],[a]) а не Either [a] [a]?
ну потому что это же развертка a -> F a
Зигохистоморфный
это же коалгебра
Зигохистоморфный
решения через co-алгебры не было
это zapWith, zip можно и через cata и ana
Зигохистоморфный
zapWith :: (a -> a -> a) -> [a] -> [a] -> [a] zapWith f = curry $ apo coalg where coalg = \case ([], []) -> Nil ([], x:xs) -> Cons x $ Left xs (x:xs, []) -> Cons x $ Left xs (a:as, b:bs) -> Cons (f a b) $ Right (as, bs)
Зигохистоморфный
zipWith' :: (a -> b -> c) -> [a] -> [b] -> [c] zipWith' f = curry . ana $ \case ([], _) -> Nil (_, []) -> Nil (a:as, b:bs) -> Cons (f a b) (as, bs)
Зигохистоморфный
решения через co-алгебры не было
я сначала пытался сделать через ana но потом вспомнил что это не работает с полупустыми структурами и не может прерываться
Зигохистоморфный
еще один из примеров вотhttps://stackoverflow.com/questions/42240809/unfolding-non-empty-structures-to-lists
Anonymous
остановился на таком, если дальше пытаться делать поинтфри то очень некрасиво получается
Anonymous
🤔 какую
Денис
https://haskellweekly.news/surveys/2017.html
Anonymous
так я так и делаю же..
Зигохистоморфный
хм
Зигохистоморфный
а еще можно заюзать &
Anonymous
который flip ($) ?
Зигохистоморфный
ага
adam
Развей дедукцию
Зигохистоморфный
Anonymous
а да
Зигохистоморфный
флипнутый fmap
Зигохистоморфный
а да
а это твой liftM2(&&) https://www.stackage.org/haddock/lts-9.11/extra-1.5.3/Control-Monad-Extra.html#v:-38--38--94-
Anonymous
у haddock новый дизайн?
Зигохистоморфный
?
Кабачок
Это просто stackage, а не hackage.
Anonymous
сложно
andrei
Там хугл нормальный
кана
Alexander
у стакана ужасный дизайн..
Denis
меня шрифты в основном смущают
Зигохистоморфный
на маке ок
Зигохистоморфный
Зигохистоморфный
я просто юзаю https://chrome.google.com/webstore/detail/font-changer-with-google/jgjhhoglgjdklldfgoffdiaceffijeke
Зигохистоморфный
и для каждого сайта можно свой шрифт настроить
Anonymous
Там хугл нормальный
по либам ищет?
Зигохистоморфный
стек?
Зигохистоморфный
да ищет
Влод
по либам ищет?
всмысле. как ещё там есть тема что есть хугл поновее
Anonymous
ну обычный хугл не ищет ведь
Anonymous
или плохо ищет?
Влод
пытаюсь найти контрпример по линзам полугруппам и чёт не могу ну я всегда думал что там просто маленькая база и устаревший хугл
Anonymous
Anonymous
Влод
Влод
просто проверил
Anonymous
🤔
andrei
лол
Anonymous
sojalei@DESKTOP-512AVGB:~/haskell/project$ stack setup Preparing to install GHC to an isolated location. This will not interfere with any system-level installation. Already downloaded. Installing GHC ... и так висит
Зигохистоморфный
ну как бе когда я ставлю ghcjs это оооочень долго
Alexander
стак даже обычный ghc долго ставит
Alexander
хщ что он с ним делает
Alexander
/me а у нас уже серьезно задумываются а не начать ли cabal new-build использовать хотя бы понемногу
Anonymous
похоже на то, на WSL он действительно висит
Alexander
ставь никсом