
illiatshurotshka❄️
16.10.2017
21:14:24
с этими темами такое редко увидишь

Denis
16.10.2017
21:14:41
зачем?)
затем, что для полиноминальных типов ничего кроме типового Fix как элиминатор не надо
ну и алгберы коалгебры
все)

Google

Denis
16.10.2017
21:15:14
остальное все от лукавого

illiatshurotshka❄️
16.10.2017
21:15:19
хгроммх
обьясни дуализм моноида

kana
16.10.2017
21:16:04
схемы моноида и комоноида действительно одинаковые

illiatshurotshka❄️
16.10.2017
21:16:23
а почему тайпклассы разные тогда

Дмитрий
16.10.2017
21:17:08

Denis
16.10.2017
21:18:56
чтобы лучше все это понимать смотрите на струнные диаграммы

Дмитрий
16.10.2017
21:19:29
Это которые из теории струн?)

Denis
16.10.2017
21:20:05
ну это те который у Ричарда Феймана были

kana
16.10.2017
21:20:29
ну да, такое нашел

illiatshurotshka❄️
16.10.2017
21:20:50
ооо втфф

kana
16.10.2017
21:21:52
когда поймешь, что это такое, напиши плиз

Google

Denis
16.10.2017
21:22:11
снизу вверх
они читаются

illiatshurotshka❄️
16.10.2017
21:22:53
и что значат кривые и точки?

kana
16.10.2017
21:23:28
полагаю, линии - это те самые струны)

Denis
16.10.2017
21:23:41
ну да
это пути
а точки тут операторы

illiatshurotshka❄️
16.10.2017
21:23:49
кого пути

Denis
16.10.2017
21:24:04
на первой картинке коммутативный закон

illiatshurotshka❄️
16.10.2017
21:24:16
о

Denis
16.10.2017
21:24:38
на второй картинке (3 вместе) левая и правая тождественность

kana
16.10.2017
21:24:43
а схера ли у моноида коммутативный закон

Дмитрий
16.10.2017
21:24:49

Denis
16.10.2017
21:25:03

kana
16.10.2017
21:25:22
че? Строки теперь не моноид?
моноид требует лишь ассоциативность

illiatshurotshka❄️
16.10.2017
21:25:33
что обозначают буквы T и C?

Denis
16.10.2017
21:25:44
я попутал мат понятия)

kana
16.10.2017
21:26:09
но по рисунку видится мне именно коммутативность

Google

kana
16.10.2017
21:26:22
ааааааааааааааааа

Дмитрий
16.10.2017
21:26:27
К рисункам текст был
Я помню видел в жж

Denis
16.10.2017
21:26:43
та не, ассоциативность там

illiatshurotshka❄️
16.10.2017
21:26:45

Denis
16.10.2017
21:27:08
(a * b) * c = a * (b * c)
коммутативность если a * b = b * a

kana
16.10.2017
21:27:55
ну да, я знаю, что такое коммутативность, я же тебе на эту ошибку и указал, лол
но на схеме мы видим именно то, что левый идет на право, а правый на лево

Denis
16.10.2017
21:28:40
там ассоциативность
на первом

kana
16.10.2017
21:29:06
и иденственная идея - там не аргументы, а порядок выполнения

illiatshurotshka❄️
16.10.2017
21:29:27
левая и правая тождественнсть это если а = б то б = а?

Denis
16.10.2017
21:29:36
ну это как потоки стекаются снизу вверх

kana
16.10.2017
21:30:08
ex = x = xe

illiatshurotshka❄️
16.10.2017
21:30:10
а это же про моноид

kana
16.10.2017
21:30:11
там еще по центру x, два равенства

Denis
16.10.2017
21:30:57

Google

illiatshurotshka❄️
16.10.2017
21:31:01
так понял
и как мы с такими штуками получаем дуальный мем

Denis
16.10.2017
21:31:37
струнные диаграммы мощный инструмент

illiatshurotshka❄️
16.10.2017
21:31:51
переворачиваем снизу вверх?

kana
16.10.2017
21:32:09
вечно люди придумывают себе проблемы, а потом называют решение своей проблемы мощным инструментом

Denis
16.10.2017
21:32:21
ага
задача моноида собирать
а у этого разбирать

kana
16.10.2017
21:32:52

Denis
16.10.2017
21:33:15

kana
16.10.2017
21:33:36
ага, ясно
что это еще может быть как не стрейдж
страйтелд
страйтедж

Denis
16.10.2017
21:34:14
newtype Fix f = Fix (f (Fix f))
unfix :: Fix f -> f (Fix f)
unfix (Fix f) = f
cata alg = alg . fmap (cata alg) . unfix
cataM alg = (>>= alg) . cata (traverse (>>= alg))
data FreeF f a r = ReturnF a | BindF (f r) deriving (Functor, Foldable, Traversable)
type Free f a = Fix(FreeF f a)
pattern Return :: a -> Free f a
pattern Return a = Fix (ReturnF a)
pattern Bind :: f (Free f a) -> Free f a
pattern Bind a = Fix (BindF a)
liftF c = Bind (fmap Return c)
будь оно не ладно)

kana
16.10.2017
21:34:21
всегда, когда вижу букву s, понимаю, что это страйтедж

Denis
16.10.2017
21:34:49
retract :: (Monad f, Traversable f) => Free f b -> f b
retract = cataM alg where
alg (ReturnF a) = return a
alg (BindF as) = as

illiatshurotshka❄️
16.10.2017
21:35:02
пойду дальше читать

Google

kana
16.10.2017
21:35:14
ааааа

illiatshurotshka❄️
16.10.2017
21:35:17
видимо я пока что недостоен комоноидов

kana
16.10.2017
21:35:23
я понял, sxe - это такая шутка

Denis
16.10.2017
21:35:30
а вот инстансы сделать низя для type
return' = Return
map' :: Functor f => (a -> b) -> Free f a -> Free f b
map' f = go where
go (Return a) = Return (f a)
go (Bind a) = Bind (fmap go a)
bind' :: Functor f => (a -> Free f b) -> Free f a -> Free f b
bind' f = go where
go (Return a) = f a
go (Bind a) = Bind(fmap (bind' f) a)
ap' fs xs = bind' (\f -> map' f xs) fs
и приходится так)

kana
16.10.2017
21:35:31
а я думал, еще один термин в теоркате

Дмитрий
16.10.2017
21:35:58
Я сначала посмеялся а потом подумал что это термин

kana
16.10.2017
21:36:06
ахххаха

illiatshurotshka❄️
16.10.2017
21:36:11
Зигомемоморфный кидай большие куски кода в gist.github.com
плс

kana
16.10.2017
21:37:00
https://ru.wikipedia.org/wiki/Straight_edge
пошел я короче спать, слишком сложные мемасы тут у зигоморфа

Denis
16.10.2017
21:40:12
вот тут есть феймановские диаграммы http://www.stephendiehl.com/posts/monads.html

adam
17.10.2017
04:06:48
или это неправильное представление?
Граф категории определяется его морфизмами. В данном представлении, что ты кинул морфизмы той категории ничем не отличаются от обычного id. Моноид же характеризуется юнитом и ассоциативной бинарной операцией, что здесь как-минимум не показано.
Напомнило нотацию Баеза для описания алгебры многомерных измерений, лол

illiatshurotshka❄️
17.10.2017
04:21:31
это откуда вообще?