У меня есть newtype
, который я хочу сохранить в файл, примерно так:
type Index = (Int, Int)
newtype Board a = Board { unboard :: Array Index a }
Так что в основном Array
. Но, может быть, однажды я захочу добавить некоторые другие данные, например:
data BoardWithInfo a = BWI {
bwiBoard :: Board a,
bwiRef :: String,
bwiStart :: Index
}
И так далее. Я просто хочу знать, есть ли удобные, оптимизированные функции для этого, Array
в ByteString
и объединенные данные - и наоборот. Или как написать свою, если их нет.
Data.Binary
действительно приятно работать, особенно если вы просто заботитесь о том, чтобы поместить биты на диск, а не соответствовать определенному формату. 13.04.2011Data.Binary
, это отличный помощник. 13.04.2011