Вопросы по теме 'category-theory'
Аппликативный: Докажите, что `pure f‹ * ›x = pure (flip ($))‹ * ›x‹ * ›pure f`
Во время изучения Typoclassopedia я столкнулся с этим доказательством, но не уверен, что мое доказательство правильное. Вопрос в том:
Можно представить себе вариант закона обмена, который говорит что-то о применении чистой функции к...
257 просмотров
schedule
03.10.2021
Hask вообще категория?
https://wiki.haskell.org/Hask :
Рассмотреть возможность:
undef1 = undefined :: a -> b
undef2 = \_ -> undefined
Обратите внимание, что это разные значения:
seq undef1 () = undefined
seq undef2 () = ()
Это может...
1359 просмотров
schedule
05.09.2021
Категориальная структура в Haskell
Hask обычно считается категорией, объекты которой являются типами, а морфизмы - функциями. Тем не менее, я видел, как Конор МакБрайд (@pigworker) предупреждал об использовании Hask несколько раз ( 1 , 2 , 3 ):
Я бы не одобрял разговоры о...
272 просмотров
schedule
18.09.2021
Присоединение, лежащее в основе монады Тардис
Мы знаем, что монады происходят от добавлений (и это было также обсуждался на SO ). Обычные монады в программировании происходят от хорошо известных дополнений. Итак, откуда взялась монада Tardis ? из? ( RevState тоже было бы неплохо узнать).
210 просмотров
schedule
12.11.2021
Почему взаимная уступка делает ArrowApply и Monads эквивалентными, в отличие от Arrow и Applicative?
Вот сообщение SO, на которое я собираюсь сослаться . Кроме того, я собираюсь использовать те же фрагменты, что и OP в этом вопросе, чтобы не разделять материалы .
Он широко известен . что экземпляр ArrowApply дает монаду и наоборот:...
195 просмотров
schedule
30.11.2021
Как разложить монаду продолжения на левое и правое примыкания?
Поскольку монада состояния может быть разложена на продукт (слева - функтор) и читатель (справа - представимый).
Есть ли способ разложить на множители Монаду продолжения? Ниже приведен код моей попытки, которая не проверяет тип
-- To form...
1317 просмотров
schedule
12.09.2021
Что такое константный функтор?
Я пытаюсь понять Constant Functor из https://en.wikipedia.org/wiki/Functor и не может отображать изображения визуально.
Было бы также хорошо, если бы кто-то мог показать это как код haskell, что такое Constant Functor и для чего он нужен.
504 просмотров
schedule
18.02.2022
Есть ли монада, у которой нет соответствующего преобразователя монад (кроме ввода-вывода)?
До сих пор каждая монада (которая может быть представлена как тип данных), с которой я столкнулся, имела соответствующий преобразователь монад или могла иметь его. Есть такая монада, у которой ее не может быть? Или у всех монад есть...
2529 просмотров
schedule
08.03.2022
Простое кодирование категории наборов и функций в Agda
Это очень простой вопрос по Agda и теории категорий. Я хочу закодировать категорию, в которой объекты представляют собой конечные множества, а стрелки - функции между ними. Я использую репозиторий agda / agda-Categories для определения Category ....
124 просмотров
schedule
10.03.2022
Можно ли обобщить этот lmap
Я хотел бы немного обобщить бифунктор lmap .
lmap обычно принимает функцию и отображает ее на левый функтор в бифункторе.
Для начала я обобщу идею Functor на категории за пределами (->) (это поможет нам избавиться от необходимости в...
70 просмотров
schedule
24.03.2022
Как это естественное преобразование?
Я собираюсь использовать замечательную библиотеку https://tpolecat.github.io/doobie/ и он полностью функционален.
Я просматривал первый пример и Я признал:
Transactor — это тип данных, который знает, как подключаться к базе данных,...
657 просмотров
schedule
03.04.2022
Могу ли я смоделировать список успехов с коротким замыканием отказа с помощью композиции аппликативных функторов?
Пользователь singpolyma спросил на Reddit , есть ли какая-то общая структура лежащий в основе:
data FailList a e = Done | Next a (FailList a e) | Fail e
Предлагалась свободная монада, но мне было интересно, можно ли ее смоделировать в более...
504 просмотров
schedule
08.04.2022
Что такое zygo/meta/histo/para/futu/dyna/whatever-morphisms?
Есть ли их список с примерами, доступный человеку без обширных знаний теории категорий?
1488 просмотров
schedule
25.04.2022
Почему fmap должен отображать каждый элемент списка?
Прочитав книгу Изучай Haskell во благо и очень полезную статью в вики-книге Теория категорий Haskell , которая помогла мне преодолеть распространенную ошибку категории о путанице объектов категории с объектами программирования , у меня все еще...
5878 просмотров
schedule
22.04.2022
Могут ли два нефунктора составить функтор?
У нас может быть два типа f, g :: * -> * , так что они не монады, а их композиция. Например для произвольного фиксированного s :
f a := s -> a
g a := (s, a)
g a не является монадой (если мы не ограничиваем s моноидом), но f (g...
170 просмотров
schedule
02.05.2022
определение подъемника
У меня есть несколько вопросов относительно функции hoistfree из библиотеки Haskell Control.Monad.Free . Учитывая преобразование f между двумя функторами, hoistfree f производит морфизм между соответствующими свободными монадами. Вот его...
153 просмотров
schedule
04.05.2022
Как операторы `›››` и `››=` работают в Haskell?
Я читал библиотеку Haskell d3js :
Это код, определяющий блок Haskell:
box :: Selector -> (Double,Double) -> St (Var' Selection)
box parent (w,h) = do
assign
$ ((d3Root
>>> select parent...
124 просмотров
schedule
23.05.2022
Почему я не могу найти какие-либо нарушения закона для не-совсем-комонады NotQuiteCofree?
В Твиттере Крис Пеннер предложил интересный экземпляр comonad для карт, дополненных значением по умолчанию. . Конструктор соответствующего типа и экземпляр транскрибируются здесь (с косметическими отличиями):
data MapF f k a = f a :< Map k...
156 просмотров
schedule
20.05.2022
Справочная информация о библиотеке категорий Agda?
Я пытаюсь понять библиотеку категорий, но я новичок в Agda, поэтому я ищу какой-то документ, объясняющий выбор, который был сделан при реализации библиотеки. В ридми есть ссылка на такую штуку, но она битая.
131 просмотров
schedule
08.06.2022
Возникают ли преобразователи монад, вообще говоря, из присоединений?
В Присоединенные функторы определяют преобразователи монад, но где подъем? Саймон С показал нам конструкцию ...
newtype Three u f m a = Three { getThree :: u (m (f a)) }
... который, как говорится в ответах, может иметь instance...
417 просмотров
schedule
15.06.2022