2013-02-05 13 views
10

Czy Scala ma dobrze opracowane biblioteki w duchu rur Haskella, lub co najmniej iteratee?Jakie dobrze rozwinięte biblioteki iteratee/pipes są dostępne dla Scala?

Najpierw znalazłem bibliotekę Play iteratee, ale nie mogłem jej uruchomić i wydaje się, że jest ona ściśle związana z prymitywem współbieżności Play Promise, co w wielu przypadkach może być nieodpowiednie.

Scalaz ma pewne wsparcie iteratee (jak IterV), ale wydaje się, że istnieją tylko podstawowe klasy bez dodatkowych funkcji wsparcia, predefiniowanych iteratees/enumeratorów itp. Również nie mogłem znaleźć żadnej dokumentacji, nawet skaladoc jest bardzo rzadki, więc jest dość trudny w użyciu.

Nie mogłem znaleźć niczego podobnego do rur .

+2

+1 (i nie wiem, dlaczego ludzie decydują się zamknąć). Czy obejrzałeś pakiet ['iteratee' w Scalaz 7] (https://github.com/scalaz/scalaz/tree/scalaz-seven/iteratee/src/main/scala/scalaz/iteratee)? Nie ma tak wielu baterii w postaci bibliotek Haskella iteratee, ale jest o wiele bardziej użyteczny niż wersja Scalaz 6. –

+2

Istnieje również [port Scala] (https://github.com/arjanblokzijl/scala-conduits) w bibliotece Michaela Snoymana (biblioteka przewodników) (https://github.com/snoyberg/conduit) (którą mam osobiście znalezione jaśniej niż rury, pochodzące z iteratees - ale jeszcze nie próbowałem portu Scala). –

+1

Istnieje niesamowita lib na podstawie gry iteratees http://blog.greweb.fr/2013/01/playcli-play-iteratees-unix-pipe/ – OlegYch

Odpowiedz

6

Opierając się na komentarze od Travisa, obecnie znajdują się:

+2

Maszyny Runara wyglądają bardzo interesująco, zajrzę do tego. Niestety, ponieważ są w fazie rozwoju, wydają się brakować dokumentacji (jak robi to AFAIK Scalaz 7 iteratee). Port _conduit_ wydaje się obiecujący, ale nie jestem pewien, czy jest on rozwijany, czy też ma być gotowy. Jego rozwój [wydaje się być zatrzymany] (https://github.com/arjanblokzijl/scala-conduits/graphs/commit-activity) około 6 miesięcy temu i nie ma oznak wymawiania go jako gotowego lub zakończonego. –

+2

Dla Scalaz 7, mam przykład [tutaj] (http://stackoverflow.com/a/13389530/334519) z dużą ilością szczegółów i moje pytanie [tutaj] (http://stackoverflow.com/q/13422756/334519) (za pomocą [tego rozwiązania] (https://gist.github.com/travisbrown/4091180)) chodzi o to, aby działał trochę bardziej jak biblioteka Haskella Millikina. –

Powiązane problemy