Вопросы с тегом «scalaz»

1
Scalaz повторяет: «Поднимает» EnumeratorT для соответствия «IterateeT» для «большей» монады
Если у меня есть EnumeratorTи соответствующий, IterateeTя могу запустить их вместе: val en: EnumeratorT[String, Task] = EnumeratorT.enumList(List("a", "b", "c")) val it: IterateeT[String, Task, Int] = IterateeT.length (it &= en).run : Task[Int] Если монада перечислителя "больше", чем монада итерируемого, я могу использовать upили, в более общем смысле, Hoist"поднять" итератора для сопоставления: …

8
Хорошее скалярное введение [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 7 лет назад . Улучшить этот вопрос Недавно скалаз попался на глаза. Это выглядит очень интересно, но …
215 scala  scalaz 

1
Предотвращение утечек памяти с помощью перечислителей Scalaz 7 zipWithIndex / group
Задний план Как отмечено в этом вопросе , я использую итерации Scalaz 7 для обработки большого (т. Е. Неограниченного) потока данных в постоянном пространстве кучи. Мой код выглядит так: type ErrorOrT[M[+_], A] = EitherT[M, Throwable, A] type ErrorOr[A] = ErrorOrT[IO, A] def processChunk(c: Chunk, idx: Long): Result def process(data: EnumeratorT[Chunk, …
106 scala  scalaz  iterate 

2
Reader Monad для внедрения зависимостей: множественные зависимости, вложенные вызовы
На вопрос о внедрении зависимостей в Scala довольно много ответов указывают на использование Reader Monad, будь то из Scalaz или просто скатываете свою собственную. Есть ряд очень четких статей, описывающих основы подхода (например , выступление Рунара , блог Джейсона ), но мне не удалось найти более полный пример, и я …

1
Как заменить программу, написанную в виде последовательного потока переходов состояний, на scalaz-stream?
Я пытаюсь понять, как реорганизовать программу, которую я раньше написал бы как последовательность переходов состояний: У меня есть бизнес-логика: type In = Long type Count = Int type Out = Count type S = Map[Int, Count] val inputToIn: String => Option[In] = s => try Some(s.toLong) catch { case _ …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.