Вопросы с тегом 'category-theory'

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

Монада - это просто моноид в категории эндофункторов, в чем проблема?

Кто первым сказал следующее? Монада - это просто моноид в категории эндофукторов, что проблема? И на менее важной ноте, это правда, и если бы вы могли дать объяснение (надеюсь, тот, который может быть понят кем-то, у кого не так много опыта Хаске...
06 окт. '10 в 6:55
4

Что означает "коалгебра" в контексте программирования?

Я слышал термин "коалгебры" несколько раз в функциональном программировании и кругах PLT, особенно когда речь идет об объектах, комонадах, объективах и т.д. В результате этого термина даны страницы, которые дают математическое описание этих структур,...
15 апр. '13 в 12:20
5

Монады как дополнения

Я читал о монадах в теории категорий. В одном определении монадов используется пара сопряженных функторов. С помощью этих функторов монада определяется круговым движением. По-видимому, адъюнкции очень важны в теории категорий, но я не видел никаких о...
15 янв. '11 в 0:31
4

Есть ли монада, у которой нет соответствующего монадного трансформатора (кроме IO)?

До сих пор каждая монада (которая может быть представлена ​​как тип данных), с которой я столкнулась, имела соответствующий трансформатор монады или могла иметь ее. Есть ли такая монада, которая не может иметь ее? Или все монады имеют соответствующ...
01 июл. '14 в 17:12
2

Простые примеры для иллюстрации категории, моноида и монады?

Я очень смущен этими тремя понятиями. Есть ли простые примеры для иллюстрации различий между Категория, моноиды и монады? Было бы очень полезно, если бы была иллюстрация этих абстрактных понятий.
31 мар. '13 в 5:44
8

Что такое монада в FP, категорически?

Каждый раз, когда кто-то promises "объясняет монады", мой интерес вызван, только для того, чтобы его заменили разочарованием, когда предполагаемое "объяснение" - это длинный список примеров, оканчивающихся каким-то небрежным замечанием о том, что "м...
22 нояб. '11 в 2:55
2

Существует ли свободная монада?

Из теории категорий известно, что не все эндофункторы в Set допускают свободную монаду. Канонический контрпример является функтором функций. Но Haskell может превратить любой функтор в свободную монаду. data Free f a = Pure a | Free (f (Free f a)...
02 янв. '15 в 11:19
2

У Hask или Agda есть эквалайзеры?

Я несколько не определился относительно того, является ли это вопросом математики .SE или SO, но я подозреваю, что математики в целом вряд ли знают или особенно заботятся об этой категории, в то время как программисты Haskell вполне могут это сделать...
24 февр. '13 в 1:44
3

Стрелки в точности эквивалентны аппликативным функторам?

Согласно знаменитой статье Идиомы не обращают внимания, стрелки являются дотошными, монады неразборчивы, выразительная сила стрел (без каких-либо дополнительных типов) должно быть где-то строго между аппликативными функторами и монадами: монады эквив...
10 июл. '14 в 4:06
3

Каковы сопряженные пары функторов, соответствующие общим монадам в Хаскелле?

В теории категорий монада может быть построена из двух сопряженных функторов. В частности, если С и D - категории, а F: C → D и G: D → C - сопряженные функторы, в том смысле, что существует биекция hom (FX, Y) = hom (X, GY) для каждого X в C и Y ...
18 дек. '12 в 16:26
3

Разница между свободными монадами и фиксированными точками функторов?

Я читал http://www.haskellforall.com/2013/06/from-zero-to-cooperative-threads-in-33.html, где абстрактное синтаксическое дерево получено в виде свободной монады функтора, представляющего набор инструкции. Я заметил, что бесплатная монада Free не сил...
25 июн. '13 в 20:59
3

Что такое моноидный гомоморфизм?

Я читал о моноидном гомоморфизме из моноидных морфизмов, продуктов и копроизведений и не мог понять 100%. Автор говорит (выделено оригиналом): Функция length отображается из String в Int, сохраняя моноидную структуру. Такая функция, которая отобр...
05 мая '19 в 14:53
2

Может ли лифтМ отличать от liftA?

Согласно Typeclassopedia (среди прочих источников), Applicative логически принадлежит между Monad и Pointed (и, следовательно, Functor) в иерархии классов типов, поэтому в идеале у нас было бы что-то подобное, если бы прелюдия Haskell была написана ...
28 окт. '09 в 2:34
3

Являются ли все функторы Haskell функционалами?

Я немного смущен, и мне нужно, чтобы кто-то меня прямо посадил. Обозначим мое текущее понимание: Где E - это endofunctor, а A - некоторая категория: E : A -> A. Поскольку все типы и морфизмы в Haskell находятся в категории Hask, не является ...
17 июл. '10 в 21:35
1

Шаг за шагом/Глубокое объяснение: Сила (Co) Yoneda (предпочтительно в scala) через Coroutines

некоторый код фона /** FunctorStr: ∑ F[-]. (∏ A B. (A -> B) -> F[A] -> F[B]) */ trait FunctorStr[F[_]] { self => def map[A, B](f: A => B): F[A] => F[B] } trait Yoneda[F[_], A] { yo => def apply[B](f: A => B): F[B] de...
02 июн. '14 в 17:54