Size: a a a

Теория категорий

2018 June 23

к

кана in Теория категорий
скорее (g, h) - морфизм из i в j
источник

P

Proof: in Теория категорий
Ну так там и получается, что i -- пара (X,A), j -- пара (Y,B), а f -- морфизм из (X,A) в (Y,B)
источник
2018 July 21

TK

Thomas Koster in Теория категорий
новочковый вопрос
есть монада Maybe a
монада так же является и моноидом
что данной монады является unit, а что является multiplication ?
источник

Oℕ

Oleg ℕizhnik in Теория категорий
Thomas Koster
новочковый вопрос
есть монада Maybe a
монада так же является и моноидом
что данной монады является unit, а что является multiplication ?
join по-хашкельному произведение
return - единица
источник

к

кана in Теория категорий
Thomas Koster
новочковый вопрос
есть монада Maybe a
монада так же является и моноидом
что данной монады является unit, а что является multiplication ?
монадой является не Maybe a, Maybe
он есть эндофунктор Maybe :: Type -> Type
единица у нас тут return :: a -> Maybe a или return :: Id ~> Maybe
операцией join :: Maybe (Maybe a) -> Maybe a или join :: Maybe . Maybe ~> Maybe
a ~> b = forall x. a x -> b x
источник

TK

Thomas Koster in Теория категорий
окей
допустим мы определили единицу - это ф-я return
я не понял что помогает прояснить в этом вопросе определение ф-и join

а что насчет multiplication? как будет определена эта операция для монады? это как раз второй кусочек для монойда
источник

TK

Thomas Koster in Теория категорий
в чем моя проблема - из определения следует что любая монада - это обязательно и моноид. Но что является единцей и произведением для конкретной монады мне не понятно - это свое непонимание в определениях я и хочу прояснить.
источник

KP

Kirill Petrov in Теория категорий
Thomas Koster
в чем моя проблема - из определения следует что любая монада - это обязательно и моноид. Но что является единцей и произведением для конкретной монады мне не понятно - это свое непонимание в определениях я и хочу прояснить.
единица и операция выбирается с учетом данных, с которыма работаешь
источник

KP

Kirill Petrov in Теория категорий
например для операции Сложение единица - это 0 (Ноль), т.к. при сложении чиса и нуля вернется число
источник

KP

Kirill Petrov in Теория категорий
при операции Умножение, единица - 1 (единица), число умножем на единицу равно число
источник

KP

Kirill Petrov in Теория категорий
для списка операция - Конкатинация двух списков (объединение), единица - пустой список, т.к. пустой список объед. со списком будет исходный список
источник

KP

Kirill Petrov in Теория категорий
глянь книжку http://learnyouahaskell.com , там очень подробно эти моменты рабираются, есть и на русском
источник

TK

Thomas Koster in Теория категорий
я бы вот как раз хотел без хаскеля - и именно про ТК поговорить
источник

к

кана in Теория категорий
Thomas Koster
в чем моя проблема - из определения следует что любая монада - это обязательно и моноид. Но что является единцей и произведением для конкретной монады мне не понятно - это свое непонимание в определениях я и хочу прояснить.
да, моноид
источник

к

кана in Теория категорий
Maybe - монада, и моноид
источник

к

кана in Теория категорий
не Maybe a
источник

TK

Thomas Koster in Теория категорий
в ТК - такая запись имеет смысл Maybe Int ? или это только хаскельное будет?
источник

к

кана in Теория категорий
ты не понимаешь, когда мы говорим, что Maybe - моноид, мы говорим не про категорию типов, а про категорию эндофункторов, у нас моноид не на значениях, а на типах
источник

TK

Thomas Koster in Теория категорий
если я пишу Maybe Int - я могу с этим работать не определяя моноид - т.е. без уточнения единицы и произведения - я это вижу как нарушение определения 'монада - это специфический моноид.'

Я это нарушение отношу к реализации на хаскеле - и поэтому хочу отложить в сторону и понять определение из КТ без программирования и конкретных инженерных реализаций
источник

к

кана in Теория категорий
есть категория X с объектами { A, B, C }
есть эндофункторы на этой категории: 1, F : X -> X
1 переводит каждый объект и морфизм категории X в себя же
F пусть делает что-то другое, но на выходе тоже объект и морфизм из X

и вот эти функторы 1, F тоже образуют категорию, где объекты - { 1, F }, а морфизмы - естественные преобразрвания между функторами

и вот тройка из {F, alpha : 1 -> F, beta : F . F -> F} будет моноидом, alpha - единица, композиция с beta - умножение

под alpha подходит pure, так как если перевести естественое преобразование в морфизм, получится forall x. 1 x -> F x, где 1 x = x, то есть alpha :: x -> F x

под бету подходит join, потому что F . F -> F = forall x. F (F x) -> F x
источник