2013-02-05 11 views
10

Scala ha librerie ben sviluppate nello spirito delle pipe Haskell, o almeno iteratee?Quali librerie iteratee/pipe ben sviluppate sono disponibili per Scala?

Ho trovato la libreria iteratee di Play prima, ma non riuscivo a farlo funzionare, e sembra strettamente collegato alla concorrenza della concorrenza Promise, che potrebbe essere inappropriata in molti casi.

Scalaz ha qualche supporto iteratee (come IterV), ma sembra che ci siano solo classi di base senza funzioni di supporto aggiuntive, iteratees predefinite/enumeratori ecc Inoltre non ho potuto trovare alcuna documentazione, anche scaladoc è molto scarsa, così è abbastanza difficile da usare correttamente.

E non ho trovato nulla di simile a pipe.

+2

+1 (e non sono sicuro del motivo per cui le persone votano per chiudere). Hai dato un'occhiata al pacchetto ['iteratee' in Scalaz 7] (https://github.com/scalaz/scalaz/tree/scalaz-seven/iteratee/src/main/scala/scalaz/iteratee)? Non ha tante batterie incluse come le librerie iteratee Haskell, ma è molto più utilizzabile rispetto alla versione Scalaz 6. –

+2

Inoltre, c'è [una porta Scala] (https://github.com/arjanblokzijl/scala-conduits) della libreria [Conduit] di Michael Snoyman (https://github.com/snoyberg/conduit) (che ho personalmente trovato più chiaro di pipe, proveniente da iteratees, ma non ho ancora provato la porta Scala). –

+1

c'è una lib fantastica basata su iteratees di gioco http://blog.greweb.fr/2013/01/playcli-play-iteratees-unix-pipe/ – OlegYch

risposta

6

Costruire sulle osservazioni da Travis, attualmente ci sono:

+2

Le macchine di Runar sono molto interessanti, ci penserò io. Sfortunatamente, poiché sono in fase di sviluppo, sembrano mancare di documentazione (come fa AFAIK Scalaz 7 iteratee). Il porto di _conduit_ sembra promettente, ma non sono sicuro che sia stato sviluppato o se è destinato a essere completato. Il suo sviluppo [sembra essersi fermato] (https://github.com/arjanblokzijl/scala-conduits/graphs/commit-activity) circa 6 mesi fa e non vi è alcun segno di pronunciarlo pronto o finito. –

+2

Per Scalaz 7, ho un esempio [qui] (http://stackoverflow.com/a/13389530/334519) con una buona quantità di dettagli e la mia domanda [qui] (http://stackoverflow.com/q/13422756/334519) (con [questa soluzione] (https://gist.github.com/travisbrown/4091180)) si tratta di farla funzionare un po 'più come la libreria Haskell di Millikin. –

Problemi correlati