Публикации по теме 'category-theory'
Больше (категорических) мыслей о законных линзах
В предыдущем посте мы обсудили, как мы можем сформулировать определение общей законной оптики, и мы доказали, что законные линзы - это в точности линзы с постоянным дополнением.
В этом посте мы вернемся к представленным там идеям в более категоричной форме, но сосредоточимся, в частности, на линзах.
В этом посте мы представим серию результатов, которые были получены на третьем Statebox Summit при сотрудничестве участников, из которых следует упомянуть Жюля Хеджеса , Дэвида Спивака ,..
Вопросы по теме 'category-theory'
может ли кто-нибудь объяснить связь между ковариантностью/контравариантностью типов и теорией категорий?
Я только начинаю читать о теории категорий и был бы очень признателен, если бы кто-нибудь мог объяснить связь между контравариантностью/ковариантностью CS и теорией категорий. Какими могут быть некоторые примеры категорий (т.е. каковы их...
749 просмотров
schedule
08.12.2023
Что такое преобразователи монад в Haskell в категорическом выражении?
Будучи студентом математики, первое, что я сделал, когда узнал о монадах в Haskell, - это проверил, действительно ли они являются монадами в том смысле, о котором я знал. Но потом я узнал о преобразователях монад, которые, похоже, не совсем изучаются...
1571 просмотров
schedule
06.11.2023
Где функтор в естественном преобразовании?
У меня возник этот вопрос в глубине души с тех пор, как я увидел определение естественных преобразований в старом пакете дополнительных категорий Эдварда Кметта:
-- | A natural transformation between functors f and g.
type f :~> g = forall a....
721 просмотров
schedule
03.05.2023
Как выглядит нетривиальный комоноид?
Комоноиды упоминаются, например, в :
Из-за отсутствия нетривиальных комоноидов в Haskell мы можем ограничиться требованием Functor, а не какого-либо класса Coapplicative.
После небольшого поиска я нашел ответ StackOverflow , который...
4505 просмотров
schedule
02.02.2022
Обобщение экспоненциального типа
Как (если вообще) экспоненциальная интерпретация (->) ( a -> b как b a ) распространяется на категории, отличные от Hask/Set? Например, может показаться, что интерпретация категории недетерминированных функций примерно Kliesli [] a b как...
283 просмотров
schedule
19.05.2024
Не совсем понимаю `F(1A) = 1F(A) ∀ A ∈ C1` как закон функтора
Я читаю эту статью о категории и функторе в scala: https://hseeberger.wordpress.com/2010/11/25/introduction-to-category-theory-in-scala/
В этой части:
Чтобы сохранить структуру категорий, это отображение должно сохранять карты идентичности...
115 просмотров
schedule
12.12.2023
Вопросы обобщающего функтора
Функтор в Control.Categorical. Функтор имеет следующее определение:
class (Category r, Category t) => Functor f r t | f r -> t, f t -> r where
fmap :: r a b -> t (f a) (f b)
Но допустим, я хочу иметь функтор от обычных...
74 просмотров
schedule
30.06.2022
Почему pure требуется только для Applicative, а не для Functor?
Прочитав этот Wikibook об основах Haskell и теории категорий , я узнал о функторах:
Функтор - это, по сути, преобразование между категориями, поэтому для категорий C и D функтор F: C -> D
отображает любой объект A из C в F (A) из D....
1445 просмотров
schedule
24.04.2022
в Haskell, как мне вывести: Категория экземпляра (Moore a b -> Moore b c)
Я пытаюсь получить экземпляр категории для трансформаторов автомата Мура, где:
data Moore a b = Moore b (a -> Moore a b)
type MooreT a b c = (Moore a b -> Moore a c)
Проблема в том, что MooreT имеет 3 параметра, а Category всего 2....
113 просмотров
schedule
13.11.2023
Откуда взялась секция имени для частично применяемого инфиксного оператора?
В Haskell мы используем термин «раздел» для обозначения частично применяемой функции, используемой в инфиксной позиции. Например, для функции foo :: a -> b -> c и значений x :: a и y :: b у нас есть два раздела
s1 = (x `foo`) :: b...
337 просмотров
schedule
16.03.2024
Связь между классами Semigroupoid и Semigroup
На прошлой неделе я пытался понять некоторые из «основных» типов и классов типов Haskell (но в общей сложности изучаю Haskell не более двух недель) и обнаружил кое-что, что меня беспокоит:
«Полугруппоид» - это обобщение «Категории», означающее,...
336 просмотров
schedule
22.08.2022
Можно ли рассматривать вид `*` как `ob (Hask)`?
Если Hask является категорией всех типов haskell (с функциями в виде стрелок), то можно ли рассматривать ob(Hask) (то есть коллекцию объектов Hask ) как равную * ?
Если нет, то в каком смысле это неправильно?
136 просмотров
schedule
02.05.2022
Пример конкретного типа функтора, который не может быть аппликативным?
Из функторов, которые не являются аппликативными :
Конструктор типа, который является Functor, но не Applicative. Простым примером является пара:
instance Functor ((,) r) where
fmap f (x,y) = (x, f y)
Но нет способа...
397 просмотров
schedule
06.05.2024
Имя для конструктора типа, который одновременно является категорией и монадой?
Есть ли какое-нибудь стандартное имя для конструктора типа F :: * -> * -> * -> * с операциями
return :: x -> F a a x
bind :: F a b x -> (x -> F b c y) -> F a c y
то есть контравариантный функтор в первом аргументе и...
162 просмотров
schedule
25.06.2023
Что такое гомоморфизм моноидов?
Я читал о гомоморфизме моноидов из Морфизмы моноидов , Продукты и Сопродукты и не смогли понять на 100%.
Автор говорит (выделено оригиналом):
Функция length преобразует String в Int с сохранением моноидной структуры . Такая...
3640 просмотров
schedule
08.07.2022
Что означает вселенная?
В статьях о функциональном программировании много упоминаний о вселенной. Я читаю книгу «Теория категорий для программистов» Бартоша Милевски, и он также много раз упоминал о вселенной. Вопрос в том, что означает вселенная в контексте...
228 просмотров
schedule
10.11.2023
Какие тождества обеспечивают категориальные монады, которых нет у монад Haskell?
http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html
пишет:
Если вы не догадались, речь идет о монадах, которые появляются в чисто функциональных языках программирования, таких как Haskell. Они тесно связаны с монадами...
95 просмотров
schedule
30.05.2023
Требовать, чтобы полугруппа была ассоциативной в scala
Полугруппа должна быть ассоциативной, но я мог бы определить Semigroup как:
trait Semigroup[T] {
def op(t1:T, t2:T) : T
}
def plus = new Semigroup[Int] { def op(t1:Int, t2:Int) = t1 - t2 }
Я могу реализовать plus , который не является...
48 просмотров
schedule
31.03.2024
Функтор чтения в C++
Я пытаюсь реализовать функтор читателя на С++. Соответствующее определение Haskell: fmap :: (a -> b) -> (r -> a) -> (r -> b)
Моя версия С++:
template<class A, class B, class R>
B fmap(const std::function<B(A)> &funcA, const...
134 просмотров
schedule
03.06.2024
Существует ли монадически естественный в M нетождественный морфизм монад M ~ ›M?
Известно, что естественные преобразования с типовой сигнатурой a -> a должны быть функциями идентичности. Это следует из леммы Йонеды, но может быть получено и напрямую. Этот вопрос требует того же свойства, но для морфизмов монад вместо...
146 просмотров
schedule
24.02.2022