domain-cereal 0.1 → 0.1.0.1
raw patch · 4 files changed
+83/−50 lines, 4 filesdep ~template-haskell-compat-v0208PVP ok
version bump matches the API change (PVP)
Dependency ranges changed: template-haskell-compat-v0208
API changes (from Hackage documentation)
Files
- demo/Main.hs +2/−2
- domain-cereal.cabal +76/−35
- library/DomainCereal/Prelude.hs +3/−5
- library/DomainCereal/TH.hs +2/−8
demo/Main.hs view
@@ -58,8 +58,8 @@ main :: IO () main = do let value =- NetworkServiceAddress $- NetworkAddress+ NetworkServiceAddress+ $ NetworkAddress TcpTransportProtocol (IpHost (V4Ip 123)) 456
domain-cereal.cabal view
@@ -1,48 +1,89 @@ cabal-version: 3.0--name: domain-cereal-version: 0.1-synopsis: Integration of domain with cereal-homepage: https://github.com/nikita-volkov/domain-cereal-bug-reports: https://github.com/nikita-volkov/domain-cereal/issues-author: Nikita Volkov <nikita.y.volkov@mail.ru>-maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>-copyright: (c) 2021 Nikita Volkov-license: MIT-license-file: LICENSE-build-type: Simple+name: domain-cereal+version: 0.1.0.1+synopsis: Integration of domain with cereal+homepage: https://github.com/nikita-volkov/domain-cereal+bug-reports: https://github.com/nikita-volkov/domain-cereal/issues+author: Nikita Volkov <nikita.y.volkov@mail.ru>+maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>+copyright: (c) 2021 Nikita Volkov+license: MIT+license-file: LICENSE+build-type: Simple source-repository head- type: git+ type: git location: git://github.com/nikita-volkov/domain-cereal.git library- hs-source-dirs: library- default-extensions: BangPatterns, BlockArguments, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DerivingVia, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, InstanceSigs, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedLabels, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, StrictData, TemplateHaskell, TupleSections, TypeApplications, TypeFamilies, TypeOperators, UnboxedTuples- default-language: Haskell2010- exposed-modules:- DomainCereal+ hs-source-dirs: library+ default-extensions:+ NoImplicitPrelude+ NoMonomorphismRestriction+ BangPatterns+ BlockArguments+ ConstraintKinds+ DataKinds+ DefaultSignatures+ DeriveDataTypeable+ DeriveFoldable+ DeriveFunctor+ DeriveGeneric+ DeriveTraversable+ DerivingVia+ EmptyDataDecls+ FlexibleContexts+ FlexibleInstances+ FunctionalDependencies+ GADTs+ GeneralizedNewtypeDeriving+ InstanceSigs+ LambdaCase+ LiberalTypeSynonyms+ MagicHash+ MultiParamTypeClasses+ MultiWayIf+ OverloadedLabels+ OverloadedStrings+ ParallelListComp+ PatternGuards+ QuasiQuotes+ RankNTypes+ RecordWildCards+ ScopedTypeVariables+ StandaloneDeriving+ StrictData+ TemplateHaskell+ TupleSections+ TypeApplications+ TypeFamilies+ TypeOperators+ UnboxedTuples++ default-language: Haskell2010+ exposed-modules: DomainCereal other-modules:- DomainCereal.TH DomainCereal.Prelude+ DomainCereal.TH+ build-depends:- base >=4.12 && <5,- cereal >=0.5 && <0.6,- domain-core >=0.1 && <0.2,- leb128-cereal >=1.2 && <1.3,- text >=1 && <3,- template-haskell >=2.14 && <3,- template-haskell-compat-v0208 >=0.1.7 && <0.2,- th-lego >=0.3 && <0.4,+ , base >=4.12 && <5+ , cereal >=0.5 && <0.6+ , domain-core >=0.1 && <0.2+ , leb128-cereal >=1.2 && <1.3+ , template-haskell >=2.14 && <3+ , template-haskell-compat-v0208 >=0.1.9 && <0.2+ , text >=1 && <3+ , th-lego >=0.3 && <0.4 test-suite demo- type: exitcode-stdio-1.0- hs-source-dirs: demo- main-is: Main.hs+ type: exitcode-stdio-1.0+ hs-source-dirs: demo+ main-is: Main.hs default-language: Haskell2010 build-depends:- cereal,- cereal-text >=0.1.0.2 && <0.2,- domain,- domain-cereal,- rerebase >=1.9 && <2,+ , cereal+ , cereal-text >=0.1.0.2 && <0.2+ , domain+ , domain-cereal+ , rerebase >=1.9 && <2
library/DomainCereal/Prelude.hs view
@@ -26,7 +26,7 @@ import Data.Fixed as Exports import Data.Foldable as Exports hiding (toList) import Data.Function as Exports hiding (id, (.))-import Data.Functor as Exports+import Data.Functor as Exports hiding (unzip) import Data.Functor.Compose as Exports import Data.Functor.Contravariant as Exports import Data.IORef as Exports@@ -67,12 +67,10 @@ import System.Mem as Exports import System.Mem.StableName as Exports import System.Timeout as Exports-import Text.ParserCombinators.ReadP as Exports (ReadP, ReadS, readP_to_S, readS_to_P)-import Text.ParserCombinators.ReadPrec as Exports (ReadPrec, readP_to_Prec, readPrec_to_P, readPrec_to_S, readS_to_Prec) import Text.Printf as Exports (hPrintf, printf) import Text.Read as Exports (Read (..), readEither, readMaybe) import Unsafe.Coerce as Exports-import Prelude as Exports hiding (all, and, any, concat, concatMap, elem, fail, foldl, foldl1, foldr, foldr1, id, mapM, mapM_, maximum, minimum, notElem, or, product, sequence, sequence_, sum, (%), (.))+import Prelude as Exports hiding (all, and, any, concat, concatMap, elem, fail, foldl, foldl1, foldr, foldr1, id, mapM, mapM_, maximum, minimum, notElem, or, product, sequence, sequence_, sum, (.)) -showAsText :: Show a => a -> Text+showAsText :: (Show a) => a -> Text showAsText = show >>> fromString
library/DomainCereal/TH.hs view
@@ -10,8 +10,6 @@ import qualified THLego.Lambdas as Lambdas import qualified TemplateHaskell.Compat.V0208 as Compat --- *- serializeInstanceD :: Model.TypeDec -> Dec serializeInstanceD (Model.TypeDec typeName typeDef) = InstanceD Nothing [] headType [putFunD, getFunD]@@ -38,8 +36,6 @@ components = length members --- *- sumPutFunD :: [(Name, Int)] -> Dec sumPutFunD members = FunD 'Cereal.put clauses@@ -48,7 +44,7 @@ zipWith memberClause members [0 ..] where memberClause (conName, components) conIdx =- Clause [Compat.conp conName componentPList] (NormalB body) []+ Clause [Compat.conP conName componentPList] (NormalB body) [] where componentNameList = enumAlphabeticNames components componentPList = componentNameList & fmap VarP@@ -63,7 +59,7 @@ FunD 'Cereal.put [clause] where clause =- Clause [Compat.conp conName componentPList] (NormalB body) []+ Clause [Compat.conP conName componentPList] (NormalB body) [] where componentNameList = enumAlphabeticNames components componentPList = componentNameList & fmap VarP@@ -99,8 +95,6 @@ where body = applicativeChainE (ConE conName) (replicate components (VarE 'Cereal.get))---- * mconcatE :: [Exp] -> Exp mconcatE = AppE (VarE 'mconcat) . ListE