2012-07-15 28 views
15

Tôi đã học Haskell một thời gian và với mọi ngôn ngữ lập trình mới, tôi học một dự án nhỏ yêu cầu làm việc với máy chủ thư và xuất bản nội dung RSS và Atom. Vấn đề duy nhất là, tôi dường như không thể tìm thấy gói phong nha cho những hoặc ít nhất không thể tìm thấy bất kỳ đánh giá của các gói.Haskell RSS, thư và các lựa chọn thư viện XML

Vì vậy, tôi sẽ hỏi cộng đồng:

Bất kỳ gói ưa thích nào để tương tác với máy chủ thư? (IMAP, POP3, v.v ..)

Bất kỳ gói nào đã sẵn sàng để xuất bản nguồn cấp dữ liệu RSS và/hoặc Atom? Nếu không, bất kỳ gói ưu tiên nào cho XML nói chung?

Bất kỳ đề xuất nào cho máy chủ web ma sát tối giản, thấp để ràng buộc tất cả những thứ đó với nhau?

Xin cảm ơn trước.

+4

Tôi có thể hỏi tại sao câu hỏi này đã bị đóng không? Có những câu hỏi khác về thư viện, cả Haskell và các ngôn ngữ khác và chúng không bị đóng. – Michael

+1

Thư viện 'feed' là một lựa chọn tốt cho công việc RSS nghiêm túc. Để xuất bản, tôi khá thích 'feed-cli' hoặc' feed'. –

+2

@DonStewart, chúng tôi đã gặp sự cố khi sử dụng gói 'feed' để phân tích cú pháp nguồn cấp dữ liệu trong quá khứ, kết hợp hiệu suất chậm, rò rỉ không gian và không tương thích với nguồn cấp dữ liệu thực (không chính xác RFC) ... một trình phân tích cú pháp khác dựa trên 'xml-enumerator'. Một trong những ngày này chúng tôi có thể sẽ chuyển nó sang 'xml-conduit' và đặt nó lên trên hackage. –

Trả lời

2

Chỉ để trả lời câu hỏi này, gói feed là tốt để sản xuất rss. Đối với email, mọi người thường chỉ xuất hiện trực tiếp vào tệp thực thi sendmail. Gói mime-mail cung cấp trình bao bọc xung quanh này cùng với một số công cụ bổ sung. Nếu bạn muốn đọc email, cách thông thường là thiết lập procmail hoặc tương tự và sau đó sử dụng trình phân tích cú pháp mbox để tương tác trực tiếp với tệp được tạo. Hai trình phân tích cú pháp là mboxcodec-mbox.

Nếu bạn thực sự muốn tương tác với pop3/imap, bạn có thể thực hiện trước với pop3-client và phiên bản sau với HaskellNet, khá cũ nhưng dường như hoạt động. Mã mẫu để sử dụng nó có sẵn here.

+0

Cảm ơn bạn đã giải thích chi tiết! Vì tôi chỉ cần làm công việc rất nhẹ nên tôi nghĩ mình sẽ sử dụng pop3-client nhưng cảm ơn vì đã chỉ ra cách procmail. – Michael

Các vấn đề liên quan