Вопросы по теме '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 просмотров
schedule
18.10.2023
Обзор экземпляров класса типа 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 просмотров
schedule
23.07.2022
Преобразование 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