Зигохистоморфный
https://www.youtube.com/watch?v=Txf7swrcLYs
https://github.com/ekmett/coda
Cheese
аппликативные парсеры больше не нужны? теперь моноидные в моде?
Misha
Бтв какие грамматики вообще можно парсить аппликативными парсерами?
Alex
аппликатив это ж моноид
Alex
как и монада
Alex
только умножение по разному определено
Зигохистоморфный
аппликатив это как умножение
альтернатив как сложение?)
Alex
не
Alex
http://www.fceia.unr.edu.ar/~mauro/pubs/Notions_of_Computation_as_Monoids.pdf
Alexander
Alexander
Alexander
stack же не стрипает файлы по умолчанию?
Aleksei (astynax)
не стрипает
Alexander
не стрипает, а debug символы вырезает, ну чтож за дела :/
Cheese
то есть стрипает, но криво?
Cheese
stack кладёт две версии файлов — нестрипаную в dist и стрипаную в install
Cheese
на вторую, кстати, мне напильник говорит, что она stripped
Cheese
Alexander
то, что в dist лежит - то нестрипанное, то что в install - частично стрипанное
Alexander
а не может и стрипанное
Alexander
страннота, ну ладно
Alexander
про dist я знаю, у меня где debug символы нужны из dist берётся все
Alexander
это конечно немножно глупо, когда передаешь -debug и прочие опции для отладочных символов делать прыжки вокруг установщика
Alexander
@cblp_su да, срипает то что в install
Maxim
привет всем в этом чате
IC
и тебе IO ()
Aleksei (astynax)
RWST IO ()
Nikolai
Aleksei (astynax)
Ну ок, RWST () () () Identity () :)
Или RWS () () () ()
Dmitry
(:[])
Зигохистоморфный
pure
Dmitry
true
Dmitry
True в смысле.
Aleksei (astynax)
(() <$)
Bohdan
Какие смайлики являются валидным кодом на Perl 6^W^W Haskell?
Maxim
я, кстати, еще только учусь, поэтому не все ваши шутки понимаю
Misha
Понимать шутки — это высокая цель. 👍🏻
Maxim
я не говорил, что это моя цель
Дима
Зря
Aleksei (astynax)
Haskell - полноценный язык! Про него тоже есть шутки - не всё же про Java и Go шутить :)
Maxim
я верю, но цель все равно была не в этом!
Oleg
Значит, цель была - шутить шутки, а не понимать
Oleg
Тоже здорово
Alexandr
Привет, может кто-нибудь объяснить, как реализовать
l2 :: Monad m => (a -> b -> c) -> m a -> m b -> m c
используя только функции функтора и монады.
С fmap и <*> все понятно, но как без <*> не совсем понимаю
Aleksei (astynax)
join же
Misha
В чем вопрос? Каждая монада это аппликатив.
Aleksei (astynax)
l2 f x y = join $ fmap (join (fmap f x) y) типа того
Misha
вроде бы <*> можно выразить через join
Nikolai
Aleksei (astynax)
ну я это не проверял :) Это демонстрация принципа :)
Nikolai
демонстрация неработающего кода? :)
Nikolai
<*> можно реализовать через fmap и join
Nikolai
<*> известен так же как ap
Nikolai
можно посмотреть реализацию в Control.Monad
Nikolai
но лучше подумать самому :)
Aleksei (astynax)
l2 f x y = x >>= join . fmap (y >>=) . return . f это вроде сошлось
Nikolai
fmap :: (a -> b) -> m a -> m b
join :: m (m a) -> m a
ap :: m (a -> b) -> m a -> m b
Aleksei (astynax)
искомая l2, это liftM2, видимо
kosc
Alexander
IGM
Alexander
или что там будет скоро
Alexander
сейчас найду добавлю
Dmitry
Dmitry
Alexander
да, вот он
Alexander
Ближайшие конференции:
28 Окрября - ITGM СПб
Ноябрь ?? - Москва, в Kaspersky https://mobile.twitter.com/cblp_su/status/912940905757396992
Декабрь 2 - Москва fpconf http://fpconf.ru/
Декабрь 17 - F(by) Conf http://fby.by
Alexander
если есть доклад то можно на #fprog-general прийти до 14 числа
kosc
А, на глобал у нас почти вся контора идёт, да.
kosc
Но там из fp вроде как только кложуристы.
Nikolai
Alexander
я понял что я не успеваю ничего интересного сделать до ITGM
Alexander
вообще нигденичего не успеваю
Aleksei (astynax)
Aleksei (astynax)
Но проще уж через ap, даже если его придется самому сделать из методов функтора и монады :)
l2 f x y = return f `ap` x `ap` y
:)
Alexander
l2 f x y = do { a <- x ; b <- y; f a b}
Alexander
не благодарите
Misha
^ top 🙃
Aleksei (astynax)
do-нотация - читерство!