Избранное

Начальная страница

Полный перечень переводов находится в Переводы

Далее, в обратном хронологическом порядке, приводится информация о публикациях новых переводов, обновлении (исправлении) имеющихся и связанные темы.

Избранное

Теория категорий для программистов (перевод глав книги Б. Милевски)

Предисловие редактора перевода

Исходный авторский текст расположен по адресу:

https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/

В основу перевода первых глав включены варианты, подготовленные М.Страховым (Monnoroch на Хабрахабр: предисловие и гл.1-4), А.Бирюковым совместно с Bodigrim (leshabirukov, Bodigrim на Хабрахабр: гл.5-7). Комплектность перевода соответствует текущему состоянию книги у автора. Активное участие в вычитке переводов принимает А.Бирюков.

Основная особенность переводов, отличающая текст от авторского, заключается в цветовом выделении формальных фрагментов. Синим цветом выделены математические формулы и символы, а также программные фрагменты, набранные моноширинным шрифтом, на псевдо Haskell. Пурпурный цвет выделяет программные фрагменты на C++ и Haskell. Помимо этого везде черным полужирным начертанием выделены обозначения категорий. (Цель этой самодеятельности — улучшить восприятие текста; убрать это, при необходимости, будет нетрудно).

С благодарностью принимаются любые замечания по переводу и офрмлению текста. (Согласование текста из разных глав, например, существуют повторы при введении новых терминов, будет произведено после авторского завершения работы; возможно Милевски внесет некоторые изменения после завершения).


Предисловие

Часть I

  1. Категория: суть композиции
  2. Типы и функции
  3. Большие и малые категории
  4. Категории Клейсли
  5. Произведения и копроизведения
  6. Простые алгебраические типы данных
  7. Функторы
  8. Функториальность
  9. Функциональные типы
  10. Естественные преобразования

Часть II

  1. Теория категорий и декларативное программирование
  2. Пределы и копределы
  3. Свободные моноиды
  4. Представимые функторы
  5. Лемма Йонеды
  6. Вложение Йонеды

Часть III

  1. Все о морфизмах
  2. Сопряжения
  3. Свободные / забывающие сопряжения
  4. Монады: определение программиста
  5. Монады и эффекты
  6. Монады с категорной точки зрения
  7. Комонады
  8. F-алгебры
  9. Алгебры для монад
  10. Концы и коконцы
  11. Расширения Кана
  12. Обогащенные категории
  13. Топосы
  14. Теории Ловера
  15. Монады, моноиды и категории

 

(Milewski) И тайное становится явным

