2013-02-05 18 views
10

Hat Scala irgendwelche gut entwickelten Bibliotheken im Geiste von Haskells Pfeifen oder mindestens iteratee?Welche gut entwickelten iteratee/pipes Bibliotheken gibt es für Scala?

Ich fand Play iteratee Bibliothek zuerst, aber ich konnte es nicht funktionieren, und es scheint eng mit Play Nebenläufigkeit primitiven Promise gekoppelt, die in vielen Fällen unangemessen sein könnte.

Scalaz hat einige iteratee Unterstützung (wie IterV), aber es scheint, dass es nur Kernklassen ohne zusätzliche Unterstützungsfunktionen, vordefinierte iteratees/enumerators etc. gibt. Ich konnte auch keine Dokumentation finden, sogar scaladoc ist sehr spärlich, also es ist ziemlich schwierig, richtig zu verwenden.

Und ich konnte nichts ähnliches zu Rohre finden.

+2

+1 (und nicht sicher, warum Leute schließen möchten). Haben Sie sich das [iteratee-Paket in Scalaz 7] (https://github.com/scalaz/scalaz/tree/scalaz-seven/iteratee/src/main/scala/scalaz/iteratee) angesehen? Es hat nicht so viele Batterien wie die Haskell iteratee-Bibliotheken, aber es ist viel brauchbarer als die Scalaz 6-Version. –

+2

Außerdem gibt es [einen Scala-Port] (https://github.com/arjanblokzijl/scala-conduits) von Michael Snoymans [Conduit-Bibliothek] (https://github.com/snoyberg/conduit) (was ich habe persönlich gefunden klarer als Pfeifen, von iteratees kommen - aber ich habe noch nicht den Scala-Port ausprobiert). –

+1

gibt es eine tolle lib basierend auf spielen iterates http://blog.greweb.fr/2013/01/playcli-play-iteratees-unix-pipe/ – OlegYch

Antwort

6

Aufbauend auf Kommentare von Travis, zur Zeit gibt es:

+2

Runar Maschinen sehen sehr interessant aus, ich werde es untersuchen. Leider, da sie in der Entwicklung sind, scheinen sie Dokumentation zu fehlen (wie AFAIK Scalaz 7 iteratee tut). Der Port von _conduit_ scheint vielversprechend, aber ich bin mir nicht sicher, ob es entwickelt wird oder ob es fertig sein soll. Seine Entwicklung scheint vor etwa 6 Monaten aufgehört zu haben (https://github.com/arjanblokzijl/scala-conduits/graphs/commit-activity) und es gibt keine Anzeichen dafür, dass es fertig oder fertig ausgesprochen wird. –

+2

Für Scalaz 7 habe ich ein Beispiel [http://stackoverflow.com/a/13389530/334519] mit einer gewissen Menge an Details, und meine Frage [hier] (http://stackoverflow.com/q/13422756/334519) (mit [dieser Lösung] (https://gist.github.com/travisbrown/4091180)) geht es darum, dass es ein wenig mehr wie Millikins Haskell-Bibliothek funktioniert. –