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

Лучший способ обработать валидацию полей объекта = ›Either / Try (scala 2.10) / ValidationNEL (scalaz)
Предположим, что объект построен с использованием шаблона построителя. Этот шаблон построителя будет содержать build метод, ориентированный на проверку полей, а затем на преобразование в целевой тип. Эта проверка может быть реализована с...
1184 просмотров

Как элегантно объединить несколько задач, содержащих параметры в ZIO
Я ищу наиболее элегантную реализацию import scalaz.zio.Task def combineTasks[A, B, C, D](task1: Task[Option[A]], task2: Task[Option[B]], task3: Task[Option[C]])...
780 просмотров
schedule 08.09.2021

scalaz Складная композиция
у меня есть следующий код val listOption: List[Option[Int]] = List(1.some, none, 2.some) я хочу сложить элементы, я пишу следующий код val result = listx.fold(0.some)((acc, el) => { (acc, el) match { case (Some(a), Some(b)) =>...
157 просмотров
schedule 30.03.2022

Преобразовать scala 2.10 future в scalaz.concurrent.Future // Задача
Кто-нибудь пришел к фрагменту кода, как правильно преобразовать будущее scala (2.10) в новое будущее scalaz7? Я знаю, как преобразовать scalaz future через scala Promise в scala Future, но не знаю, как это сделать правильно. Например import...
2878 просмотров
schedule 03.04.2022

Scalaz 7 как использовать Functor с Function1
Привет, я начинаю изучать Scalaz. Я хочу получить функцию и сопоставить ее с другой функцией. хотя я могу написать это: import scalaz._, Scalaz._ import std.function._ import syntax.monad._ ((x: Int) => x + 1) map {_ * 7} и это...
210 просмотров
schedule 29.04.2022

Общее преобразование / сворачивание / отображение кортежа / hlist, содержащего некоторый F [_]
Недавно я спросил Сопоставить и уменьшить / свернуть HList of scalaz.Validation и получил отличный ответ о том, как преобразовать фиксированный размер кортеж из Va[T] (который является псевдонимом для scalaz.Validation[String, T] ) в...
531 просмотров

Scalaz: как составить линзу карты с линзой значения?
Вот пример объектива карты Scalaz здесь : Дэн Бертон называет его containsKey , и он вдохновлен выступлением Эдварда Кметта. В Scalaz 7 также есть нечто, называемое mapVPLens , которое полезно для изменения значений на карте. У меня такой...
1149 просмотров
schedule 18.08.2022

Монадическая свертка с монадой состояния в постоянном пространстве (куча и стек)?
Можно ли выполнить свертку в монаде состояния в постоянном стеке и пространстве кучи? Или для моей проблемы лучше подходит другая функциональная техника? В следующих разделах описывается проблема и мотивирующий вариант использования. Я использую...
2130 просмотров

Почему getOrElse теряет вывод типа в scalaz
Когда я использую тип Either в Scalaz, это очень хороший дизайн, но метод getOrElse теряет вывод типа. val either = ~3.right[String] | "123" // either: String val either = 3.right[String] | "123" // either: Any почему val либо = 3.right...
95 просмотров
schedule 16.01.2023

Проверка, равны ли статические типы двух определений
Допустим, я придумал комбинатор: def optional[M[_]: Applicative, A, B](fn: Kleisli[M, A, B]) = Kleisli[M, Option[A], Option[B]] { case Some(t) => fn(t).map(_.some) case None => Applicative[M].point(none[B]) } Этот комбинатор...
29 просмотров

Как решить несоответствие типов, когда компилятор находит Serializable вместо типа соответствия?
У меня есть следующий парсер для анализа арифметических выражений, содержащих Float и RDD : import scalaz._ import Scalaz._ def term2: Parser[List[\/[Float, RDD[(Int,Array[Float])]]]] = rep(factor2) def factor2: Parser[\/[Float,...
9569 просмотров
schedule 18.09.2023