Перевод статьи Бартоша Милевски «Teaching optics through conspiracy theories» (исходный текст расположен по адресу — https://bartoszmilewski.com/2022/04/05/teaching-optics-through-conspiracy-theories/).

Содержимое перевода статьи включает описание одного механизма доступа к скрытой информации, содержащейся в типах данных Haskell. В статье, оформленной в тезисном стиле, достаточно ясно изложен прием вскрытия информации, содержащейся в реализации таких сущностей, как функторы и монады. В качестве примеров приводятся фрагменты кода для типов, связанных с оптикой.

Название статьи, данное при переводе, отличается от оригинального, но, по мнению переводчика, более соответствует своему содержимому.

(Milewski) Оптика на ко-предпучках


Перевод статьи Бартоша Милевски «Co-Presheaf Optics» (исходный текст расположен по адресу — Текст оригинальной статьи).

Содержимое перевода статьи включает описание нового вида оптики, который обобщает полиномиальную линзу. Ее отличительной чертой является то, что ее действие параметризуется функторами между разными ко-предпучками. Композиция этих действий соответствует композиции функторов, а не, более традиционному, тензорному произведению. Эти функторы и их композиция имеют представление в терминах профункторов.

(Milewski) Профункторное представление полиномиальных линз


Перевод статьи Бартоша Милевски «Profunctor Representation of a Polynomial Lens» (исходный текст расположен по адресу — Текст оригинальной статьи).

Содержимое перевода статьи включает описание полиномиальных линз, рассматриваемого как множество морфизмов между полиномиальными функторами недискретных категорий.

Профункторное представление полиномиальной линзы задается концом по всем профункторам в определенной категории Тамбары.

(Milewski) Полиномиальная линза


Перевод статьи Бартоша Милевски «PolyLens» (исходный текст расположен по адресу — Текст оригинальной статьи).

Содержимое перевода статьи включает описание нового типа линз, рассматриваемого как множество морфизмов между полиномиальными функторами дискретных категорий.

Такая полиномиальная линза имеет профункторное представление, с использованием концов, что позволяет компоновать оптику, используя стандартную композицию функций..

Профункторная оптика: категорная актуализация

Перевод статьи (версия [v3] от 15.03.2022 г.) коллектива авторов «Profunctor Optics: a Categorical Update» (исходный текст расположен по адресу — Оригинальная статья).

Перевод содержит рассмотрение представления оптики, базирующейся на профункторах, поддерживающей модульность. Многие структуры представляют собой смешанную оптику с направлениями доступа, смоделированными в разных категориях. Обобщен классический результат по теории Тамбары и дано его использование для описания смешанных V-обогащенных профункторных оптик и придания им структуры V-категории.

Приводятся несколько оригинальных семейств оптики и выводов, опирающихся на общее универсальное определение оптики. Обсуждаются вопросы реализации на Haskell.

Статья включает разделы:

  • Введение (краткое описание используемых понятий)
  • Оптика (общее определение и свойства)
  • Примеры оптик (описание известных и новых оптик)
  • Теория Тамбары (введение обобщенных модулей, результат о представлении профунктора)
  • Реализация на Haskell (фрагменты программного кода смешанной профункторной оптики, комбинаторов)
  • Заключение (описание вспомогательных и родственных результатов, дальнейших планов)

Переводы

Все переводы разделены на 2 группы: «Книги» и «Статьи». Каждая из групп содержит список названий-ссылок (с указанием авторов) на соответствующие записи (если название не превращено в ссылку, запись только запланирована).

Все записи структурированы единообразно, в соответствии со следующим шаблоном:

Это перевод … (предыдущий раздел — <URL-ссылка>, оглавление — <URL-ссылка>)

<URL-ссылка содержимого> [включает подразделы: …]

Следующий раздел — <URL-ссылка>

где, <URL-ссылка> — название-ссылка; квадратные скобки указывают на необязательность соответствующего текста; <URL-ссылка содержимого> — название-ссылка, начинающаяся с «Содержимое …» и указывающая на текст данного раздела в pdf-формате.

Текст в pdf-формате не содержит непосредственно возможности его комментирования. Комментарии можно размещать в записи, откуда исходит <URL-ссылка содержимого>. Сделано это для того, чтобы формирование комментариев и просмотр содержимого можно было осуществлять параллельно, поскольку содержимое всегда открывается в новом окне.

Просьба в комментарии указывать номер страницы комментируемого текста.

Книги

Статьи

(Milewski) Зависимая оптика


Перевод статьи Бартоша Милевски «Dependent Optics» (исходный текст расположен по адресу — Текст оригинальной статьи).

Содержимое перевода статьи — введение в частный случай общей оптики — зависимую оптику, в которой рассматриваемые категории являются категориями особого типа (категории срезов).

Строение и свойства зависимой оптики демонстрируются на зависимых линзах и траверсалях.

(Milewski) Оптика для работающего математика


Перевод статьи Бартоша Милевски «Optics for the Working Mathematician» (исходный текст расположен по адресу — Текст оригинальной статьи). В перечне записей можно найти другие записи на данную тему.

Содержимое перевода статьи — введение в суть оптики для математиков. Декомпозиция, лежащая в ее основе, помогает ответить на вопрос, что значит разложить составной объект, который считается декомпозируемым, если:

  • его можно разделить его на фокус и дополнение,
  • можно заменить фокус на что-то другое, не меняя дополнения, чтобы получить новый составной объект,
  • можно увеличивать масштаб; то есть, если фокус является декомпозируемым, можно скомпоновать две декомпозиции,
  • возможно, фокусом будет являться весь объект.

(Исчисление ко/концов) Нервы и реализации

Излагаются основы теории расширений :

  • Классический нерв и реализация (универсальное свойство для [Cop,Set], реализации симплициальных множеств)
  • Абстрактные реализации и нервы (с примерами)
  • Упражнения

Содержимое текущего раздела

Предыдущий раздел — Йонеда и Кан

Следующая глава — Взвешенные ко/пределы

(Исчисление ко/концов) Йонеда и Кан

Содержит описание связей ко/концов с леммой Йонеды и расширениями Кана:

  • Лемма Йонеды и расширения Кана
  • Лемма Йонеды, использующая ко/концы
  • Расширения Кана, использующие ко/концы
  • Структура Йонеды на Cat
  • Относительные монады
  • Упражнения

Содержимое текущего раздела

Предыдущий раздел — Ди-естественность и ко/концы

Следующая глава — Нервы и реализации