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

Что такое DList?
Я пытался поискать в гугле, но получил только истории о второстепенных знаменитостях. Учитывая отсутствие документации, что такое ДСписок ?
4088 просмотров
schedule 28.12.2022

Могу ли я использовать преобразователи монад, чтобы упростить эту композицию?
предположим, у меня есть type VS[A] = Validation[String, A] val v: VS[Option[A]] val f: A => VS[B] Я хочу получить результат типа VS[Option[B]] , но если v является Success(None) , результат также должен быть Success(None) . Вот...
1168 просмотров

Обзор экземпляров класса типа Scalaz для других библиотек
Я часто обнаруживаю, что мне нужны экземпляры класса типа Scalaz для классов в других библиотеки Scala или Java. Приведу лишь несколько примеров: Экземпляр моноида для Shapeless HList дает вам экземпляры моноидов для case-классов с...
414 просмотров
schedule 05.03.2022

Как использовать лифт от ToFunctorOps
ToFunctorOps определяет метод lift с помощью неявного ToLiftV , но я не могу заставить его найти экземпляры моего функтора: import scalaz.std.option._ import scalaz.syntax.functor._ import scalaz.syntax.id._ import scalaz.syntax.std.option._...
322 просмотров
schedule 16.10.2023

вывод параметра типа + типы более высокого порядка + классы типов = :-(
import scalaz._; import Scalaz._ def foo[M[_]:MonadPlus,A](a:A) = a.point[M] // foo: [M[_], A](a: A)(implicit evidence$1: scalaz.MonadPlus[M])M[A] def bar1[M[_]:MonadPlus](i:Int): M[Int] = foo(i) // <-- error: ambiguous implicit values //...
195 просмотров
schedule 11.12.2023

Point Reader монада scala
есть ли способ, как легко point значение в Reader контексте? Я могу использовать Reader объект и игнорировать контекст: Reader { _ ⇒ 3 } Scalaz, кажется, имеет метод point специально для этого. Я вижу, что определяется на Applicative...
253 просмотров
schedule 06.07.2022

Минимальный импорт Scalaz, необходимый для введения правого и левого использования
Простой вопрос, я уже рассмотрел этот: Управление импортом в Scalaz7 , но я не могу Не могу понять, как минимально внедрить методы right и left в мои объекты для создания экземпляров \/ . Я пробовал: import syntax.ToDataOps и другие...
429 просмотров
schedule 08.11.2023

Scala: неверный предполагаемый тип для Option, созданного с помощью преобразователя монад StateT
Я немного знаком с преобразователями монад Haskell, но новичок в Scalaz (версия 7). Я сделал (как мне показалось) простой перевод следующего кода на Haskell: import Control.Monad.State type Pass a = StateT String Maybe a monadTest :: Pass...
348 просмотров

Преобразование M[A =› B] в A =› M[B]
Существует ли в Scala или Scalaz утилита для преобразования контейнера/набора функций в функцию, которая сопоставляет те же входные данные с выходными значениями коллекции? Подпись будет выглядеть примерно так def transform[M[_], A, B](m: M[A...
177 просмотров
schedule 13.07.2022

Почему вызов sumr для потока с 50 кортежами не завершается
Исследуя ошибку сегодня, я заметил, что вызов sumr для потока с 50 кортежами (Int, Int) никогда не завершается, но он выполняется для меньшего потока. Вызов .toList в большом потоке также завершается первым. Это предполагаемое поведение при...
71 просмотров
schedule 19.01.2024

Рефакторинг ОО-кода до функционального
Желание реорганизовать этот объектно-ориентированный код, с которым я только что столкнулся. автор кода говорит, что класс MySave был создан исключительно как заполнитель для карт keys и inserts . клиент класса MySave всегда создает новый...
192 просмотров
schedule 04.04.2023

Scala и UnionTypes привязаны к общему типу
Сценарий: У нас есть разные классы A , B , C , у которых нет общего базового класса, но все они предоставляют метод foo , который принимает один параметр того же типа, что и сам класс, и возвращает значение типа Boolean . Затем мы хотим...
106 просмотров
schedule 21.09.2023

Псевдоним типа против лямбда-типа
Кто-нибудь может объяснить плюсы/минусы type VNel[+A] = ValidationNel[String, A] x.sequence[VNel, .... vs x.sequence[({ type l[a] = ValidationNel[String, a] })#l, .... Насколько я понимаю, использование структурных типов приводит к...
282 просмотров
schedule 29.07.2023

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

ScalaZ: что такое тип Tagged[T] = {type Tag = T}?
Я начал читать от scalaz. исходный код . package object scalaz { import Id._ implicit val idInstance: Traverse1[Id] with Each[Id] with Monad[Id] with Comonad[Id] with Distributive[Id] with Zip[Id] with Unzip[Id] with Align[Id] with...
116 просмотров
schedule 22.11.2022

Превращение A => M[B] в M[A => B]
Можно ли для монады M превратить A => M[B] в M[A => B] ? Я пытался следовать типам безрезультатно, что заставляет меня думать, что это невозможно, но я подумал, что все равно спрошу. Кроме того, поиск в Hoogle a -> m b -> m (a...
1698 просмотров
schedule 28.05.2024

List[OptionT[Future, Int]] в OptionT[Future, List[A]]
Я создаю List из Int , используя асинхронное вычисление для извлечения элемента: (1 to n).map(anAsyncThingy).toList где anAsyncThingy возвращает OptionT[Future, Int] Следовательно, результат имеет тип List[OptionT[Future, Int]]...
237 просмотров
schedule 12.10.2023

Средство извлечения атрибутов на основе типа Scala - только объектив Getter?
Каков наилучший способ извлечь тип из контейнера данных, такого как класс case. Например, если у меня есть тегированный тип type Tagged[U] = { type Tag = U} trait PID , который представляет собой тегированный тип Int type ProductId = Int with...
601 просмотров
schedule 05.03.2023

Пример простой проверки с помощью ValidationNel
Это продолжение моего предыдущего вопроса : Предположим, мне нужно проверить структуру данных (например, XML, JSON, HttpRequest и т. д.). Я могу определить функцию проверки A => ValidationNel[String, B] и класс-оболочку вокруг нее: class...
241 просмотров
schedule 31.10.2023

Объедините IO и State Monad в Scalaz
Я пытаюсь написать простую программу, используя монаду State в scalaz, которая изменит некоторое состояние на основе ввода, переданного пользователем. Как лучше всего получается. В настоящее время у меня есть: import scalaz._ import Scalaz._...
273 просмотров
schedule 21.03.2022