diff --git a/cabal.project b/cabal.project index 2eb8ed775..39d5e14dc 100644 --- a/cabal.project +++ b/cabal.project @@ -15,6 +15,6 @@ source-repository-package source-repository-package type: git location: https://github.com/runtimeverification/haskell-backend.git - tag: 7f51e8c9038f7fa20e90f7886503683456866d2a - --sha256: sha256-FN7i2NROK6XOzehtbO4GOIa6KR1R0C6NWCj9cXF2Ywc= + tag: 740a60ee231ad63b811f0ca023cbf747ae0aa82d + --sha256: sha256-L/jJRyX0lqwaEG9NJU52DIvKXUHIOoGJ7Bw/yK9eehA= subdir: kore kore-rpc-types \ No newline at end of file diff --git a/flake.lock b/flake.lock index 6ab910bc6..1db148c8f 100644 --- a/flake.lock +++ b/flake.lock @@ -497,6 +497,22 @@ } }, "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1672831974, @@ -513,7 +529,7 @@ "type": "github" } }, - "flake-compat_3": { + "flake-compat_4": { "flake": false, "locked": { "lastModified": 1650374568, @@ -529,7 +545,7 @@ "type": "github" } }, - "flake-compat_4": { + "flake-compat_5": { "flake": false, "locked": { "lastModified": 1672831974, @@ -546,7 +562,7 @@ "type": "github" } }, - "flake-compat_5": { + "flake-compat_6": { "flake": false, "locked": { "lastModified": 1650374568, @@ -562,7 +578,7 @@ "type": "github" } }, - "flake-compat_6": { + "flake-compat_7": { "flake": false, "locked": { "lastModified": 1673956053, @@ -578,7 +594,7 @@ "type": "github" } }, - "flake-compat_7": { + "flake-compat_8": { "flake": false, "locked": { "lastModified": 1672831974, @@ -595,7 +611,7 @@ "type": "github" } }, - "flake-compat_8": { + "flake-compat_9": { "flake": false, "locked": { "lastModified": 1650374568, @@ -627,6 +643,21 @@ } }, "flake-utils_10": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_11": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -641,7 +672,7 @@ "type": "github" } }, - "flake-utils_11": { + "flake-utils_12": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -656,7 +687,7 @@ "type": "github" } }, - "flake-utils_12": { + "flake-utils_13": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -717,6 +748,21 @@ } }, "flake-utils_5": { + "locked": { + "lastModified": 1642700792, + "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "846b2ae0fc4cc943637d3d1def4454213e203cba", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_6": { "locked": { "lastModified": 1679360468, "narHash": "sha256-LGnza3cfXF10Biw3ZTg0u9o9t7s680Ww200t5KkHTh8=", @@ -732,7 +778,7 @@ "type": "github" } }, - "flake-utils_6": { + "flake-utils_7": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -747,7 +793,7 @@ "type": "github" } }, - "flake-utils_7": { + "flake-utils_8": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -762,7 +808,7 @@ "type": "github" } }, - "flake-utils_8": { + "flake-utils_9": { "locked": { "lastModified": 1678901627, "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", @@ -777,21 +823,6 @@ "type": "github" } }, - "flake-utils_9": { - "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "fmt-src": { "flake": false, "locked": { @@ -881,7 +912,7 @@ }, "gomod2nix_2": { "inputs": { - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_7", "utils": "utils_2" }, "locked": { @@ -900,7 +931,7 @@ }, "gomod2nix_3": { "inputs": { - "nixpkgs": "nixpkgs_10", + "nixpkgs": "nixpkgs_11", "utils": "utils_3" }, "locked": { @@ -967,21 +998,22 @@ }, "haskell-backend": { "inputs": { + "flake-compat": "flake-compat_2", "haskell-nix": "haskell-nix", + "mach-nix": "mach-nix", "nixpkgs": [ "haskell-backend", "haskell-nix", "nixpkgs-unstable" ], - "nixpkgs22_05": "nixpkgs22_05", "z3-src": "z3-src" }, "locked": { - "lastModified": 1678773028, - "narHash": "sha256-sK53CTImXo+JeDqRr75YCGUarDMIMKzM+1W1igta8ww=", + "lastModified": 1685530502, + "narHash": "sha256-r2Bb9nmYCdBchFWK5jDj1b2YO0IC7YxlyYYN5JYuz3A=", "owner": "runtimeverification", "repo": "haskell-backend", - "rev": "c5d61bd8a1ebeca522b1f6612f3c35b1c4c65a59", + "rev": "740a60ee231ad63b811f0ca023cbf747ae0aa82d", "type": "github" }, "original": { @@ -999,7 +1031,7 @@ "haskell-nix", "nixpkgs-unstable" ], - "nixpkgs22_05": "nixpkgs22_05_2", + "nixpkgs22_05": "nixpkgs22_05", "z3-src": "z3-src_2" }, "locked": { @@ -1023,7 +1055,7 @@ "cabal-34": "cabal-34", "cabal-36": "cabal-36", "cardano-shell": "cardano-shell", - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "flake-utils": "flake-utils", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", "hackage": "hackage", @@ -1066,8 +1098,8 @@ "cabal-34": "cabal-34_2", "cabal-36": "cabal-36_2", "cardano-shell": "cardano-shell_2", - "flake-compat": "flake-compat_4", - "flake-utils": "flake-utils_5", + "flake-compat": "flake-compat_5", + "flake-utils": "flake-utils_6", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_2", "hackage": "hackage_2", "hls-1.10": "hls-1.10", @@ -1109,8 +1141,8 @@ "cabal-34": "cabal-34_3", "cabal-36": "cabal-36_3", "cardano-shell": "cardano-shell_3", - "flake-compat": "flake-compat_7", - "flake-utils": "flake-utils_9", + "flake-compat": "flake-compat_8", + "flake-utils": "flake-utils_10", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_3", "hackage": "hackage_3", "hpc-coveralls": "hpc-coveralls_3", @@ -1376,12 +1408,12 @@ }, "k-framework": { "inputs": { - "flake-compat": "flake-compat_6", - "flake-utils": "flake-utils_8", + "flake-compat": "flake-compat_7", + "flake-utils": "flake-utils_9", "haskell-backend": "haskell-backend_2", "llvm-backend": "llvm-backend", "mavenix": "mavenix_2", - "nixpkgs": "nixpkgs_15", + "nixpkgs": "nixpkgs_16", "rv-utils": "rv-utils" }, "locked": { @@ -1474,9 +1506,29 @@ "type": "github" } }, + "mach-nix": { + "inputs": { + "flake-utils": "flake-utils_5", + "nixpkgs": "nixpkgs_5", + "pypi-deps-db": "pypi-deps-db" + }, + "locked": { + "lastModified": 1681814846, + "narHash": "sha256-IMQ1Twf/ozE53CwrunXNlYD3D31xqgz/mZyZG38Ov/Y=", + "owner": "DavHau", + "repo": "mach-nix", + "rev": "8d903072c7b5426d90bc42a008242c76590af916", + "type": "github" + }, + "original": { + "owner": "DavHau", + "repo": "mach-nix", + "type": "github" + } + }, "mavenix": { "inputs": { - "nixpkgs": "nixpkgs_13", + "nixpkgs": "nixpkgs_14", "utils": "utils_4" }, "locked": { @@ -1495,7 +1547,7 @@ }, "mavenix_2": { "inputs": { - "nixpkgs": "nixpkgs_14", + "nixpkgs": "nixpkgs_15", "utils": "utils_6" }, "locked": { @@ -1600,7 +1652,7 @@ }, "n2c_3": { "inputs": { - "flake-utils": "flake-utils_12", + "flake-utils": "flake-utils_13", "nixpkgs": [ "k-framework", "haskell-backend", @@ -1647,7 +1699,7 @@ }, "nix-nomad": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_4", "flake-utils": [ "haskell-backend", "haskell-nix", @@ -1685,7 +1737,7 @@ }, "nix-nomad_2": { "inputs": { - "flake-compat": "flake-compat_5", + "flake-compat": "flake-compat_6", "flake-utils": [ "haskell-nix", "tullia", @@ -1720,7 +1772,7 @@ }, "nix-nomad_3": { "inputs": { - "flake-compat": "flake-compat_8", + "flake-compat": "flake-compat_9", "flake-utils": [ "k-framework", "haskell-backend", @@ -1780,8 +1832,8 @@ }, "nix2container_2": { "inputs": { - "flake-utils": "flake-utils_6", - "nixpkgs": "nixpkgs_7" + "flake-utils": "flake-utils_7", + "nixpkgs": "nixpkgs_8" }, "locked": { "lastModified": 1658567952, @@ -1799,8 +1851,8 @@ }, "nix2container_3": { "inputs": { - "flake-utils": "flake-utils_10", - "nixpkgs": "nixpkgs_11" + "flake-utils": "flake-utils_11", + "nixpkgs": "nixpkgs_12" }, "locked": { "lastModified": 1658567952, @@ -1819,7 +1871,7 @@ "nix_2": { "inputs": { "lowdown-src": "lowdown-src_2", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_6", "nixpkgs-regression": "nixpkgs-regression_2" }, "locked": { @@ -1840,7 +1892,7 @@ "nix_3": { "inputs": { "lowdown-src": "lowdown-src_3", - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_10", "nixpkgs-regression": "nixpkgs-regression_3" }, "locked": { @@ -2336,22 +2388,22 @@ "type": "indirect" } }, - "nixpkgs22_05_2": { + "nixpkgs_10": { "locked": { - "lastModified": 1662099760, - "narHash": "sha256-MdZLCTJPeHi/9fg6R9fiunyDwP3XHJqDd51zWWz9px0=", + "lastModified": 1632864508, + "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "67e45078141102f45eff1589a831aeaa3182b41e", + "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-22.05", + "ref": "nixos-21.05-small", "type": "indirect" } }, - "nixpkgs_10": { + "nixpkgs_11": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -2367,7 +2419,7 @@ "type": "github" } }, - "nixpkgs_11": { + "nixpkgs_12": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -2382,7 +2434,7 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_13": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -2398,7 +2450,7 @@ "type": "github" } }, - "nixpkgs_13": { + "nixpkgs_14": { "locked": { "lastModified": 1621552131, "narHash": "sha256-AD/AEXv+QOYAg0PIqMYv2nbGOGTIwfOGKtz3rE+y+Tc=", @@ -2412,7 +2464,7 @@ "type": "indirect" } }, - "nixpkgs_14": { + "nixpkgs_15": { "locked": { "lastModified": 1621552131, "narHash": "sha256-AD/AEXv+QOYAg0PIqMYv2nbGOGTIwfOGKtz3rE+y+Tc=", @@ -2426,7 +2478,7 @@ "type": "indirect" } }, - "nixpkgs_15": { + "nixpkgs_16": { "locked": { "lastModified": 1672580127, "narHash": "sha256-3lW3xZslREhJogoOkjeZtlBtvFMyxHku7I/9IVehhT8=", @@ -2489,6 +2541,21 @@ } }, "nixpkgs_5": { + "locked": { + "lastModified": 1643805626, + "narHash": "sha256-AXLDVMG+UaAGsGSpOtQHPIKB+IZ0KSd9WS77aanGzgc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "554d2d8aa25b6e583575459c297ec23750adb6cb", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-unstable", + "type": "indirect" + } + }, + "nixpkgs_6": { "locked": { "lastModified": 1657693803, "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", @@ -2504,7 +2571,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { "lastModified": 1653581809, "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", @@ -2520,7 +2587,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_8": { "locked": { "lastModified": 1654807842, "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", @@ -2535,7 +2602,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_9": { "locked": { "lastModified": 1665087388, "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", @@ -2551,21 +2618,6 @@ "type": "github" } }, - "nixpkgs_9": { - "locked": { - "lastModified": 1632864508, - "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixos-21.05-small", - "type": "indirect" - } - }, "nosys": { "locked": { "lastModified": 1667881534, @@ -2649,6 +2701,22 @@ "type": "github" } }, + "pypi-deps-db": { + "flake": false, + "locked": { + "lastModified": 1678051695, + "narHash": "sha256-kFFP8TN8pEKARtjK9loGdH+TU23ZbHdVLCUdNcufKPs=", + "owner": "DavHau", + "repo": "pypi-deps-db", + "rev": "e00b22ead9d3534ba1c448e1af3076af6b234acf", + "type": "github" + }, + "original": { + "owner": "DavHau", + "repo": "pypi-deps-db", + "type": "github" + } + }, "rapidjson-src": { "flake": false, "locked": { @@ -2792,7 +2860,7 @@ "blank": "blank_2", "devshell": "devshell_2", "dmerge": "dmerge_2", - "flake-utils": "flake-utils_7", + "flake-utils": "flake-utils_8", "incl": "incl", "makes": [ "haskell-nix", @@ -2808,7 +2876,7 @@ ], "n2c": "n2c_2", "nixago": "nixago_2", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_9", "nosys": "nosys", "yants": "yants_2" }, @@ -2831,7 +2899,7 @@ "blank": "blank_3", "devshell": "devshell_3", "dmerge": "dmerge_3", - "flake-utils": "flake-utils_11", + "flake-utils": "flake-utils_12", "makes": [ "k-framework", "haskell-backend", @@ -2851,7 +2919,7 @@ ], "n2c": "n2c_3", "nixago": "nixago_3", - "nixpkgs": "nixpkgs_12", + "nixpkgs": "nixpkgs_13", "yants": "yants_3" }, "locked": { diff --git a/stack.yaml b/stack.yaml index 6e0007a7a..1152134ac 100644 --- a/stack.yaml +++ b/stack.yaml @@ -12,7 +12,7 @@ extra-deps: - typerep-map-0.6.0.0 - monad-validate-1.2.0.0@sha256:9850f408431098b28806dd464b6825a88a0b56c84f380d7fe0454c1df9d6f881,3505 - git: https://github.com/runtimeverification/haskell-backend.git - commit: 7f51e8c9038f7fa20e90f7886503683456866d2a + commit: 740a60ee231ad63b811f0ca023cbf747ae0aa82d subdirs: - kore - kore-rpc-types diff --git a/stack.yaml.lock b/stack.yaml.lock index 354f49b47..0a29de231 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -47,29 +47,29 @@ packages: original: hackage: monad-validate-1.2.0.0@sha256:9850f408431098b28806dd464b6825a88a0b56c84f380d7fe0454c1df9d6f881,3505 - completed: - commit: 7f51e8c9038f7fa20e90f7886503683456866d2a + commit: 740a60ee231ad63b811f0ca023cbf747ae0aa82d git: https://github.com/runtimeverification/haskell-backend.git name: kore pantry-tree: - sha256: 32ed31c2fd71de0f6e32e5a72a2b8844789fb8850876d0008d382401c2c49b1f + sha256: e5b065a72b8d6387d75abccc8f046260f32768d307a87a3375b1ee55461ac36b size: 44478 subdir: kore version: 0.60.0.0 original: - commit: 7f51e8c9038f7fa20e90f7886503683456866d2a + commit: 740a60ee231ad63b811f0ca023cbf747ae0aa82d git: https://github.com/runtimeverification/haskell-backend.git subdir: kore - completed: - commit: 7f51e8c9038f7fa20e90f7886503683456866d2a + commit: 740a60ee231ad63b811f0ca023cbf747ae0aa82d git: https://github.com/runtimeverification/haskell-backend.git name: kore-rpc-types pantry-tree: - sha256: 34d638681e9bc0883c5f10d6c5a206f5d95863d9bc18827b060174d61add1d24 + sha256: b767a4729e7eafacf66b9e1ed598391b572c5f843ca8c2b84df5474e60deb6b8 size: 404 subdir: kore-rpc-types version: 0.60.0.0 original: - commit: 7f51e8c9038f7fa20e90f7886503683456866d2a + commit: 740a60ee231ad63b811f0ca023cbf747ae0aa82d git: https://github.com/runtimeverification/haskell-backend.git subdir: kore-rpc-types snapshots: diff --git a/tools/booster/Proxy.hs b/tools/booster/Proxy.hs index 9063e5c95..fd0077280 100644 --- a/tools/booster/Proxy.hs +++ b/tools/booster/Proxy.hs @@ -31,7 +31,7 @@ import Kore.JsonRpc.Types import Kore.JsonRpc.Types qualified as ExecuteRequest (ExecuteRequest (..)) import Kore.Log qualified import Kore.Syntax.Definition (SentenceAxiom) -import Stats (APIMethods (..), StatsVar, addStats, microsWithUnit, timed) +import Stats (StatsVar, addStats, microsWithUnit, timed) data KoreServer = KoreServer { serverState :: MVar.MVar Kore.ServerState @@ -59,13 +59,13 @@ respondEither :: respondEither mbStatsVar booster kore req = case req of Execute execReq | isJust execReq.stepTimeout || isJust execReq.movingAverageStepTimeout -> - loggedKore Stats.ExecuteM req + loggedKore ExecuteM req | otherwise -> startLoop execReq Implies _ -> - loggedKore Stats.ImpliesM req + loggedKore ImpliesM req Simplify _ -> - loggedKore Stats.SimplifyM req + loggedKore SimplifyM req AddModule _ -> do -- execute in booster first, assuming that kore won't throw an -- error if booster did not. The response is empty anyway. @@ -74,7 +74,7 @@ respondEither mbStatsVar booster kore req = case req of Left _err -> pure boosterResult Right _ -> do (koreRes, koreTime) <- withTime $ kore req - logStats Stats.AddModuleM (boosterTime + koreTime, koreTime) + logStats AddModuleM (boosterTime + koreTime, koreTime) pure koreRes Cancel -> pure $ Left $ ErrorObj "Cancel not supported" (-32601) Null @@ -152,7 +152,7 @@ respondEither mbStatsVar booster kore req = case req of -- return, setting the correct depth Log.logInfoNS "proxy" . Text.pack $ "Kore " <> show koreResult.reason - logStats Stats.ExecuteM (time + bTime + kTime, koreTime + kTime) + logStats ExecuteM (time + bTime + kTime, koreTime + kTime) pure $ Right $ Execute koreResult{depth = currentDepth + boosterResult.depth + koreResult.depth} -- can only be an error at this point res -> pure res @@ -162,7 +162,7 @@ respondEither mbStatsVar booster kore req = case req of -- depth, in case we previously looped Log.logInfoNS "proxy" . Text.pack $ "Booster " <> show boosterResult.reason <> " at " <> show boosterResult.depth - logStats Stats.ExecuteM (time + bTime, koreTime) + logStats ExecuteM (time + bTime, koreTime) pure $ Right $ Execute boosterResult{depth = currentDepth + boosterResult.depth} -- can only be an error at this point res -> pure res diff --git a/tools/booster/Stats.hs b/tools/booster/Stats.hs index 52e61e348..6085975b8 100644 --- a/tools/booster/Stats.hs +++ b/tools/booster/Stats.hs @@ -5,7 +5,6 @@ module Stats ( showStats, timed, microsWithUnit, - APIMethods (..), RequestStats (..), StatsVar, ) where @@ -19,6 +18,7 @@ import System.Clock import Text.Printf import Booster.Prettyprinter +import Kore.JsonRpc.Types (APIMethod) -- server statistics data RequestStats a = RequestStats @@ -100,20 +100,12 @@ singleStats' x korePart = , koreMax = korePart } --- HACK. Missing Eq and Ord instance for kore-rpc-types APIMethods -data APIMethods - = ExecuteM - | SimplifyM - | ImpliesM - | AddModuleM - deriving stock (Eq, Ord, Show) - -type StatsVar = MVar (Map APIMethods (Stats' Double)) +type StatsVar = MVar (Map APIMethod (Stats' Double)) addStats :: MonadIO m => - MVar (Map APIMethods (Stats' Double)) -> - APIMethods -> + MVar (Map APIMethod (Stats' Double)) -> + APIMethod -> Double -> Double -> m () @@ -121,7 +113,7 @@ addStats statVar method time koreTime = liftIO . modifyMVar_ statVar $ pure . Map.insertWith (<>) method (singleStats' time koreTime) -newStats :: MonadIO m => m (MVar (Map APIMethods (Stats' Double))) +newStats :: MonadIO m => m (MVar (Map APIMethod (Stats' Double))) newStats = liftIO $ newMVar Map.empty timed :: MonadIO m => m a -> m (a, Double) @@ -150,7 +142,7 @@ finaliseStats Stats'{count, total, squares, maxVal, minVal, koreTotal, koreMax} stddev = sqrt $ squares / fromIntegral count - average * average koreAverage = koreTotal / fromIntegral count -showStats :: MVar (Map APIMethods (Stats' Double)) -> IO () +showStats :: MVar (Map APIMethod (Stats' Double)) -> IO () showStats var = do statMap <- readMVar var let finalStats =