Запитання з тегом «comonad»

1
Розуміння, чому Блискавка - це Комонад
Це продовження відповіді на моє попереднє запитання. Припустимо , що мені потрібно відобразити кожен елемент a:Aз List[A]до b:Bз функцією def f(a:A, leftNeighbors:List[A]): Bі генерувати List[B]. Очевидно, що я не можу просто зателефонувати mapза списком, але можу скористатися списком- блискавкою . Блискавка - це курсор для переміщення по списку. Він забезпечує …

2
Що таке клас класу Comonad у Haskell?
Що таке клас класу Comonad у Haskell? Як і в Comonad від Control.Comonad у пакеті comonad (пояснення будь-яких інших пакетів, які надають клас класу Comonad, також вітаються). Я розпливчасто чув про Комонаду, але все, що я насправді знаю про це, є те, що це забезпечує extract :: w a -> …

3
Комони на блискавках, загалом
Враховуючи будь-який тип контейнера, ми можемо сформувати блискавку (орієнтовану на елементи) і знати, що ця структура є комонадою. Це нещодавно було детально досліджено в іншому запитанні щодо переповнення стеку для наступного типу: data Bin a = Branch (Bin a) a (Bin a) | Leaf a deriving Functor на наступній блискавці …

1
Як розділити монаду продовження на ліві та праві сполучення?
Оскільки державна монада може бути розподілена на продукт (ліворуч - функціонер) та читач (справа - представницький). Чи є спосіб факторизувати продовження Монади? Нижче коду - моя спроба, яка не перевіряю тип -- To form a -> (a -> k) -> k {-# LANGUAGE MultiParamTypeClasses, TypeOperators, InstanceSigs, TypeSynonymInstances #-} type (<-:) …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.