2013-02-05 41 views
10

Scala có bất kỳ thư viện phát triển tốt nào theo tinh thần của đường ống của Haskell hay ít nhất iteratee?Các thư viện iteratee/ống được phát triển tốt nào có sẵn cho Scala?

Trước tiên tôi đã tìm thấy thư viện lặp lại của Play, nhưng tôi không thể làm cho nó hoạt động và có vẻ như được kết hợp chặt chẽ với nguyên thủynguyên bản của Play, điều này có thể không phù hợp trong nhiều trường hợp.

Scalaz có một số hỗ trợ iteratee (như IterV), nhưng có vẻ như chỉ có các lớp lõi không có chức năng hỗ trợ bổ sung, lặp lại được xác định trước/liệt kê vv. Ngoài ra tôi không thể tìm thấy bất kỳ tài liệu nào, thậm chí scaladoc là rất thưa thớt, nó khá khó sử dụng đúng cách.

Và tôi không thể tìm thấy bất kỳ điều gì tương tự như ống.

+2

+1 (và không chắc chắn lý do mọi người bỏ phiếu để đóng). Bạn đã xem qua gói [iteratee' trong Scalaz 7] chưa (https://github.com/scalaz/scalaz/tree/scalaz-seven/iteratee/src/main/scala/scalaz/iteratee)? Nó không có nhiều pin bao gồm các thư viện Haskell iteratee, nhưng nó có thể sử dụng nhiều hơn phiên bản Scalaz 6. –

+2

Ngoài ra, có [một cổng Scala] (https://github.com/arjanblokzijl/scala-conduits) của [Thư viện Conduit] của Michael Snoyman (https://github.com/snoyberg/conduit) (mà tôi đã cá nhân tìm thấy rõ ràng hơn so với đường ống, đến từ iteratees - nhưng tôi chưa thử cổng Scala). –

+1

có một lib tuyệt vời dựa trên play iteratees http://blog.greweb.fr/2013/01/playcli-play-iteratees-unix-pipe/ – OlegYch

Trả lời

6

Xây dựng trên ý kiến ​​từ Travis, hiện có:

+2

Máy runar trông rất thú vị, tôi sẽ xem xét nó. Thật không may, khi họ đang phát triển, họ dường như thiếu tài liệu (như AFAIK Scalaz 7 iteratee hiện). Cổng _conduit_ có vẻ đầy hứa hẹn, nhưng tôi không chắc nó có đang được phát triển hay không. Sự phát triển của nó [dường như đã dừng lại] (https://github.com/arjanblokzijl/scala-conduits/graphs/commit-activity) khoảng 6 tháng trước và không có dấu hiệu phát âm nó đã sẵn sàng hoặc kết thúc. –

+2

Đối với Scalaz 7, tôi đã có một ví dụ [ở đây] (http://stackoverflow.com/a/13389530/334519) với một số tiền hợp lý của chi tiết, và câu hỏi của tôi [ở đây] (http://stackoverflow.com/q/13422756/334519) (với [giải pháp này] (https://gist.github.com/travisbrown/4091180)) là làm cho nó hoạt động nhiều hơn một chút so với thư viện Haskell của Millikin. –