haskell enumerator iterate

haskell - Comparación de encuestador vs paquete iteratee



enumerator (1)

Actualmente, hay dos opciones populares que implementan el patrón iterado :

¿Cuáles son sus beneficios relativos? ¿Es uno mejor que el otro o depende del caso de uso (y, de ser así, cuáles son los criterios para decidir cuál usar)?


Hay al menos tres bibliotecas iteratee:

  • enumerador
  • iterar
  • iterio

Creo que la biblioteca del enumerador es la preferida actualmente, debido a su simplicidad. También es el que uso para mis proyectos, si te importa. Los otros dos paquetes son más flexibles y pueden ser más rápidos a veces, pero también son más complicados. Si quieres aprender iterares te sugiero comenzar con un enumerador . Es la implementación más directa de la idea original de Oleg.

Si tiene un caso de uso particular y necesita muchas características con el método estándar de iteración, puede considerar usar el paquete de iteración . En situaciones más complicadas, es posible que también desee probar el paquete iterIO , que tiene un concepto ligeramente diferente y más flexible. En particular, las iteraciones pueden comunicarse con el enumerador, lo que no es posible en los otros dos paquetes.

Si los tres paquetes no son lo suficientemente flexibles, es probable que desee escribir sus propias guías con el paquete monad-coroutine . Los iterados y los enumeradores son un tipo especial de coroutines, que se pueden componer de cierta manera. El paquete monad-coroutine le da el tipo general y le permite emplear su propio concepto de interacción.