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

Как работать с монадой Reader и Try?
Я читаю эту замечательную статью о инъекции зависимостей в scala с помощью монады Reader . Исходный пример работает хорошо, но я немного изменил возвращаемые типы UserRepository.get/find . Было User , но я изменил его на Try[User] . Тогда...
1125 просмотров
schedule 29.10.2021

Как составить функции, возвращающие Writer [List [Int], Int]?
Предположим, у меня есть несколько функций Int => Int , составленных из andThen : val f1: Int => Int = _ + 1 val f2: Int => Int = _ + 2 val f3: Int => Int = _ + 3 val f = f1 andThen f2 andThen f3 Теперь мне нужно вернуть и...
77 просмотров

Как преобразовать список [ValidationNel [A, Option [B]]]
Мне нужен комбинатор, чтобы преобразовать List[ValidationNel[A, Option[B]]] в ValidationNel[A, List[B]] , чтобы упорядочить проверку и, в случае успеха, сгладить это дерьмо. Вот код: def sequenceAndFlatten[A,B](valid: List[ValidationNel[A,...
126 просмотров
schedule 04.10.2021

Как создать дизъюнкцию ScalaZ из Java?
Почему? Я пишу тесты для класса адаптера Java-Scala. Как создать левую и правую дизъюнкцию для \/[String, Int] в Java?
207 просмотров
schedule 20.11.2021

Как элегантно объединить несколько задач, содержащих параметры в 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 без sbt
Я скачал снапшот scalaz из репозитория (версия 6.0.4). Я хочу создать отдельный файл jar и поместить его в каталог scala lib, чтобы использовать scalaz без sbt. У меня есть пакет scala с scala-lang.org, и он хранится в /opt/scala Насколько я...
923 просмотров
schedule 07.03.2022

Что такое монада-преобразователь в отличие от монады?
Вопрос говорит сам за себя. Я знаю, что (Scala) монада выглядит так: trait Monad[M[_]] { def pure[A](a : A) : M[A] def bind[A, B](ma : M[A], f : A => M[B]) : M[B] } Как выглядит Монада Трансформатор ? А для чего они нужны?...
2018 просмотров

Scalaz итерация, создайте Enumerator для BufferedReader
Как можно создать перечислитель для BufferedReader? Я нашел довольно старую статью: http://apocalisp.wordpress.com/2010/10/17/scalaz-tutorial-enumeration-based-io-with-iteratees/ и похоже, что он не работает со Scalaz 6.0.4 Я пытаюсь создать...
480 просмотров
schedule 29.03.2022

как перевести Haskell в Scalaz?
Мы с одним из моих старшеклассников собираемся портировать библиотеку комбинаторов синтаксических анализаторов Parsec для Haskell на Scala. (Его преимущество перед встроенной библиотекой синтаксического анализа Scala заключается в том, что вы можете...
1315 просмотров
schedule 29.03.2022

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

Использование scalaz kleisli без явного переноса функции перед
Допустим, у меня есть две функции val f: A => M[B] и val g: B => M[C] , где M — монадический. Таким образом, я хочу объединить их, используя kleisli. В настоящее время я делаю следующее: kleisliU(f) andThenK g Но я не нашел способа...
73 просмотров

Карта сбоя проверки Scalaz
import scalaz._ import Scalaz._ "abc".parseInt Это вернет Validation[NumberFormatException, Int] . Есть ли способ применить функцию на стороне сбоя (например, toString ), чтобы получить Validation[String, Int] ?
1591 просмотров
schedule 01.04.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: объединить Writer и State (и/или Lens)
Я пытаюсь объединить Writer и State (через Lens). Я почти уверен, что мне нужны преобразователи монад, но мне трудно понять, как использовать версии T и как правильно это построить. Сейчас у меня есть несколько моделей (упрощенно): case class...
181 просмотров
schedule 01.04.2022

Scalaz: преобразование State of Option в Option of State
Пытаюсь осмыслить монаду Scalaz State и преобразователи монад. Что я хочу сделать, так это реализовать что-то вроде: def transform[S,A](o: State[Option[S], A]) :Option[State[S,A]] Это вообще возможно? Как бы я это сделал?
148 просмотров
schedule 14.04.2022

Scala map2 над кортежем с внутренним моноидом (или как сделать это просто, но лучше?)
Ситуация: Поток (RxScala) событий, которые мы группируем с помощью tumblingBuffer(), а затем строим полную историю для отладки. В конечном итоге я хочу, чтобы они были в (Seq[T], Seq[T]) всех значений, поэтому я создал следующую функцию в качестве...
466 просмотров
schedule 10.04.2022

Использование границ представления с помощью scalaz
Я делаю свой первый набег на scalaz, преобразуя существующий класс для использования трейта Monoid . Чего я пытаюсь добиться, так это установить представление, привязанное к параметру типа моего класса, чтобы гарантировать, что его можно...
208 просмотров
schedule 22.04.2022

Scalaz Validation: агрегировать ошибки или возвращать любой успех
Как можно реализовать с помощью scalaz такое поведение: "Fail1".failNel[Int] and "Fail2".failNel[Int] to Failure("Fail1", "Fail2") "Fail1".failNel[Int] and 100.successNel[String] to Success(100) Мое решение выглядит сложным, и я думаю, что...
674 просмотров
schedule 23.04.2022

Почему fmap должен отображать каждый элемент списка?
Прочитав книгу Изучай Haskell во благо и очень полезную статью в вики-книге Теория категорий Haskell , которая помогла мне преодолеть распространенную ошибку категории о путанице объектов категории с объектами программирования , у меня все еще...
5878 просмотров

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