Я хочу использовать derivingSafeCopy от https://hackage.haskell.org/package/safecopy-0.9.0.1/docs/Data-SafeCopy.html, для сериализации моих типов данных для их хранения в базе данных - это потому, что я хочу легко переносить типы в моей базе данных.Haskell: Почему derivingSafeCopy зависит только от типов, переданных в конструктор?
Согласно спецификации, если у меня есть что-то вроде:
data A = A
data B = B
deriveSafeCopy 1 'base ''A
deriveSafeCopy 1 'base ''B
выхода putCopy A и B putCopy будет идентичен. Я надеюсь, что putCopy A и putCopy B будут отличаться, так как я сериализую A и B, используя runGet. safeGet, и хотите, чтобы A и B сериализовались для чего-то другого. Почему это работает так, и как я могу получить A и B для сериализации для разных вещей таким образом, чтобы я мог легко переносить типы данных?