packages feed

hydra-jvm 0.17.2 → 0.17.3

raw patch · 2 files changed

+16/−15 lines, 2 filesdep ~hydra-kernelPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: hydra-kernel

API changes (from Hackage documentation)

Files

hydra-jvm.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           hydra-jvm-version:        0.17.2+version:        0.17.3 synopsis:       Shared JVM support for Hydra's Java, Scala, and Clojure coders description:    Hydra is an implementation of the LambdaGraph data model, which takes advantage of an isomorphism between labeled hypergraphs and typed lambda calculus: in Hydra, "graphs are programs, and programs are graphs". Common JVM support for Hydra (shared by hydra-java, hydra-scala, hydra-clojure) category:       Data@@ -34,6 +34,6 @@       src/main/haskell   build-depends:       base >=4.19.0 && <4.22-    , hydra-kernel ==0.17.2+    , hydra-kernel ==0.17.3     , scientific >=0.3.7 && <0.4   default-language: Haskell2010
src/main/haskell/Hydra/Jvm/Serde.hs view
@@ -19,6 +19,7 @@ import qualified Hydra.Overlay.Haskell.Lib.Logic as Logic import qualified Hydra.Overlay.Haskell.Lib.Math as Math import qualified Hydra.Overlay.Haskell.Lib.Optionals as Optionals+import qualified Hydra.Overlay.Haskell.Lib.Ordering as Ordering import qualified Hydra.Overlay.Haskell.Lib.Strings as Strings import qualified Hydra.Packaging as Packaging import qualified Hydra.Parsing as Parsing@@ -39,32 +40,32 @@ -- | Escape a single character for inclusion in a Java string or char literal escapeJavaChar :: Int -> String escapeJavaChar c =-    Logic.ifElse (Equality.equal c 34) "\\\"" (Logic.ifElse (Equality.equal c 92) "\\\\" (Logic.ifElse (Equality.equal c 10) "\\n" (Logic.ifElse (Equality.equal c 13) "\\r" (Logic.ifElse (Equality.equal c 9) "\\t" (Logic.ifElse (Equality.equal c 8) "\\b" (Logic.ifElse (Equality.equal c 12) "\\f" (Logic.ifElse (Logic.and (Equality.gte c 32) (Equality.lt c 127)) (Strings.fromList [+    Logic.ifElse (Equality.equal c 34) "\\\"" (Logic.ifElse (Equality.equal c 92) "\\\\" (Logic.ifElse (Equality.equal c 10) "\\n" (Logic.ifElse (Equality.equal c 13) "\\r" (Logic.ifElse (Equality.equal c 9) "\\t" (Logic.ifElse (Equality.equal c 8) "\\b" (Logic.ifElse (Equality.equal c 12) "\\f" (Logic.ifElse (Logic.and (Ordering.gte c 32) (Ordering.lt c 127)) (Strings.fromList [       c]) (javaUnicodeEscape c))))))))  escapeJavaString :: String -> String-escapeJavaString s = Strings.cat (Lists.map (\c -> escapeJavaChar c) (Strings.toList s))+escapeJavaString s = Strings.concat (Lists.map (\c -> escapeJavaChar c) (Strings.toList s))  hexDigit :: Int -> Int-hexDigit n = Logic.ifElse (Equality.lt n 10) (Math.add n 48) (Math.add (Math.sub n 10) 65)+hexDigit n = Logic.ifElse (Ordering.lt n 10) (Math.add n 48) (Math.add (Math.sub n 10) 65)  javaUnicodeEscape :: Int -> String javaUnicodeEscape n =-    Logic.ifElse (Equality.gt n 65535) (+    Logic.ifElse (Ordering.gt n 65535) (       let n_ = Math.sub n 65536-          hi = Math.add 55296 (Optionals.fromOptional 0 (Math.maybeDiv n_ 1024))-          lo = Math.add 56320 (Optionals.fromOptional 0 (Math.maybeMod n_ 1024))-      in (Strings.cat2 (Strings.cat2 "\\u" (padHex4 hi)) (Strings.cat2 "\\u" (padHex4 lo)))) (Strings.cat2 "\\u" (padHex4 n))+          hi = Math.add 55296 (Optionals.withDefault 0 (Math.div n_ 1024))+          lo = Math.add 56320 (Optionals.withDefault 0 (Math.mod n_ 1024))+      in (Strings.concat2 (Strings.concat2 "\\u" (padHex4 hi)) (Strings.concat2 "\\u" (padHex4 lo)))) (Strings.concat2 "\\u" (padHex4 n))  padHex4 :: Int -> String padHex4 n = -      let d3 = Optionals.fromOptional 0 (Math.maybeDiv n 4096)-          r3 = Optionals.fromOptional 0 (Math.maybeMod n 4096)-          d2 = Optionals.fromOptional 0 (Math.maybeDiv r3 256)-          r2 = Optionals.fromOptional 0 (Math.maybeMod r3 256)-          d1 = Optionals.fromOptional 0 (Math.maybeDiv r2 16)-          d0 = Optionals.fromOptional 0 (Math.maybeMod r2 16)+      let d3 = Optionals.withDefault 0 (Math.div n 4096)+          r3 = Optionals.withDefault 0 (Math.mod n 4096)+          d2 = Optionals.withDefault 0 (Math.div r3 256)+          r2 = Optionals.withDefault 0 (Math.mod r3 256)+          d1 = Optionals.withDefault 0 (Math.div r2 16)+          d0 = Optionals.withDefault 0 (Math.mod r2 16)       in (Strings.fromList [         hexDigit d3,         (hexDigit d2),