Unknown - haskell-notes

Здесь есть возможность читать онлайн «Unknown - haskell-notes» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Старинная литература, на английском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

haskell-notes: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «haskell-notes»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

haskell-notes — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «haskell-notes», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

• Композиция стрелок f : A →T B и g : B →T C определена с помощью естественных преобразований

монады T :

f ; T g = f ; T g ; µ

Значок ; T указывает на то, что слева от равно композиция в AT . Справа от знака равно используется

композиция в исходной категории A .

• Тождественная стрелка – это естественное преобразование η .

Можно показать, что категория Клейсли действительно является категорией и свойства операций компо-

зиции и тождества выполнены.

15.5 Дуальность

Интересно, что если в категории A перевернуть все стрелки, то снова получится категория. Попробуйте

нарисовать граф со стрелками, и затем мысленно переверните направление всех стрелок. Все пути исход-

ного графа перейдут в перевёрнутые пути нового графа. При этом пути будут проходить через те же точки.

Сохранятся композиции стрелок, только все они будут перевёрнуты. Такую категорию обозначают Aop . Но

оказывается, что переворачивать мы можем не только категории но и свойства категорий, или утверждения

о категориях, эту операцию называют дуализацией . Определим её:

dual A

=

A

если A является объектом

dual x

=

x

если x обозначает стрелку

dual ( f : A → B ) = dual f : B → A

A и B поменялись местами

dual ( f ; g )

=

dual g ; dual f

f и g поменялись местами

dual ( idA )

=

idA

Есть такое свойство, если и в исходной категории A выполняется какое-то утверждение, то в перевёр-

нутой категории Aop выполняется перевёрнутое (дуальное) свойство. Часто в теории категорий из одних

понятий получают другие дуализацией. При этом мы можем не проверять свойства для нового понятия,

они будут выполняться автоматически. К дуальным понятиям обычно добавляют приставку “ко”. Приведём

пример, получим понятие комонады.

Для начала вспомним определение монады. Монада – это эндофунктор (функтор, у которого совпадают

начало и конец или домен и кодомен) T : A → A и два естественных преобразования η : I → T и

µ : T T → T , такие что выполняются свойства:

T η ; µ = id

T µ ; µ = µ ; µ

Дуализируем это определение. Комонада – это эндофунктор T : A → A и два естественных преобразо-

вания η : T → I и µ : T T → T , такие что выполняются свойства

µ ; T η = id

µ ; T µ = µ ; µ

Мы просто переворачиваем домены и кодомены в стрелках и меняем порядок в композиции. Проверьте

сошлись ли типы. Попробуйте нарисовать графическую схему свойств комонады и сравните со схемой для

монады.

Можно также определить и категорию коКлейсли. В категории коКлейсли все стрелки имеют вид T A →

B . Теперь дуализируем композицию из категории Клейсли:

f ; T g = f ; T g ; µ

Теперь получим композицию в категории коКлейсли:

g ; T f = µ ; T g ; f

Мы перевернули цепочки композиций слева и справа от знака равно. Проверьте сошлись ли типы. Не

забывайте что в этом определении η и µ естественные преобразования для комонады. Нам не нужно прове-

рять является ли категория коКлейсли действительно категорией. Нам не нужно опять проверять свойства

Дуальность | 233

стрелки тождества и ассоциативности композиции, если мы уже проверили их для монады. Следовательно

перевёрнутое утверждение будет выполняться в перевёрнутой категории коКлейсли. В этом основное пре-

имущество определения через дуализацию.

Этим приёмом мы можем воспользоваться и в Haskell, дуализируем класс Monad:

class Monadm where

return

::a ->m a

( >>=)

::m a ->(a ->m b) ->m b

Перевернём все стрелки:

class Comonadc where

coreturn

::c a ->a

cobind

::c b ->(c b ->a) ->c a

15.6 Начальный и конечный объекты

Начальный объект

Представим, что в нашей категории есть такой объект 0, который соединён со всеми объектами. При-

чём стрелка начинается из этого объекта и для каждого объекта может быть только одна стрелка которая

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «haskell-notes»

Представляем Вашему вниманию похожие книги на «haskell-notes» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «haskell-notes»

Обсуждение, отзывы о книге «haskell-notes» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x