safecopy
safecopy copied to clipboard
An extension to Data.Serialize with built-in version control
Blocked on - [x] https://gitlab.haskell.org/ghc/head.hackage/-/issues/100 - [x] https://github.com/ekmett/reflection/issues/56 - [ ] https://github.com/haskell-hvr/text-short/issues/45
These are safecopy equivalents of functions from Data.Serialize. Useful for eliminating remaining uses of the Serialize constraint.
Hi folks, I've just installed GHC 9.2.4 (now that is the recommended versio) and tried to compile one of my projects that _is working fine_ in GHC 8.10.7. To rule...
Hi, I am upgrading SafeCopy to version 0.10.4.1 and discovered following unpleased behavior. Mostly I concerned with stumbling error message. ``` {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE DeriveGeneric #-} {-#...
Without these you can't derive SafeCopy for types with no constructor, e.g. Data.Void.Void.
See https://matrix.hackage.haskell.org/#/package/generic-data safecopy however says ``` base >=4.5 && =4.9` Also there are conditionals like ``` if !impl(ghc > 8.0) Build-Depends: semigroups >= 0.18 && < 0.19 if(impl(ghc >= 7.2.1))...
I tried this myself a while ago: http://hub.darcs.net/dag/safecopy/patch/20121018075208-6eb02 It worked but didn't generate very efficient instances, and certainly not the same instances as `deriveSafeCopy`. The problem was with my code...
It would be very nice if safecopy supported interchangable backends - I'd like to use safecopy and it's versioning, but actually store the data in a human-readable format like json,...
Can't migrate when you have 2 consecutive fields of the same type and then one of them changes type
Take the following program: ``` haskell {-# LANGUAGE TemplateHaskell, TypeFamilies, OverloadedStrings, ScopedTypeVariables #-} import Data.SafeCopy import Data.Acid newtype X = X String data Foo = Foo X X deriveSafeCopy 0...
Using `DefaultSignatures`, the `errorTypeName` method could easily be given the implementation: ```haskell default errorTypeName :: (Typeable a) => Proxy a -> String errorTypeName prxy = show (typeRep prxy) ``` Since...