1
Scalaz iteratees: „Lifting” „EnumeratorT”, aby dopasować „IterateeT” do „większej” monady
Jeśli mam EnumeratorTodpowiedni odpowiednik IterateeT, mogę je uruchomić razem: val en: EnumeratorT[String, Task] = EnumeratorT.enumList(List("a", "b", "c")) val it: IterateeT[String, Task, Int] = IterateeT.length (it &= en).run : Task[Int] Jeśli monada modułu wyliczającego jest „większa” niż monada iteracyjna, mogę użyć uplub, bardziej ogólnie, Hoist„podnieść” iterat, aby dopasować: val en: EnumeratorT[String, …