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

Почему GHC не может получить экземпляры для Monoid?
В GHC есть несколько языковых флагов, таких как DeriveFunctor , DeriveDataTypeable и т. Д., Которые позволяют компилятору генерировать производные экземпляры для классов типов, отличных от разрешенных в Haskell 98. Это особенно важно для чего-то...
2437 просмотров
schedule 30.11.2023

Ассоциативная бинарная операция для Option в Scala
Я помню, что monad это monoid . То есть существует ассоциативная бинарная операция * , так что если ma и mb являются монадическими значениями , то ma * mb также является монадическим значением. Если вышесказанное верно, что это за...
673 просмотров

Proof of Paper, Scissor, Rock как экземпляр моноида в Coq
Итак, изучая Coq, я сделал простой пример с игрой бумага, ножницы, камень. Я определил тип данных. Inductive PSR : Set := paper | scissor | rock. И три функции: Definition me (elem: PSR) : PSR := elem. Definition beats (elem: PSR) : PSR...
169 просмотров
schedule 25.11.2022

Приложение Monoid для подтипов не компилируется с оператором добавления, но работает при явном вызове
Я делаю моноид для комбинирования стратегий повторного выполнения, и RetryExecutor[T] является базовым типом. Я определил следующий базовый тип и моноид: trait RetryExecutor[C] { def retry[T](f: C => T)(context: C): T def predicate:...
149 просмотров
schedule 09.04.2024

Каково практическое применение моноидов?
Я читаю Learn You a Haskell и уже рассмотрел аппликатив, и теперь я на моноидах. У меня нет проблем с пониманием обоих, хотя я нашел аппликатив полезным на практике, а моноид - не совсем так. Поэтому я думаю, что я чего-то не понимаю в Haskell....
3648 просмотров
schedule 19.11.2023

Как проверить XML с помощью моноида в Scala?
Предположим, мне нужно проверить входной XML, например. <a> <a1>a1a1a1</a1> <a2>a2a2a2</a2> <a3/> </a> Мне нужно убедиться, что его корневой элемент имеет метку "a" и дочерние элементы с...
92 просмотров
schedule 30.09.2023

Автоматическое распространение моноидального маппенда
Скажем, у меня есть моноид, определенный следующим образом: data TotalLine = TotalLine { totalQuantity :: Int, orderTotal :: Float } instance Monoid TotalLine where mempty = zero mappend = add Поскольку totalQuantity и orderTotal...
88 просмотров
schedule 21.05.2024

Моноид на любом складном
Я пытаюсь создать экземпляр Monoid на haskell, моноид, который может быть применим к любой структуре Foldable, которая содержит сопоставимые элементы и возвращает сохраненное максимальное значение. Пока у меня есть это import Data.List import...
122 просмотров
schedule 23.12.2023

Эндофункция как моноид
Я пытаюсь это (для целей обучения): {-# LANGUAGE FlexibleInstances #-} instance Monoid (a -> a) where mempty = id mappend f g = f . g ожидая, что id <> id будет равно id . id Однако с (id <> id) 1 я получаю эту...
452 просмотров
schedule 18.09.2023

Связь между классами Semigroupoid и Semigroup
На прошлой неделе я пытался понять некоторые из «основных» типов и классов типов Haskell (но в общей сложности изучаю Haskell не более двух недель) и обнаружил кое-что, что меня беспокоит: «Полугруппоид» - это обобщение «Категории», означающее,...
336 просмотров

Как объединить массивы моноидного типа?
Список или массив моноидов типа A тоже являются моноидами. Теперь я хотел бы combine массивы целых чисел, используя cats . scala> 1 |+| 2 res1: Int = 3 scala> Array(1, 2, 3) |+| Array(1, 2, 3) <console>:21: error: value |+| is...
211 просмотров
schedule 10.09.2022

Применить все функции фильтра к значению
У меня есть функция, которая выглядит так: def createBuilder(builder: InitialBuilder, name: Option[String], useCache: Boolean, timeout: Option[Long]): Builder = { val filters: List[Builder => Option[Builder]] = List( b =>...
113 просмотров

Неявные параметры с двумя экземплярами одного типа
Scala позволяет нам определять неявные параметры. Основываясь на точном типе, выбирается правильное определение. В приведенном ниже примере 2 экземпляра моноида определены для одного и того же типа Money , MoneyAdditionMonoid для накопления и...
201 просмотров

Что такое гомоморфизм моноидов?
Я читал о гомоморфизме моноидов из Морфизмы моноидов , Продукты и Сопродукты и не смогли понять на 100%. Автор говорит (выделено оригиналом): Функция length преобразует String в Int с сохранением моноидной структуры . Такая...
3640 просмотров