madf: (Default)
Прекрасне:
Originally posted by [livejournal.com profile] thedeemon at рисуем монаду
Сегодня в нашем кружке "теоркат для самых маленьких" урок рисования. Будем рисовать монаду. (А то весной кое-кто писал "если монаду нельзя нарисовать, то её нет".)

Для начала нарисуем что-нибудь совсем простое. Палка, палка, огуречик - получился моноид. Моноид состоит из множества (вообще-то необязательно, может быть и штука побольше чем множество), бинарной ассоциативной операции на нем и выделенного элемента, называемого единицей. Бинарная операция берет любые два элемента из этого множества и выдает какой-нибудь один элемент оттуда же.

Она должна быть ассоциативной, т.е. (a*b)*c = a*(b*c):

Тут мы используем нечто вроде фейнмановских диаграмм, где время на рисунке идет снизу-вверх. В самом низу - что было, в самом верху - что получилось, в середине всякие превращения.Read more... )

Хабр

Aug. 7th, 2011 09:14 am
madf: (Default)
Ха! Влада Патришева aka [livejournal.com profile] ivan_ghandhi уже перекладають на бидлохабрі!
Його Crash Monad Tutorial переклали під назвою Монады с точки зрения теории категорий :)

Коменти доставляють: "Автор как-то не убедил, что сам понимает теорию категорий. Конечно, можно переписать определения из книжки, но в таком виде — не мотивирует"

Переклад, в принципі, теж: "It's like talking about electricity without using calculus. Good enough to replace a fuse, not good enough to design an amplifier." -> "Это как говорить об электричестве не используя мат. анализ. Достаточно для замены предохранителя, не хватит, чтобы спроектировать усилитель."

А я читав-читав, і не залишало мене відчуття що я все це десь уже бачив (починаючи з цитати про запобіжник). Думав із книжки якої насмикали, поки не побачив джерело :)
madf: (Default)
У ТК є така штука - hom-функтори. У мене постійно виникають проблеми з контраваріантним hom-функтором, тому запишу.
Read more... )
madf: (Default)
Спочатку джерела (в хронологічному для мене порядку) які заставили мене копати.
deni-ok: (f .) . (. h) = (. h) . (f .)
Wikipedia: Hom-functor
Crash Monad Tutorial: Natural Transformation

Я довго думав над комутативною діаграмою намагаючись зрозуміти її суть доки не розклав все по деталям.
Маємо:
Пара функторів F,G: X → Y
Морфізм у категорії X f: a → b
Natural transformation φ: F → G

Розглянемо функтор F:
F(a): aY - об’єкт категорії Y
F(b): bY - об’єкт категорії Y
F(f): fY: aY → bY - морфізм (стрілка) в категорії Y

Розглянемо функтор G:
G(a): aY' - об’єкт категорії Y
G(b): bY' - об’єкт категорії Y
G(f): fY': aY' → bY' - морфізм (стрілка) в категорії Y

Розглянемо пару морфізмів:
φ(a): F(a) -> G(a): aY → aY' - морфізм (стрілка) в категорії Y
φ(b): F(b) -> G(b): bY → bY' - морфізм (стрілка) в категорії Y

Власне, перетворення:
G(f) ∘ φ(a) = φ(b) ∘ F(f)
Розкладемо його по морфізмам і об’єктам:
(aY' → bY') ∘ (aY → aY') = (bY → bY') ∘ (aY → bY)

Оскільки A ∘ B = A(B) (композиція) маємо такі послідовності:
aY → aY' → bY'
aY → bY → bY'

Результати співпадають, значить G(f) ∘ φ(a) = φ(b) ∘ F(f) - істина.

Залишилось осмилити оце: point-free style на стероїдах (і наступні коментарі від nikov).

Profile

madf: (Default)
madf

April 2018

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930     

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 1st, 2025 09:56 am
Powered by Dreamwidth Studios