Вопросы по теме 'comonad'

Как разложить монаду продолжения на левое и правое примыкания?
Поскольку монада состояния может быть разложена на продукт (слева - функтор) и читатель (справа - представимый). Есть ли способ разложить на множители Монаду продолжения? Ниже приведен код моей попытки, которая не проверяет тип -- To form...
1317 просмотров

Почему я не могу найти какие-либо нарушения закона для не-совсем-комонады NotQuiteCofree?
В Твиттере Крис Пеннер предложил интересный экземпляр comonad для карт, дополненных значением по умолчанию. . Конструктор соответствующего типа и экземпляр транскрибируются здесь (с косметическими отличиями): data MapF f k a = f a :< Map k...
156 просмотров
schedule 20.05.2022

Каждая свободная монада над ??? функтор дает комонаду?
В этом ответе на вопрос "Может ли монада быть комонадой?" Мы видим, что Каждый Cofree Comonad через Альтернативный функтор дает монаду. Что было бы двойственным к этому? Существует ли класс функторов, автоматически превращающих...
253 просмотров

Разумные реализации Comonad
Мы можем описать монаду как вычислительный контекст, и реализация монады в точности сохраняет значение этого контекста. Например, Option — контекст означает, что значение может существовать. Учитывая тип данных Option, единственная реализация,...
662 просмотров

Какие мотивирующие примеры для Cofree CoMonad в Haskell?
Я играл с Cofree и не могу понять. Например, я хочу поиграть с Cofree [] Num в ghci и не могу найти интересных примеров. Например, если я создам тип Cofree: let a = 1 :< [2, 3] Я ожидал бы extract a == 1 , но вместо этого я...
4716 просмотров
schedule 16.03.2023

Какой алгебраический шаблон соответствует этому типу дерева?
У меня есть головоломка для вас, Мне удалось написать некоторый код, который делал бы эти вещи, используя схемы рекурсии, но он невероятно запутан, и это обычно означает, что я где-то упустил полезную абстракцию. Я разрабатываю систему...
232 просмотров
schedule 16.10.2022