Описание тега distributive

Категориальный двойник Traversable (Data.Distributive в Haskell). Это структура, которая основана на Functor и является выражением распределительных законов (арифметическим примером является (b + c) = ab + ac).
1 ответ

Как написать репрезентативный экземпляр, используя только Распределительные свойства?

Скажи, что у меня есть Distributive экземпляр написан для какого-то сложного пользовательского типа, Foo, Можно ли написать Foo"s Representable экземпляр, используя только свойства, доступные из его Distributive пример? И если нет, то почему Distrib…
26 мар '18 в 17:27
2 ответа

Есть ли такая вещь, как бидистрибутив? Какая функция мне нужна здесь?

У меня есть код (на самом деле в C#, но этот вопрос не имеет ничего общего с C#, поэтому я буду говорить обо всех моих типах на языке Haskell), где я работаю внутри Either a b, После, я bind функция с сигнатурой, которая в Haskell-говорят b -> (c…
3 ответа

Как рассчитать CRC32 по блокам, которые разбиты и буферизованы из больших данных?

Допустим, у меня есть данные размером 1024 КБ, которые буферизуются 1 КБ и передаются 1024 раза от передатчика к приемнику. Последний буфер содержит вычисленное значение CRC32 как последние 4 байта. Однако получатель должен вычислять буфер CRC32 по …
09 июл '18 в 08:09
2 ответа

Проблема при использовании дистрибутивных условных типов в сочетании с универсальным методом

Я пытался сделать универсальную функцию, которая получает и объект T и получает имя свойства строки этого объекта T. Я использовал https://www.typescriptlang.org/docs/handbook/advanced-types.html в качестве примера (раздел: Распределительные условны…
1 ответ

распределительное свойство сложения по макс.

Может ли кто-нибудь объяснить, что такое «дистрибутивное свойство сложения по max», поскольку Σ Σ max(Ai + Bj, Aj + Bi) можно записать как Σ Σ [max(Ai-Bi,Aj-Bj) + Bi + Bj], используя это свойство
04 окт '21 в 08:15
2 ответа

Почему в основном обходы определяются над аппликативами?

В последнее время я был немного увлечен «перегонкой всего к его основам», и мне не удалось найти четких теоретических причин того, как определяется класс типов Traversable, только практические из «полезно иметь возможность проходить над аппликативны…
1 ответ

Есть ли название для этой более высокоуровневой «би» версии дистрибутива в Haskell?

у меня естьBitraversable называетсяtкоторый поддерживает эту операцию: someName :: Monad m => (t (m a) (m b) -> c) -> m (t a b) -> c Другими словами, можно взять функцию, которая принимает две монады, упакованные в побитовый обход, и пре…
21 ноя '22 в 00:48
1 ответ

Что такое кокартезианский комоноид и что такое кокартезианский комоноидальный функтор?

В последнее время я экспериментировал с моноидами и дистрибутивами и думаю, что нашел кое-что интересное (описано в моем ответе) - это уже известные структуры? (Мне не удалось найти какие-либо ссылки на них в Интернете, и я не думаю , что упустил ка…
2 ответа

Существует ли какой-либо класс типов, определяющий функцию от `a -> mb` до `m (a → b)`?

Функция изa -> m bкm (a -> b)редко появляется в программировании, но может быть реализован в монаде Reader. Следующий код является предварительной реализацией. Существует ли такая библиотека? class Monad m => MonadShift m where shift :: (a …
04 апр '23 в 11:10
2 ответа

Как я могу перейти от `a -> Parser b` к `Parser (a → b)`?

Я пытаюсь обновить парсер синтаксического анализа, который использует Text.Parsec.Expr . Я пытаюсь (и, возможно, это опрометчиво, но, похоже, это должно быть практично) встроить часть проверки DSL в парсер. Но у меня возникли проблемы с тем, чтобы э…
12 апр '23 в 15:48