У меня есть 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
и комбинированные данные - и наоборот. Или как написать свой, если их нет.