2012-01-03 18 views
7

Tài liệu Data.Binary hiển thị viết một thể hiện bằng tay. Có cách nào để giái quyết vấn đề này không? Tôi thấy here có một thư viện khác, SerTH, có cơ chế truy xuất dựa trên mẫu (Haskell), nhưng liên kết đến nó dường như bị hỏng. Ngoài ra, nếu bạn biết các thư viện khác, hiệu suất tốt là rất quan trọng đối với chúng tôi.Có cơ chế Haskell/deriving Mẫu cho Dữ liệu.Binary (hoặc bạn bè?)

Cảm ơn bạn trước!

+0

GHC 7.2 hỗ trợ này mặc định natively sử dụng phát sinh ... Tôi đã viết code cho nó một thời gian trở lại và nó là khá đơn giản – alternative

Trả lời

5

Neil Mitchells Derive package có macro mẫu haskell để phát sinh các phiên bản nhị phân.

5

Vì bạn hỏi về các thư viện khác:

Thư viện serialization cereal dữ liệu có cereal-derive, hoạt động với sự hỗ trợ Generics mới trong GHC 7.2. Điều này có lợi thế về tốc độ biên dịch trên Template Haskell (tôi có xu hướng tránh TH ngày này chỉ vì nó làm cho việc biên dịch thậm chí còn chậm hơn) và lợi thế tốc độ thời gian chạy trên các phương thức kiểu dữ liệu như SYB và Uniplate.

ngũ cốc rất giống với nhị phân, nhưng sử dụng ByteStrings nghiêm ngặt; nhị phân đã không được cập nhật từ năm 2009 và ngũ cốc có niceties như IEEE-754 float format support, vì vậy tôi không thể thấy bất kỳ lý do gì để không sử dụng nó trên nhị phân nếu bạn muốn phát sinh.

+1

ngũ cốc-rút là GPL3. Điều này có thể là một vấn đề đối với một số trường hợp sử dụng. – user239558

+0

Việc bỏ qua những lời mời lười biếng dễ dàng hơn đối với một số trường hợp sử dụng – daf

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