Как можно создать перечислитель для BufferedReader?
Я нашел довольно старую статью: http://apocalisp.wordpress.com/2010/10/17/scalaz-tutorial-enumeration-based-io-with-iteratees/ и похоже, что он не работает со Scalaz 6.0.4
Я пытаюсь создать Enumerator на основе примера отсюда: Идиоматическая конструкция для проверить заказана ли коллекция
implicit val ListEnumerator = new Enumerator[List] {
def apply[E, A](e: List[E], i: IterV[E, A]): IterV[E, A] = e match {
case List() => i
case x :: xs => i.fold(done = (_, _) => i,
cont = k => apply(xs, k(El(x))))
}
}
Но я не могу понять, как объединить монаду ввода-вывода с Enumerator