hprotoc 2.4.16 → 2.4.17
raw patch · 2 files changed
+20/−15 lines, 2 filesdep ~protocol-buffersdep ~protocol-buffers-descriptorPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: protocol-buffers, protocol-buffers-descriptor
API changes (from Hackage documentation)
Files
- Text/ProtocolBuffers/ProtoCompile/Gen.hs +18/−13
- hprotoc.cabal +2/−2
Text/ProtocolBuffers/ProtoCompile/Gen.hs view
@@ -695,6 +695,7 @@ minimalImports :: [ImportDecl ()] minimalImports = [ ImportDecl () (ModuleName () "Prelude") True False False Nothing (Just (ModuleName () "Prelude'")) Nothing+ , ImportDecl () (ModuleName () "Data.List") True False False Nothing (Just (ModuleName () "Prelude'")) Nothing , ImportDecl () (ModuleName () "Data.Typeable") True False False Nothing (Just (ModuleName () "Prelude'")) Nothing , ImportDecl () (ModuleName () "Data.Data") True False False Nothing (Just (ModuleName () "Prelude'")) Nothing , ImportDecl () (ModuleName () "GHC.Generics") True False False Nothing (Just (ModuleName () "Prelude'")) Nothing@@ -704,6 +705,7 @@ standardImports isEnumMod ext lenses = [ ImportDecl () (ModuleName () "Prelude") False False False Nothing Nothing (Just (ImportSpecList () False ops)) , ImportDecl () (ModuleName () "Prelude") True False False Nothing (Just (ModuleName () "Prelude'")) Nothing+ , ImportDecl () (ModuleName () "Data.List") True False False Nothing (Just (ModuleName () "Prelude'")) Nothing , ImportDecl () (ModuleName () "Data.Typeable") True False False Nothing (Just (ModuleName () "Prelude'")) Nothing , ImportDecl () (ModuleName () "GHC.Generics") True False False Nothing (Just (ModuleName () "Prelude'")) Nothing , ImportDecl () (ModuleName () "Data.Data") True False False Nothing (Just (ModuleName () "Prelude'")) Nothing@@ -975,7 +977,7 @@ $$ Paren () (pvar "choice" $$ List () (map (lvar . parserName) flds ++ map (lvar . parserNameO) os)) $$ pvar "spaces", Qualifier () $ (preludevar "return")- $$ Paren () (preludevar "foldl"+ $$ Paren () (preludevar "foldl'" $$ Lambda () [patvar "v", patvar "f"] (lvar "f" $$ lvar "v") $$ pvar "defaultValue" $$ lvar "mods")@@ -983,15 +985,13 @@ parserName f = let Ident () fname = baseIdent' (fieldName f) in "parse'" ++ fname parserNameO o = let Ident () oname = baseIdent' (oneofFName o) in "parse'" ++ oname subparsers = map (\f -> defun (parserName f) [] (getField f)) flds- getField fi = let printname = toPrintName fi- Ident () funcname = baseIdent' (fieldName fi)- update = if canRepeat fi then pvar "append" $$ Paren () (lvar funcname $$ lvar "o") $$ lvar "v" else lvar "v"- in pvar "try" $$ Do () [- Generator () (patvar "v") $ pvar "getT" $$ litStr printname,- Qualifier () $ (preludevar "return")- $$ Paren () (Lambda () [patvar "o"]- (RecUpdate () (lvar "o") [ FieldUpdate () (local funcname) update]))- ]+ getField fi =+ let printname = toPrintName fi+ Ident () funcname = baseIdent' (fieldName fi)+ update = if canRepeat fi then pvar "append" $$ Paren () (lvar funcname $$ lvar "o") $$ lvar "v" else lvar "v"+ in preludevar "fmap" $$+ Paren () (Lambda () [patvar "v", patvar "o"] (RecUpdate () (lvar "o") [ FieldUpdate () (local funcname) update])) $$+ Paren () (pvar "try" $$ Paren () (pvar "getT" $$ litStr printname)) subparsersO = map funbind os funbind o = FunBind () [Match () (Ident () (parserNameO o)) [] (UnGuardedRhs () (getOneof)) whereParse]@@ -1041,8 +1041,10 @@ instanceMergeable di = InstDecl () Nothing (mkSimpleIRule (private "Mergeable") [TyCon () un]) . Just $ [ -- inst "mergeEmpty" [] (foldl' App (Con un) (replicate len (pvar "mergeEmpty"))),- inst "mergeAppend" [PApp () un patternVars1, PApp () un patternVars2]- (foldl' (App ()) (Con () un) (zipWith append vars1 vars2))+ inst "mergeAppend" [PApp () un patternVars1, PApp () un patternVars2] $+ Let ()+ (BDecls () (zipWith3 append vars1 vars2 varNames3))+ (foldl' (App ()) (Con () un) vars3) ] where un = unqualName (descName di) len = (if hasExt di then succ else id)@@ -1058,7 +1060,10 @@ where inf = map (\ n -> lvar ("x'" ++ show n)) [(1::Int)..] vars2 = take len inf where inf = map (\ n -> lvar ("y'" ++ show n)) [(1::Int)..]- append x y = Paren () $ pvar "mergeAppend" $$ x $$ y+ vars3 = map lvar varNames3+ varNames3 = take len inf+ where inf = map (\ n -> "z'" ++ show n) [(1::Int)..]+ append x y z = defun ("!" ++ z) [] $ pvar "mergeAppend" $$ x $$ y instanceDefault :: DescriptorInfo -> Decl () instanceDefault di
hprotoc.cabal view
@@ -1,5 +1,5 @@ name: hprotoc-version: 2.4.16+version: 2.4.17 cabal-version: >= 1.10 build-type: Simple license: BSD3@@ -15,7 +15,7 @@ extra-source-files: README, google-proto-files/google/protobuf/descriptor.proto, google-proto-files/google/protobuf/plugin.proto-Tested-With: GHC == 8.0.2, GHC == 8.2.1, GHC == 8.4.2, GHC == 8.6.2+Tested-With: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.2, GHC == 8.6.2, GHC == 8.8.4, GHC == 8.10.2 source-repository head type: git location: git://github.com/k-bx/protocol-buffers.git