2012-01-03 10 views
7

Dokumentacja Data.Binary pokazuje pisanie instancji ręcznie. Czy istnieje sposób obejścia tego? Widziałem here jest inna biblioteka, SerTH, która ma mechanizm wywodzący się (oparty na szablonie Haskell), ale link do niego wydaje się zepsuty. Ponadto, jeśli znasz inne biblioteki, dobra wydajność jest dla nas kluczowa.Czy istnieje szablon Haskell/mechanizm derywacyjny dla Data.Binary (lub znajomych?)

Z góry dziękuję!

+0

GHC 7.2 natywnie obsługuje tej użyciu domyślnego wyprowadzania ... Napisałem kod do niego przez chwilę z powrotem i to było całkiem proste – alternative

Odpowiedz

5

Ponieważ poprosiłeś o innych bibliotek:

Serializacja biblioteka cereal danych ma cereal-derive, który działa przy wsparciu nowych Generics w GHC 7.2. Ma to przewagę nad kompilacją w porównaniu z szablonem Haskella (unikam TH w dzisiejszych czasach tylko dlatego, że kompilacja jest jeszcze wolniejsza) i przewagę nad typami typu danych, takimi jak SYB i Uniplate.

zbóż jest bardzo podobny do binarnego, ale używa ścisłego ByteStrings; plik binarny nie był aktualizowany od 2009 roku, a płatki mają takie cechy, jak IEEE-754 float format support, więc nie widzę żadnego powodu, aby nie używać go do binarnego, jeśli chcesz uzyskać.

+1

zbóż Derive jest GPL3. Może to stanowić problem w niektórych przypadkach użycia. – user239558

+0

Leniwe bytestrings są łatwiejsze w niektórych przypadkach użycia – daf

Powiązane problemy