Вопросы по теме 'monoids'
Почему GHC не может получить экземпляры для Monoid?
В GHC есть несколько языковых флагов, таких как DeriveFunctor , DeriveDataTypeable и т. Д., Которые позволяют компилятору генерировать производные экземпляры для классов типов, отличных от разрешенных в Haskell 98. Это особенно важно для чего-то...
2437 просмотров
schedule
30.11.2023
Ассоциативная бинарная операция для Option в Scala
Я помню, что monad это monoid . То есть существует ассоциативная бинарная операция * , так что если ma и mb являются монадическими значениями , то ma * mb также является монадическим значением.
Если вышесказанное верно, что это за...
673 просмотров
schedule
26.01.2023
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 просмотров
schedule
22.08.2022
Как объединить массивы моноидного типа?
Список или массив моноидов типа 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 просмотров
schedule
01.05.2024
Неявные параметры с двумя экземплярами одного типа
Scala позволяет нам определять неявные параметры. Основываясь на точном типе, выбирается правильное определение. В приведенном ниже примере 2 экземпляра моноида определены для одного и того же типа Money , MoneyAdditionMonoid для накопления и...
201 просмотров
schedule
25.02.2024
Что такое гомоморфизм моноидов?
Я читал о гомоморфизме моноидов из Морфизмы моноидов , Продукты и Сопродукты и не смогли понять на 100%.
Автор говорит (выделено оригиналом):
Функция length преобразует String в Int с сохранением моноидной структуры . Такая...
3640 просмотров
schedule
08.07.2022