From 46ab163ca7dbd1767fc6457a2ee05f9e659149e8 Mon Sep 17 00:00:00 2001 From: Paul Cadman Date: Fri, 11 Aug 2023 10:49:33 +0100 Subject: [PATCH] Update stackage resolver to LTS 21.6 (#2275) Stack LTS 21.6 uses GHC 9.4.5, binaries for HLS are available via ghcup. Changes required: 1. Fix warnings about type level `:` and `[]` used without backticks. 2. Fix warnings about deprecation of builtin `~` - replaced with `import Data.Type.Equality ( type (~) )` in the Prelude 3. SemVer is no longer a monoid 4. `path-io` now contains the `AnyPath` instances we were defining (thanks to Jan) so they can be removed. 5. Added `aeson-better-errors-0.9.1.1` as an extra-dep. The reason it is not part of the resolver is only because it has a strict bound on base which is not compatible with ghc 9.4.5. To work around this I've set: ``` allow-newer: true allow-newer-deps: - aeson-better-errors ``` which relaxed the upper constraint bounds for `aeson-better-errors` only. When the base constraints have been updated we can remove this workaround. 6. Use stack2cabal to generate the cabal.project file and to freeze dependency versions. https://www.stackage.org/lts-21.6/cabal.config now contains the constraint `haskeline installed`, which means that the version of haskeline that is globally installed with GHC 9.4.5 will be used, see: * https://github.com/commercialhaskell/stackage/issues/7002 GHC 9.4.5 comes with haskeline 0.8.2 preinstalled but our configuration contains the source-repository-package for haskeline 0.8.2.1 (required because we're using a fork) so if you try to run` cabal build` you get a conflict. Constraints from cabal imports cannot yet be overridden so it's not possible to get rid of this conflict using the import method. So we need to use stack2cabal with an explicit freeze file instead. 7. Remove `runTempFilePure` as this is unused and depends on `Polysemy.Fresh` in `polysemy-zoo` which is not available in the resolver. It turns out that it's not possible to use the `Fresh` effect in a pure context anyway, so it was not possible to use `runTempFilePure` for its original purpose. 8. We now use https://github.com/benz0li/ghc-musl as the base container for static linux builds, this means we don't need to maintain our own Docker container for this purpose. 9. The PR for the nightly builds is ready https://github.com/anoma/juvix-nightly-builds/pull/2, it should be merged as soon as this PR is merged. Thanks to @benz0li for maintaining https://github.com/benz0li/ghc-musl and (along with @TravisCardwell) for help with building the static binary. * Closes https://github.com/anoma/juvix/issues/2166 --- .devcontainer/Dockerfile | 4 +- .github/workflows/linux-static-binary.yaml | 18 +- app/Commands/Init.hs | 2 +- cabal.project | 27 +- cabal.project.freeze | 3007 +++++++++++++++++ docker/Dockerfile-ghc-alpine-9.2.5 | 30 - docker/Dockerfile-ghc-alpine-9.2.7 | 30 - docker/README.md | 46 - package.yaml | 39 +- .../Compiler/Asm/Data/InfoTableBuilder.hs | 2 +- src/Juvix/Compiler/Backend/C/Data/CBuilder.hs | 2 +- src/Juvix/Compiler/Builtins/Effect.hs | 4 +- src/Juvix/Compiler/Concrete/Print/Base.hs | 2 +- .../FromParsed/Analysis/Scoping.hs | 2 +- .../Compiler/Core/Data/InfoTableBuilder.hs | 2 +- .../Core/Transformation/NaiveMatchToCase.hs | 2 +- .../Compiler/Core/Translation/FromInternal.hs | 2 +- .../Internal/Translation/FromConcrete.hs | 4 +- .../Analysis/ArityChecking/Checker.hs | 2 +- .../FromInternal/Analysis/Reachability.hs | 8 +- .../Analysis/TypeChecking/Checker.hs | 2 +- src/Juvix/Compiler/Pipeline/Artifacts.hs | 6 +- src/Juvix/Compiler/Pipeline/Package.hs | 3 +- src/Juvix/Compiler/Pipeline/Repl.hs | 16 +- src/Juvix/Data/Effect/Files/Pure.hs | 17 - src/Juvix/Data/Error/GenericError.hs | 2 +- src/Juvix/Data/Yaml.hs | 2 +- src/Juvix/Formatter.hs | 6 +- src/Juvix/Prelude/Base.hs | 2 + src/Juvix/Prelude/Path/OrphanInstances.hs | 49 - stack.yaml | 6 +- 31 files changed, 3105 insertions(+), 241 deletions(-) create mode 100644 cabal.project.freeze delete mode 100644 docker/Dockerfile-ghc-alpine-9.2.5 delete mode 100644 docker/Dockerfile-ghc-alpine-9.2.7 delete mode 100644 docker/README.md diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index db6d8fefa..55fdb6eed 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -4,9 +4,9 @@ ARG VARIANT="ubuntu-22.04" FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT} ENV DEBIAN_FRONTEND=noninteractive ENV BOOTSTRAP_HASKELL_NONINTERACTIVE=1 -ENV BOOTSTRAP_HASKELL_GHC_VERSION=9.2.7 +ENV BOOTSTRAP_HASKELL_GHC_VERSION=9.4.5 ENV BOOTSTRAP_HASKELL_CABAL_VERSION=3.10.1.0 -ENV BOOTSTRAP_HASKELL_STACK_VERSION=2.9.3 +ENV BOOTSTRAP_HASKELL_STACK_VERSION=2.11.1 ENV BOOTSTRAP_HASKELL_INSTALL_STACK=1 ENV BOOTSTRAP_HASKELL_INSTALL_HLS=1 diff --git a/.github/workflows/linux-static-binary.yaml b/.github/workflows/linux-static-binary.yaml index 4f6447d28..c00cf2779 100644 --- a/.github/workflows/linux-static-binary.yaml +++ b/.github/workflows/linux-static-binary.yaml @@ -8,11 +8,14 @@ on: required: true default: "main" +env: + STACK_VERSION: 2.11.1 + jobs: build: name: Build static binary runs-on: ubuntu-latest - container: ghcr.io/paulcadman/ghc-alpine:9.2.7 + container: glcr.b-data.ch/ghc/ghc-musl:9.4.5 steps: - name: checkout code uses: actions/checkout@v3 @@ -28,14 +31,23 @@ jobs: run: echo "$HOME/.local/bin" >> $GITHUB_PATH shell: bash + - name: install stack + run: | + curl https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64-static.tar.gz -OL + tar xf stack-STACK_VERSION-linux-x86_64-static.tar.gz + cp stack-STACK_VERSION-linux-x86_64-static/stack /usr/local/bin + - name: Stack permissions bug workaround run: "chown -R $(id -un):$(id -gn) ~" + - name: Install clang14 + run: apk add --update clang14 + - name: Runtime build - run: make runtime + run: make runtime LIBTOOL=llvm14-ar - name: build Juvix - run: stack install --allow-different-user --system-ghc --ghc-options='-split-sections -optl-static' + run: stack install --allow-different-user --system-ghc --ghc-options='-split-sections' --flag juvix:static - run: echo "HOME=$HOME" >> $GITHUB_ENV shell: bash diff --git a/app/Commands/Init.hs b/app/Commands/Init.hs index 1d1351c85..006c22fee 100644 --- a/app/Commands/Init.hs +++ b/app/Commands/Init.hs @@ -105,7 +105,7 @@ getVersion :: forall r. (Members '[Embed IO] r) => Sem r SemVer getVersion = do txt <- embed getLine if - | Text.null txt -> return mempty + | Text.null txt -> return defaultVersion | otherwise -> case parse semver' txt of Right r -> return r Left err -> do diff --git a/cabal.project b/cabal.project index 5f494ff9f..3bd0ad132 100644 --- a/cabal.project +++ b/cabal.project @@ -1,25 +1,22 @@ -with-compiler: ghc-9.2.7 +-- Generated by stack2cabal + +with-compiler: ghc-9.4.5 packages: ./ -jobs: $ncpus +source-repository-package + type: git + location: https://github.com/janmasrovira/haskeline.git + tag: 81e393e156508a20fcc197acc945b0f44aa4f82b + +source-repository-package + type: git + location: https://github.com/janmasrovira/repline.git + tag: a735ab1459db408adda080eb5ea21b96fb4a6011 allow-older: * allow-newer: * -import: https://www.stackage.org/lts-20.21/cabal.config - package juvix ghc-options: -optP-Wno-nonportable-include-path - test-show-details: direct - -source-repository-package - type: git - location: https://github.com/janmasrovira/repline.git - tag: a735ab1459db408adda080eb5ea21b96fb4a6011 - -source-repository-package - type: git - location: https://github.com/janmasrovira/haskeline.git - tag: 81e393e156508a20fcc197acc945b0f44aa4f82b diff --git a/cabal.project.freeze b/cabal.project.freeze new file mode 100644 index 000000000..9e6af5bb8 --- /dev/null +++ b/cabal.project.freeze @@ -0,0 +1,3007 @@ +constraints: any.AC-Angle ==1.0, + any.ALUT ==2.4.0.3, + any.ANum ==0.2.0.2, + any.Agda ==2.6.3, + any.Allure ==0.11.0.0, + any.BNFC ==2.9.5, + any.BNFC-meta ==0.6.1, + any.BiobaseEnsembl ==0.2.0.1, + any.Blammo ==1.1.2.1, + any.Boolean ==0.2.4, + any.BoundedChan ==1.0.3.0, + any.Chart ==1.9.4, + any.Chart-diagrams ==1.9.4, + any.ChasingBottoms ==1.3.1.12, + any.Clipboard ==2.3.2.0, + any.ClustalParser ==1.3.0, + any.Color ==0.3.3, + any.ConfigFile ==1.1.4, + any.DAV ==1.3.4, + any.DBFunctor ==0.1.2.1, + any.DPutils ==0.1.1.0, + any.Decimal ==0.5.2, + any.Diff ==0.4.1, + any.ENIG ==0.0.1.0, + any.Earley ==0.13.0.1, + any.Ebnf2ps ==1.0.15, + any.FailT ==0.1.2.0, + any.FenwickTree ==0.1.2.1, + any.FindBin ==0.0.5, + any.FloatingHex ==0.5, + any.FontyFruity ==0.5.3.5, + any.ForestStructures ==0.0.1.1, + any.GLFW-b ==3.3.0.0, + any.GLURaw ==2.0.0.5, + any.GLUT ==2.7.0.16, + any.GenericPretty ==1.2.2, + any.Glob ==0.10.2, + any.H ==1.0.0, + any.HCodecs ==0.5.2, + any.HDBC ==2.4.0.4, + any.HDBC-session ==0.1.2.0, + any.HPDF ==1.6.1, + any.HSlippyMap ==3.0.1, + any.HStringTemplate ==0.8.8, + any.HSvm ==0.1.1.3.25, + any.HTF ==0.15.0.1, + any.HTTP ==4000.4.1, + any.HUnit ==1.6.2.0, + any.HUnit-approx ==1.1.1.1, + any.HaTeX ==3.22.3.2, + any.HaXml ==1.25.13, + any.HandsomeSoup ==0.4.2, + any.HasBigDecimal ==0.2.0.0, + any.HaskellNet ==0.6.1.2, + any.HaskellNet-SSL ==0.3.4.4, + HsOpenSSL -fast-bignum, + any.HsOpenSSL ==0.11.7.6, + any.HsOpenSSL-x509-system ==0.1.0.4, + any.HsYAML ==0.2.1.1, + any.HsYAML-aeson ==0.2.0.1, + any.IPv6Addr ==2.0.5.1, + any.IfElse ==0.85, + any.Imlib ==0.1.2, + any.Interpolation ==0.3.0, + any.IntervalMap ==0.6.2.1, + any.JuicyPixels ==3.3.8, + any.JuicyPixels-extra ==0.6.0, + any.JuicyPixels-scale-dct ==0.1.2, + any.LambdaHack ==0.11.0.0, + any.LetsBeRational ==1.0.0.0, + any.List ==0.6.2, + any.ListLike ==4.7.8.1, + any.ListTree ==0.2.3, + any.ListZipper ==1.2.0.2, + any.MemoTrie ==0.6.11, + any.MissingH ==1.6.0.0, + any.MonadPrompt ==1.0.0.5, + any.MonadRandom ==0.6, + any.MultipletCombiner ==0.0.4, + any.MusicBrainz ==0.4.1, + any.Network-NineP ==0.4.7.2, + NineP -bytestring-in-base, + any.NineP ==0.0.2.1, + any.NoHoed ==0.1.1, + any.NumInstances ==1.4, + any.ObjectName ==1.1.0.2, + any.OneTuple ==0.4.1.1, + any.Only ==0.1, + any.OpenAL ==1.7.0.5, + any.OpenGL ==3.0.3.0, + any.OpenGLRaw ==3.3.4.1, + any.OrderedBits ==0.0.2.0, + any.PSQueue ==1.2.0, + any.ParsecTools ==0.0.2.0, + any.Plural ==0.0.2, + any.PyF ==0.11.1.1, + any.QuasiText ==0.1.2.6, + QuickCheck -old-random, + any.QuickCheck ==2.14.3, + any.RSA ==2.4.1, + any.Ranged-sets ==0.4.0, + any.Rasterific ==0.7.5.4, + any.Rattus ==0.5.1, + any.RefSerialize ==0.4.0, + any.SHA ==1.6.4.4, + any.STMonadTrans ==0.4.7, + any.SVGFonts ==1.8.0.1, + any.SafeSemaphore ==0.10.1, + any.SciBaseTypes ==0.1.1.0, + any.ShellCheck ==0.9.0, + any.Sit ==0.2022.3.18, + any.Spock ==0.14.0.0, + any.Spock-api ==0.14.0.0, + any.Spock-api-server ==0.14.0.0, + any.Spock-core ==0.14.0.1, + any.Spock-lucid ==0.4.0.1, + any.Spock-worker ==0.3.1.0, + any.StateVar ==1.2.2, + any.Stream ==0.4.7.2, + any.ViennaRNAParser ==1.3.3, + any.Win32-notify ==0.3.0.3, + any.X11 ==1.10.3, + any.X11-xft ==0.3.4, + any.Xauth ==0.1, + any.Yampa ==0.14.3, + any.abstract-deque ==0.3, + any.abstract-deque-tests ==0.3, + any.abstract-par ==0.3.3, + any.acc ==0.2.0.2, + any.ace ==0.6, + any.acid-state ==0.16.1.2, + any.action-permutations ==0.0.0.1, + any.active ==0.2.0.18, + any.ad ==4.5.4, + any.ad-delcont ==0.3.0.0, + any.adjunctions ==4.4.2, + any.adler32 ==0.1.2.0, + any.advent-of-code-api ==0.2.8.4, + any.aern2-mp ==0.2.15.0, + any.aern2-real ==0.2.15, + any.aeson ==2.1.2.1, + any.aeson-attoparsec ==0.0.0, + any.aeson-better-errors ==0.9.1.1, + any.aeson-casing ==0.2.0.0, + any.aeson-combinators ==0.1.0.1, + any.aeson-diff ==1.1.0.13, + any.aeson-extra ==0.5.1.2, + any.aeson-generic-compat ==0.0.1.3, + any.aeson-iproute ==0.3.0, + any.aeson-optics ==1.2.1, + any.aeson-picker ==0.1.0.6, + any.aeson-pretty ==0.8.9, + any.aeson-qq ==0.8.4, + any.aeson-schemas ==1.4.1.0, + any.aeson-typescript ==0.6.0.0, + any.aeson-value-parser ==0.19.7.1, + any.aeson-yak ==0.1.1.3, + any.aeson-yaml ==1.1.0.1, + any.agda2lagda ==0.2023.6.9, + any.al ==0.1.4.2, + any.alarmclock ==0.7.0.6, + any.alex ==3.3.0.0, + any.alex-meta ==0.3.0.13, + any.algebra ==4.3.1, + any.algebraic-graphs ==0.7, + any.align-audio ==0.0.0.1, + any.almost-fix ==0.0.2, + any.alsa-core ==0.5.0.1, + any.alsa-mixer ==0.3.0, + any.alsa-pcm ==0.6.1.1, + any.alsa-seq ==0.6.0.9, + any.alternative-vector ==0.0.0, + any.alternators ==1.0.0.0, + any.amqp ==0.22.1, + any.amqp-utils ==0.6.3.2, + any.annotated-exception ==0.2.0.4, + any.annotated-wl-pprint ==0.7.0, + ansi-terminal -win32-2-13-1, + any.ansi-terminal ==0.11.5, + any.ansi-terminal-game ==1.9.1.3, + any.ansi-terminal-types ==0.11.5, + any.ansi-wl-pprint ==0.6.9, + any.aos-signature ==0.1.1, + any.ap-normalize ==0.1.0.1, + any.apecs ==0.9.5, + any.api-field-json-th ==0.1.0.2, + any.api-maker ==0.1.0.6, + any.app-settings ==0.2.0.12, + any.appar ==0.1.8, + any.appendful ==0.1.0.0, + any.appendmap ==0.1.5, + any.apply-refact ==0.13.0.0, + any.apportionment ==0.0.0.4, + any.approximate ==0.3.5, + any.approximate-equality ==1.1.0.2, + any.arbor-lru-cache ==0.1.1.1, + any.arithmoi ==0.12.1.0, + any.array-memoize ==0.6.0, + any.arrow-extras ==0.1.0.1, + any.arrows ==0.4.4.2, + any.ascii ==1.7.0.1, + any.ascii-case ==1.0.1.3, + any.ascii-caseless ==0.0.0.1, + any.ascii-char ==1.0.1.0, + any.ascii-group ==1.0.0.16, + any.ascii-numbers ==1.2.0.1, + any.ascii-predicates ==1.0.1.3, + any.ascii-progress ==0.3.3.0, + any.ascii-superset ==1.3.0.1, + any.ascii-th ==1.2.0.1, + any.asn1-encoding ==0.9.6, + any.asn1-parse ==0.9.5, + any.asn1-types ==0.3.4, + any.assert-failure ==0.1.2.6, + any.assoc ==1.1, + any.astro ==0.4.3.0, + any.async ==2.2.4, + any.async-extra ==0.2.0.0, + any.async-refresh ==0.3.0.0, + any.async-refresh-tokens ==0.4.0.0, + any.atom-basic ==0.2.5, + any.atom-conduit ==0.9.0.1, + any.atomic-primops ==0.8.4, + any.atomic-write ==0.2.0.7, + any.attoparsec ==0.14.4, + any.attoparsec-aeson ==2.1.0.0, + any.attoparsec-base64 ==0.0.0, + any.attoparsec-binary ==0.2, + any.attoparsec-data ==1.0.5.3, + any.attoparsec-expr ==0.1.1.2, + any.attoparsec-framer ==0.1.0.1, + any.attoparsec-iso8601 ==1.1.0.0, + any.attoparsec-path ==0.0.0.1, + any.attoparsec-run ==0.0.2.0, + any.attoparsec-time ==1.0.3, + any.audacity ==0.0.2.1, + any.authenticate ==1.3.5.1, + any.authenticate-oauth ==1.7, + any.auto-update ==0.1.6, + any.autodocodec ==0.2.0.4, + any.autodocodec-openapi3 ==0.2.1.1, + any.autodocodec-schema ==0.1.0.3, + any.autodocodec-yaml ==0.2.0.3, + any.autoexporter ==2.0.0.8, + any.avro ==0.6.1.2, + any.aws ==0.24.1, + any.aws-cloudfront-signed-cookies ==0.2.0.12, + any.aws-lambda-haskell-runtime ==4.1.2, + any.aws-lambda-haskell-runtime-wai ==2.0.2, + aws-sns-verify +development, + any.aws-sns-verify ==0.0.0.2, + any.aws-xray-client ==0.1.0.2, + any.aws-xray-client-persistent ==0.1.0.5, + any.aws-xray-client-wai ==0.1.0.2, + any.backtracking ==0.1.0, + any.bank-holidays-england ==0.2.0.9, + any.barbies ==2.0.4.0, + any.base-compat ==0.12.3, + any.base-compat-batteries ==0.12.3, + any.base-orphans ==0.9.0, + any.base-prelude ==1.6.1, + any.base-unicode-symbols ==0.2.4.2, + any.base16 ==0.3.2.1, + any.base16-bytestring ==1.0.2.0, + any.base32 ==0.3.1.0, + any.base32string ==0.9.1, + any.base58-bytestring ==0.1.0, + any.base58string ==0.10.0, + any.base64 ==0.4.2.4, + any.base64-bytestring ==1.2.1.0, + any.base64-bytestring-type ==1.0.1, + any.base64-string ==0.2, + any.basement ==0.0.16, + any.basic-prelude ==0.7.0, + any.battleship-combinatorics ==0.0.1, + any.bazel-runfiles ==0.12, + any.bbdb ==0.8, + any.bcp47 ==0.2.0.6, + any.bcp47-orphans ==0.1.0.6, + any.bcrypt ==0.0.11, + any.bech32 ==1.1.3, + any.bech32-th ==1.1.1, + any.bench ==1.0.12, + any.benchpress ==0.2.2.22, + any.bencode ==0.6.1.1, + any.bencoding ==0.4.5.4, + any.benri-hspec ==0.1.0.1, + any.between ==0.11.0.0, + any.bhoogle ==0.1.4.2, + any.bibtex ==0.1.0.7, + any.bifunctor-classes-compat ==0.1, + any.bifunctors ==5.5.15, + any.bimap ==0.5.0, + any.bimap-server ==0.1.0.1, + any.bimaps ==0.1.0.2, + any.bin ==0.1.3, + any.binance-exports ==0.1.2.0, + any.binary-conduit ==1.3.1, + any.binary-generic-combinators ==0.4.4.0, + any.binary-ieee754 ==0.1.0.0, + any.binary-instances ==1.0.4, + any.binary-list ==1.1.1.2, + any.binary-orphans ==1.0.4.1, + any.binary-parser ==0.5.7.3, + any.binary-search ==2.0.0, + any.binary-shared ==0.8.3, + any.binary-tagged ==0.3.1, + any.binaryen ==0.0.6.0, + any.bindings-DSL ==1.0.25, + any.bindings-GLFW ==3.3.2.0, + any.bindings-libzip ==1.0.1, + any.bindings-uname ==0.1, + any.bitarray ==0.0.1.1, + any.bits ==0.6, + any.bits-extra ==0.0.2.3, + any.bitset-word8 ==0.1.1.2, + any.bitvec ==1.1.4.0, + any.bitwise-enum ==1.0.1.2, + any.blake2 ==0.3.0, + any.blank-canvas ==0.7.3, + any.blanks ==0.5.0, + any.blas-carray ==0.1.0.2, + any.blas-comfort-array ==0.0.0.3, + any.blas-ffi ==0.1, + any.blas-hs ==0.1.1.0, + any.blaze-bootstrap ==0.1.0.1, + any.blaze-builder ==0.4.2.2, + any.blaze-colonnade ==1.2.2.1, + any.blaze-html ==0.9.1.2, + any.blaze-markup ==0.8.2.8, + any.blaze-svg ==0.3.7, + any.blaze-textual ==0.2.3.1, + any.bloodhound ==0.21.0.0, + any.bm ==0.2.0.0, + any.bmp ==1.2.6.3, + any.bnb-staking-csvs ==0.2.1.0, + any.board-games ==0.4, + any.bodhi ==0.1.0, + any.boltzmann-samplers ==0.1.1.0, + any.boolsimplifier ==0.1.8, + any.boomerang ==1.4.9, + any.boots ==0.2.0.1, + any.bordacount ==0.1.0.0, + any.boring ==0.2.1, + any.bound ==2.0.6, + any.bounded-queue ==1.0.0, + any.boundingboxes ==0.2.3, + any.box ==0.9.2.0, + any.boxes ==0.1.5, + any.breakpoint ==0.1.2.1, + any.brick ==1.9, + any.broadcast-chan ==0.2.1.2, + any.brotli ==0.0.0.1, + any.brotli-streams ==0.0.0.0, + any.bsb-http-chunked ==0.0.0.4, + bson -_old-network, + any.bson ==0.4.0.1, + any.bson-lens ==0.1.1, + any.buffer-builder ==0.2.4.8, + any.buffer-pipe ==0.0, + any.bugsnag ==1.0.0.1, + any.bugsnag-haskell ==0.0.4.4, + any.bugsnag-hs ==0.2.0.11, + any.bugsnag-wai ==1.0.0.1, + any.bugsnag-yesod ==1.0.0.1, + any.bugzilla-redhat ==1.0.1, + any.burrito ==2.0.1.6, + any.bv ==0.5, + any.byte-count-reader ==0.10.1.10, + any.byte-order ==0.1.3.0, + any.byteable ==0.1.1, + any.bytebuild ==0.3.14.0, + any.bytedump ==1.0, + any.bytehash ==0.1.0.0, + any.byteorder ==1.0.4, + any.bytes ==0.17.2, + any.byteset ==0.1.1.0, + any.byteslice ==0.2.11.1, + any.bytesmith ==0.3.10.0, + any.bytestring-builder ==0.10.8.2.0, + any.bytestring-lexing ==0.5.0.10, + any.bytestring-mmap ==0.2.2, + any.bytestring-strict-builder ==0.4.5.6, + any.bytestring-to-vector ==0.3.0.1, + any.bytestring-tree-builder ==0.2.7.10, + any.bytestring-trie ==0.2.7.2, + bz2 -with-bzlib, + any.bz2 ==1.0.1.0, + any.bzlib-conduit ==0.3.0.2, + any.c-enum ==0.1.1.3, + any.c-struct ==0.1.3.0, + any.c14n ==0.1.0.3, + any.c2hs ==0.28.8, + any.ca-province-codes ==1.0.0.0, + any.cabal-appimage ==0.4.0.1, + any.cabal-clean ==0.2.20230609, + any.cabal-doctest ==1.0.9, + any.cabal-file ==0.1.1, + cabal-install -native-dns, + any.cabal-install ==3.8.1.0, + any.cabal-install-solver ==3.8.1.0, + cabal-rpm -old-locale, + any.cabal-rpm ==2.1.2, + any.cabal2nix ==2.19.1, + any.cabal2spec ==2.7.0, + any.cache ==0.1.3.0, + any.cached-json-file ==0.1.1, + any.cacophony ==0.10.1, + any.cairo ==0.13.10.0, + any.calendar-recycling ==0.0.0.1, + any.call-alloy ==0.4.0.3, + any.call-plantuml ==0.0.1.2, + any.call-stack ==0.4.0, + any.calligraphy ==0.1.6, + any.can-i-haz ==0.3.1.1, + any.capability ==0.5.0.1, + any.cardano-coin-selection ==1.0.1, + any.carray ==0.1.6.8, + any.casa-client ==0.0.1, + any.casa-types ==0.0.2, + any.case-insensitive ==1.2.1.0, + any.cased ==0.1.0.0, + any.cases ==0.1.4.2, + any.casing ==0.1.4.1, + cassava -bytestring--lt-0_10_4, + any.cassava ==0.5.3.0, + any.cassava-conduit ==0.6.5, + any.cassava-megaparsec ==2.0.4, + any.cast ==0.1.0.2, + any.cborg ==0.2.9.0, + any.cborg-json ==0.2.5.0, + any.cdar-mBound ==0.1.0.4, + any.cereal ==0.5.8.3, + any.cereal-conduit ==0.8.0, + any.cereal-text ==0.1.0.2, + any.cereal-unordered-containers ==0.1, + any.cereal-vector ==0.2.0.1, + any.cfenv ==0.1.0.0, + any.cgi ==3001.5.0.1, + any.chan ==0.0.4.1, + any.character-cases ==0.1.0.6, + any.charset ==0.3.9, + any.charsetdetect-ae ==1.1.0.4, + any.check-email ==1.0.2, + any.checkers ==0.6.0, + any.checksum ==0.0.0.1, + any.chimera ==0.3.3.0, + any.choice ==0.2.2, + any.chronologique ==0.3.1.3, + any.chronos ==1.1.5, + any.chronos-bench ==0.2.0.2, + any.chunked-data ==0.3.1, + any.cipher-aes ==0.2.11, + any.cipher-camellia ==0.0.2, + any.cipher-rc4 ==0.1.4, + any.circle-packing ==0.1.0.6, + any.circular ==0.4.0.3, + any.citeproc ==0.8.1, + any.classy-prelude ==1.5.0.3, + any.classy-prelude-conduit ==1.5.0, + any.classy-prelude-yesod ==1.5.0, + any.cleff ==0.3.3.0, + any.clientsession ==0.9.2.0, + any.clock ==0.8.4, + any.closed ==0.2.0.2, + any.clumpiness ==0.17.0.2, + any.cmark-gfm ==0.2.5, + any.cmdargs ==0.10.22, + any.co-log-concurrent ==0.5.1.0, + any.co-log-core ==0.3.2.0, + any.code-conjure ==0.5.2, + any.code-page ==0.2.1, + any.codec-beam ==0.2.0, + any.coinor-clp ==0.0, + any.cointracking-imports ==0.1.0.2, + any.collect-errors ==0.1.5.0, + any.colonnade ==1.2.0.2, + any.colorful-monoids ==0.2.1.3, + any.colorize-haskell ==1.0.1, + any.colour ==2.3.6, + any.colourista ==0.1.0.2, + any.columnar ==1.0.0.0, + any.combinatorial ==0.1.1, + any.comfort-array ==0.5.2.3, + any.comfort-array-shape ==0.0, + any.comfort-blas ==0.0.0.1, + any.comfort-fftw ==0.0.0.1, + any.comfort-glpk ==0.1, + any.comfort-graph ==0.0.3.2, + any.commonmark ==0.2.3, + any.commonmark-extensions ==0.2.3.5, + any.commonmark-pandoc ==0.2.1.3, + any.commutative ==0.0.2, + any.commutative-semigroups ==0.1.0.1, + any.comonad ==5.0.8, + any.comonad-extras ==4.0.1, + any.compactmap ==0.1.4.3, + any.compdata ==0.13.0, + any.compensated ==0.8.3, + any.compiler-warnings ==0.1.0, + any.componentm ==0.0.0.2, + any.componentm-devel ==0.0.0.2, + any.composable-associations ==0.1.0.0, + any.composition ==1.0.2.2, + any.composition-extra ==2.0.0, + any.composition-prelude ==3.0.0.2, + any.concise ==0.1.0.1, + any.concurrency ==1.11.0.3, + any.concurrent-extra ==0.7.0.12, + any.concurrent-output ==1.10.18, + any.concurrent-split ==0.0.1.1, + any.cond ==0.4.1.1, + any.conduino ==0.2.2.0, + any.conduit ==1.3.5, + any.conduit-aeson ==0.1.0.1, + any.conduit-algorithms ==0.0.13.0, + any.conduit-combinators ==1.3.0, + any.conduit-concurrent-map ==0.1.3, + any.conduit-extra ==1.3.6, + any.conduit-parse ==0.2.1.1, + any.conduit-zstd ==0.0.2.0, + any.conferer ==1.1.0.0, + any.conferer-aeson ==1.1.0.2, + any.conferer-warp ==1.1.0.1, + any.config-ini ==0.2.6.0, + any.configuration-tools ==0.6.1, + any.configurator ==0.3.0.0, + any.configurator-export ==0.1.0.1, + any.connection ==0.3.1, + any.console-style ==0.0.2.1, + any.constraint-tuples ==0.1.2, + any.constraints ==0.13.4, + any.constraints-extras ==0.4.0.0, + any.context ==0.2.0.1, + any.context-http-client ==0.2.0.1, + any.context-resource ==0.2.0.1, + any.context-wai-middleware ==0.2.0.1, + any.contiguous ==0.6.3.0, + any.contravariant ==1.5.5, + any.contravariant-extras ==0.3.5.3, + any.control-bool ==0.2.1, + any.control-dsl ==0.2.1.3, + any.control-monad-free ==0.6.2, + any.control-monad-omega ==0.3.2, + any.convertible ==1.1.1.1, + any.cookie ==0.4.6, + any.copr-api ==0.1.0, + any.core-data ==0.3.9.1, + any.core-program ==0.6.9.4, + any.core-telemetry ==0.2.9.4, + any.core-text ==0.3.8.1, + any.countable ==1.2, + any.country ==0.2.3.1, + any.covariance ==0.2.0.1, + any.cpphs ==1.20.9.1, + any.cprng-aes ==0.6.1, + any.cpu ==0.1.2, + any.cpuinfo ==0.1.0.2, + any.cql ==4.0.4, + any.cql-io ==1.1.1, + any.crackNum ==3.4, + any.crc32c ==0.1.0, + any.credential-store ==0.1.2, + any.criterion ==1.6.1.0, + any.criterion-measurement ==0.2.1.0, + any.cron ==0.7.0, + any.crypt-sha512 ==0, + any.crypto-api ==0.13.3, + any.crypto-api-tests ==0.3, + any.crypto-cipher-tests ==0.0.11, + any.crypto-cipher-types ==0.0.9, + any.crypto-enigma ==0.1.1.6, + any.crypto-pubkey-types ==0.4.3, + any.crypto-random ==0.0.9, + any.crypto-random-api ==0.2.0, + any.cryptocompare ==0.1.2, + any.cryptohash ==0.11.9, + any.cryptohash-cryptoapi ==0.1.4, + any.cryptohash-md5 ==0.11.101.0, + any.cryptohash-sha1 ==0.11.101.0, + any.cryptohash-sha256 ==0.11.102.1, + any.cryptohash-sha512 ==0.11.102.0, + any.crypton ==0.32, + any.cryptonite ==0.30, + any.cryptonite-conduit ==0.2.2, + any.cryptonite-openssl ==0.7, + any.cryptostore ==0.3.0.1, + any.csp ==1.4.0, + any.css-syntax ==0.1.0.1, + any.css-text ==0.1.3.0, + any.csv ==0.1.2, + any.csv-conduit ==0.7.3.0, + any.ctrie ==0.2, + any.cubicbezier ==0.6.0.7, + any.cubicspline ==0.1.2, + any.cue-sheet ==2.0.2, + curl +new-base, + any.curl ==1.3.8, + any.curl-runnings ==0.17.0, + any.currency ==0.2.0.0, + any.currycarbon ==0.2.1.1, + any.cursor ==0.3.2.0, + any.cursor-brick ==0.1.0.1, + any.cursor-fuzzy-time ==0.0.0.0, + any.cursor-gen ==0.4.0.0, + any.cutter ==0.0, + any.cyclotomic ==1.1.2, + any.d10 ==1.0.1.3, + any.data-accessor ==0.2.3.1, + any.data-accessor-mtl ==0.2.0.5, + any.data-accessor-transformers ==0.2.1.8, + any.data-array-byte ==0.1.0.1, + any.data-binary-ieee754 ==0.4.4, + any.data-bword ==0.1.0.2, + any.data-checked ==0.3, + any.data-clist ==0.2, + any.data-compat ==0.1.0.4, + any.data-default ==0.7.1.1, + any.data-default-class ==0.1.2.0, + any.data-default-instances-base ==0.1.0.1, + any.data-default-instances-bytestring ==0.0.1, + any.data-default-instances-case-insensitive ==0.0.1, + any.data-default-instances-containers ==0.0.1, + any.data-default-instances-dlist ==0.0.1, + any.data-default-instances-old-locale ==0.0.1, + any.data-default-instances-unordered-containers ==0.0.1, + any.data-default-instances-vector ==0.0.1, + any.data-diverse ==4.7.1.0, + any.data-dword ==0.3.2.1, + any.data-endian ==0.1.1, + any.data-fix ==0.3.2, + any.data-forest ==0.1.0.12, + any.data-has ==0.4.0.0, + any.data-hash ==0.2.0.1, + any.data-interval ==2.1.1, + any.data-inttrie ==0.1.4, + any.data-lens-light ==0.1.2.3, + any.data-memocombinators ==0.5.1, + any.data-msgpack ==0.0.13, + any.data-msgpack-types ==0.0.3, + any.data-or ==1.0.0.7, + any.data-ordlist ==0.4.7.0, + any.data-ref ==0.1, + any.data-reify ==0.6.3, + any.data-serializer ==0.3.5, + any.data-sketches ==0.3.1.0, + any.data-sketches-core ==0.1.0.0, + any.data-textual ==0.3.0.3, + any.datadog ==0.3.0.0, + any.dataurl ==0.1.0.0, + any.dbcleaner ==0.1.3, + any.dbus ==1.2.29, + any.dbus-hslogger ==0.1.0.1, + any.debian ==4.0.4, + any.debian-build ==0.10.2.1, + any.debug-trace-var ==0.2.0, + any.dec ==0.0.5, + any.declarative ==0.5.4, + any.deepseq-generics ==0.2.0.0, + any.deferred-folds ==0.9.18.3, + any.dejafu ==2.4.0.5, + any.dense-linear-algebra ==0.1.0.0, + any.dependent-map ==0.4.0.0, + any.dependent-sum ==0.7.2.0, + any.depq ==0.4.2, + any.deque ==0.4.4, + any.derive-storable ==0.3.1.0, + any.derive-topdown ==0.0.3.0, + any.deriveJsonNoPrefix ==0.1.0.1, + any.deriving-aeson ==0.2.9, + any.deriving-compat ==0.6.3, + any.deriving-trans ==0.5.2.0, + any.detour-via-sci ==1.0.0, + any.df1 ==0.4.1, + any.dhall ==1.41.2, + any.dhall-bash ==1.0.40, + any.dhall-json ==1.7.11, + any.dhall-yaml ==1.2.12, + any.di ==1.3, + any.di-core ==1.0.4, + any.di-df1 ==1.2.1, + any.di-handle ==1.0.1, + any.di-monad ==1.3.1, + any.diagrams ==1.4.1, + any.diagrams-canvas ==1.4.1.2, + any.diagrams-contrib ==1.4.5.1, + any.diagrams-core ==1.5.1, + any.diagrams-html5 ==1.4.2, + any.diagrams-lib ==1.4.6, + any.diagrams-postscript ==1.5.1.1, + any.diagrams-rasterific ==1.4.2.3, + any.diagrams-solve ==0.1.3, + any.diagrams-svg ==1.4.3.1, + any.dice ==0.1.1, + any.dictionary-sharing ==0.1.0.0, + any.diff-loc ==0.1.0.0, + any.digest ==0.0.1.7, + any.digits ==0.3.1, + any.dimensional ==1.5, + any.direct-sqlite ==2.3.28, + any.directory-tree ==0.12.1, + any.dirichlet ==0.1.0.7, + any.discount ==0.1.1, + any.discover-instances ==0.1.0.0, + any.discrimination ==0.5, + any.disk-free-space ==0.1.0.1, + any.distributed-static ==0.3.9, + any.distribution-nixpkgs ==1.7.0.1, + any.distribution-opensuse ==1.1.4, + any.distributive ==0.6.2.1, + any.diversity ==0.8.1.0, + any.djinn-lib ==0.0.1.4, + any.dl-fedora ==0.9.5.1, + any.dlist ==1.0, + any.dlist-instances ==0.1.1.1, + any.dlist-nonempty ==0.1.3, + any.dns ==4.1.1, + any.do-list ==1.0.1, + any.do-notation ==0.1.0.2, + any.dockerfile ==0.2.0, + any.doclayout ==0.4.0.1, + any.doctemplates ==0.11, + any.doctest ==0.20.1, + any.doctest-discover ==0.2.0.0, + any.doctest-driver-gen ==0.3.0.7, + any.doctest-exitcode-stdio ==0.0, + any.doctest-extract ==0.1.1.1, + any.doctest-lib ==0.1, + any.doctest-parallel ==0.3.0.1, + any.doldol ==0.4.1.2, + any.domain ==0.1.1.4, + any.domain-aeson ==0.1.1.1, + any.domain-cereal ==0.1, + any.domain-core ==0.1.0.3, + any.domain-optics ==0.1.0.3, + any.dot ==0.3, + any.dotenv ==0.11.0.2, + any.dotgen ==0.4.3, + any.dotnet-timespan ==0.0.1.0, + any.double-conversion ==2.0.4.2, + any.download ==0.3.2.7, + any.download-curl ==0.1.4, + any.drifter ==0.3.0, + any.drifter-postgresql ==0.2.1, + any.drifter-sqlite ==0.1.0.0, + any.dsp ==0.2.5.2, + any.dual ==0.1.1.1, + any.dual-tree ==0.2.3.1, + any.dublincore-xml-conduit ==0.1.0.2, + any.dunai ==0.11.1, + any.duration ==0.2.0.0, + any.dvorak ==0.1.0.0, + any.dynamic-state ==0.3.1, + any.dyre ==0.9.2, + any.eap ==0.9.0.2, + any.easy-file ==0.2.5, + any.easy-logger ==0.1.0.7, + any.echo ==0.1.4, + any.ecstasy ==0.2.1.0, + any.ed25519 ==0.0.5.0, + any.ede ==0.3.3.0, + any.edit-distance ==0.2.2.1, + any.edit-distance-vector ==1.0.0.4, + any.editor-open ==0.6.0.0, + any.effectful ==2.2.2.0, + any.effectful-core ==2.2.2.2, + any.effectful-plugin ==1.1.0.1, + any.effectful-th ==1.0.0.1, + any.either ==5.0.2, + any.either-both ==0.1.1.1, + any.either-unwrap ==1.1, + any.ekg-core ==0.1.1.7, + any.elerea ==2.9.0, + any.elf ==0.31, + any.eliminators ==0.9.2, + any.elm-bridge ==0.8.2, + any.elm-core-sources ==1.0.0, + any.elm-export ==0.6.0.1, + any.elm2nix ==0.3.0, + any.elynx ==0.7.2.2, + any.elynx-markov ==0.7.2.2, + any.elynx-nexus ==0.7.2.2, + any.elynx-seq ==0.7.2.2, + any.elynx-tools ==0.7.2.1, + any.elynx-tree ==0.7.2.2, + any.emacs-module ==0.1.1.1, + any.email-validate ==2.3.2.19, + any.emojis ==0.1.3, + any.enclosed-exceptions ==1.0.3, + any.entropy ==0.4.1.10, + any.enum-subset-generate ==0.1.0.1, + any.enum-text ==0.5.3.0, + any.enummapset ==0.7.1.0, + any.enumset ==0.1, + any.envelope ==0.2.2.0, + any.envparse ==0.5.0, + any.envy ==2.1.2.0, + any.eq ==4.3, + any.equal-files ==0.0.5.4, + any.equational-reasoning ==0.7.0.1, + any.equivalence ==0.4.1, + any.erf ==2.0.0.0, + any.error ==1.0.0.0, + any.error-or ==0.3.0, + any.error-or-utils ==0.2.0, + any.errorcall-eq-instance ==0.3.0, + any.errors ==2.3.0, + any.errors-ext ==0.4.2, + any.ersatz ==0.4.13, + any.esqueleto ==3.5.10.1, + any.event-list ==0.1.2, + any.eventstore ==1.4.2, + any.every ==0.0.1, + any.evm-opcodes ==0.1.2, + any.exact-combinatorics ==0.2.0.11, + any.exact-pi ==0.5.0.2, + any.exception-hierarchy ==0.1.0.8, + any.exception-mtl ==0.4.0.2, + any.exception-transformers ==0.4.0.11, + any.executable-hash ==0.2.0.4, + any.executable-path ==0.0.3.1, + any.exinst ==0.9, + any.exit-codes ==1.0.0, + any.exomizer ==1.0.0, + any.exp-pairs ==0.2.1.0, + any.experimenter ==0.1.0.14, + any.expiring-cache-map ==0.0.6.1, + any.explainable-predicates ==0.1.2.3, + any.explicit-exception ==0.2, + any.express ==1.0.12, + any.extended-reals ==0.2.4.0, + any.extensible ==0.9, + any.extensible-effects ==5.0.0.1, + any.extensible-exceptions ==0.1.1.4, + any.extra ==1.7.14, + any.extractable-singleton ==0.0.1, + any.extrapolate ==0.4.6, + any.fail ==4.9.0.0, + any.failable ==1.2.4.0, + any.fakedata ==1.0.3, + any.fakedata-parser ==0.1.0.0, + any.fakedata-quickcheck ==0.2.0, + any.fakefs ==0.3.0.2, + any.fakepull ==0.3.0.2, + any.faktory ==1.1.2.4, + any.fast-logger ==3.2.2, + any.fast-math ==1.0.2, + any.fasta ==0.10.4.2, + any.fastmemo ==0.1.1, + any.fb ==2.1.1.1, + any.fcf-family ==0.2.0.0, + any.fdo-notify ==0.3.1, + any.feature-flags ==0.1.0.1, + any.fedora-dists ==2.1.1, + any.fedora-haskell-tools ==1.0, + any.feed ==1.3.2.1, + any.fft ==0.1.8.7, + any.fftw-ffi ==0.1, + any.fgl ==5.8.0.0, + any.fields-json ==0.4.0.0, + any.file-embed ==0.0.15.0, + any.file-embed-lzma ==0.0.1, + any.file-modules ==0.1.2.4, + any.file-path-th ==0.1.0.0, + any.filelock ==0.1.1.6, + any.filemanip ==0.3.6.3, + any.filepath-bytestring ==1.4.2.1.13, + any.filepattern ==0.1.3, + any.fileplow ==0.1.0.0, + any.filter-logger ==0.6.0.0, + any.filtrable ==0.1.6.0, + any.fin ==0.3, + any.fingertree ==0.1.5.0, + any.finite-typelits ==0.1.6.0, + any.first-class-families ==0.8.0.1, + any.first-class-patterns ==0.3.2.5, + any.fitspec ==0.4.10, + any.fix-whitespace ==0.0.11, + any.fixed ==0.3, + any.fixed-length ==0.2.3.1, + any.fixed-vector ==1.2.2.1, + any.fixed-vector-hetero ==0.6.1.1, + any.flac ==0.2.0, + any.flac-picture ==0.1.2, + any.flags-applicative ==0.1.0.3, + any.flat ==0.6, + any.flatparse ==0.4.1.0, + any.flay ==0.4, + any.floatshow ==0.2.4, + any.flow ==2.0.0.3, + any.flush-queue ==1.0.0, + any.fmlist ==0.9.4, + any.fmt ==0.6.3.0, + any.fn ==0.3.0.2, + any.focus ==1.0.3.1, + any.focuslist ==0.1.1.0, + any.fold-debounce ==0.2.0.11, + any.foldable1-classes-compat ==0.1, + any.foldl ==1.4.15, + any.folds ==0.7.8, + any.follow-file ==0.0.3, + any.force-layout ==0.4.0.6, + any.foreign-store ==0.2, + any.forkable-monad ==0.2.0.3, + any.format-numbers ==0.1.0.1, + any.formatn ==0.3.0, + formatting +no-double-conversion, + any.formatting ==7.2.0, + any.foundation ==0.0.30, + any.fourmolu ==0.11.0.0, + any.free ==5.1.10, + any.free-categories ==0.2.0.2, + any.free-vl ==0.1.4, + any.freenect ==1.2.1, + any.freetype2 ==0.2.0, + any.friday ==0.2.3.2, + any.friday-juicypixels ==0.1.2.4, + any.friendly-time ==0.4.1, + any.frisby ==0.2.4, + any.from-sum ==0.2.3.0, + any.frontmatter ==0.1.0.2, + any.fsnotify ==0.4.1.0, + any.ftp-client ==0.5.1.4, + any.funcmp ==1.9, + any.function-builder ==0.3.0.1, + functor-classes-compat +containers, + any.functor-classes-compat ==2.0.0.2, + any.functor-combinators ==0.4.1.2, + any.fused-effects ==1.1.2.2, + any.fusion-plugin ==0.2.6, + any.fusion-plugin-types ==0.1.0, + any.fuzzcheck ==0.1.1, + any.fuzzy ==0.1.0.1, + any.fuzzy-dates ==0.1.1.2, + any.fuzzy-time ==0.2.0.3, + any.gauge ==0.2.5, + any.gd ==3000.7.3, + any.gdp ==0.0.3.0, + any.gemini-exports ==0.1.0.0, + any.general-games ==1.1.1, + any.generic-arbitrary ==1.0.1, + any.generic-constraints ==1.1.1.1, + any.generic-data ==1.1.0.0, + any.generic-data-surgery ==0.3.0.0, + any.generic-deriving ==1.14.4, + any.generic-functor ==1.1.0.0, + any.generic-lens ==2.2.2.0, + any.generic-lens-core ==2.2.1.0, + any.generic-monoid ==0.1.0.1, + any.generic-optics ==2.2.1.0, + any.generic-random ==1.5.0.1, + any.generically ==0.1.1, + any.generics-eot ==0.4.0.1, + any.generics-sop ==0.5.1.3, + any.generics-sop-lens ==0.2.0.1, + any.geniplate-mirror ==0.7.9, + any.genvalidity ==1.1.0.0, + any.genvalidity-aeson ==1.0.0.1, + any.genvalidity-appendful ==0.1.0.0, + any.genvalidity-bytestring ==1.0.0.1, + any.genvalidity-case-insensitive ==0.0.0.1, + any.genvalidity-containers ==1.0.0.1, + any.genvalidity-criterion ==1.1.0.0, + any.genvalidity-hspec ==1.0.0.2, + any.genvalidity-hspec-aeson ==1.0.0.0, + any.genvalidity-hspec-binary ==1.0.0.0, + any.genvalidity-hspec-cereal ==1.0.0.0, + any.genvalidity-hspec-hashable ==1.0.0.0, + any.genvalidity-hspec-optics ==1.0.0.0, + any.genvalidity-hspec-persistent ==1.0.0.0, + any.genvalidity-mergeful ==0.3.0.0, + any.genvalidity-mergeless ==0.3.0.0, + any.genvalidity-path ==1.0.0.1, + any.genvalidity-persistent ==1.0.0.1, + any.genvalidity-property ==1.0.0.0, + any.genvalidity-scientific ==1.0.0.0, + any.genvalidity-sydtest ==1.0.0.0, + any.genvalidity-sydtest-aeson ==1.0.0.0, + any.genvalidity-sydtest-hashable ==1.0.0.0, + any.genvalidity-sydtest-lens ==1.0.0.0, + any.genvalidity-sydtest-persistent ==1.0.0.0, + any.genvalidity-text ==1.0.0.1, + any.genvalidity-time ==1.0.0.1, + any.genvalidity-typed-uuid ==0.1.0.1, + any.genvalidity-unordered-containers ==1.0.0.0, + any.genvalidity-uuid ==1.0.0.1, + any.genvalidity-vector ==1.0.0.0, + any.geodetics ==0.1.2, + any.getopt-generics ==0.13.1.0, + any.ghc-byteorder ==4.11.0.0.10, + any.ghc-check ==0.5.0.8, + any.ghc-core ==0.5.6, + any.ghc-events ==0.19.0.1, + any.ghc-exactprint ==1.6.1.3, + any.ghc-lib ==9.4.5.20230430, + any.ghc-lib-parser ==9.4.5.20230430, + any.ghc-lib-parser-ex ==9.4.0.0, + any.ghc-paths ==0.1.0.12, + any.ghc-prof ==1.4.1.12, + any.ghc-syntax-highlighter ==0.0.9.0, + any.ghc-tcplugins-extra ==0.4.4, + any.ghc-trace-events ==0.1.2.7, + any.ghc-typelits-extra ==0.4.5, + any.ghc-typelits-knownnat ==0.7.8, + any.ghc-typelits-natnormalise ==0.7.8, + any.ghc-typelits-presburger ==0.7.2.0, + any.ghci-hexcalc ==0.1.1.0, + any.ghcid ==0.8.9, + any.ghcjs-codemirror ==0.0.0.2, + any.ghcjs-perch ==0.3.3.3, + any.ghost-buster ==0.1.1.0, + any.gi-atk ==2.0.27, + any.gi-cairo ==1.0.29, + any.gi-cairo-connector ==0.1.1, + any.gi-cairo-render ==0.1.2, + any.gi-dbusmenu ==0.4.13, + any.gi-dbusmenugtk3 ==0.4.14, + any.gi-freetype2 ==2.0.4, + any.gi-gdk ==3.0.28, + any.gi-gdkpixbuf ==2.0.31, + any.gi-gdkx11 ==3.0.15, + any.gi-gio ==2.0.32, + any.gi-glib ==2.0.29, + any.gi-gmodule ==2.0.5, + any.gi-gobject ==2.0.30, + any.gi-graphene ==1.0.7, + any.gi-gtk ==3.0.41, + any.gi-gtk-hs ==0.3.16, + any.gi-harfbuzz ==0.0.9, + any.gi-javascriptcore ==4.0.27, + any.gi-pango ==1.0.29, + any.gi-soup ==2.4.28, + any.gi-vte ==2.91.31, + any.gi-webkit2 ==4.0.30, + any.gi-xlib ==2.0.13, + any.gio ==0.13.10.0, + any.githash ==0.1.7.0, + any.github ==0.28.0.1, + any.github-release ==2.0.0.8, + any.github-rest ==1.1.4, + any.github-types ==0.2.1, + any.github-webhooks ==0.17.0, + any.gitlab-haskell ==1.0.0.1, + any.gitlib ==3.1.3, + any.gitrev ==1.3.1, + any.gl ==0.9, + any.glabrous ==2.0.6.2, + any.glasso ==0.1.0, + any.glib ==0.13.10.0, + any.glob-posix ==0.2.0.1, + any.gloss ==1.13.2.2, + any.gloss-algorithms ==1.13.0.3, + any.gloss-rendering ==1.13.1.2, + any.glpk-headers ==0.5.1, + any.gmail-simple ==0.1.0.4, + any.gnuplot ==0.5.7, + any.goldplate ==0.2.1.1, + any.google-isbn ==1.0.3, + any.gopher-proxy ==0.1.1.3, + any.gpolyline ==0.1.0.1, + any.graph-core ==0.3.0.0, + any.graph-wrapper ==0.2.6.0, + any.graphite ==0.10.0.1, + any.graphql ==1.2.0.1, + any.graphql-client ==1.2.2, + any.graphs ==0.7.2, + any.graphula ==2.0.2.2, + any.graphviz ==2999.20.1.0, + any.gravatar ==0.8.1, + any.gridtables ==0.1.0.0, + any.groom ==0.1.2.1, + any.group-by-date ==0.1.0.5, + any.groups ==0.5.3, + any.gtk ==0.15.8, + any.gtk-sni-tray ==0.1.8.1, + any.gtk-strut ==0.1.3.2, + any.gtk2hs-buildtools ==0.13.10.0, + any.gtk3 ==0.15.8, + any.guarded-allocation ==0.0.1, + any.hackage-cli ==0.1.0.1, + any.hackage-db ==2.1.3, + hackage-security +cabal-syntax, + any.hackage-security ==0.6.2.3, + any.haddock-library ==1.11.0, + any.haha ==0.3.1.1, + any.hakyll ==4.16.0.0, + any.hal ==1.0.0.1, + any.half ==0.3.1, + any.hall-symbols ==0.1.0.6, + any.hamlet ==1.2.0, + any.hamtsolo ==1.0.4, + any.handwriting ==0.1.0.3, + any.happstack-hsp ==7.3.7.7, + any.happstack-jmacro ==7.0.12.5, + any.happstack-server ==7.8.0.2, + any.happstack-server-tls ==7.2.1.3, + any.happy ==1.20.1.1, + any.happy-meta ==0.2.1.0, + any.harp ==0.4.3.6, + any.has-transformers ==0.1.0.4, + any.hasbolt ==0.1.6.2, + any.hashable ==1.4.3.0, + any.hashing ==0.1.1.0, + any.hashmap ==1.3.3, + any.hashtables ==1.3.1, + any.haskell-gi ==0.26.7, + any.haskell-gi-base ==0.26.4, + any.haskell-gi-overloading ==1.0, + any.haskell-lexer ==1.1.1, + any.haskell-src ==1.0.4, + any.haskell-src-exts ==1.23.1, + any.haskell-src-exts-simple ==1.23.0.0, + any.haskell-src-exts-util ==0.2.5, + any.haskell-src-meta ==0.8.12, + any.haskoin-core ==0.21.2, + any.haskoin-node ==0.18.1, + any.haskoin-store-data ==0.65.5, + any.hasktags ==0.72.0, + any.hasql ==1.6.3.2, + any.hasql-dynamic-statements ==0.3.1.2, + any.hasql-implicits ==0.1.1, + any.hasql-interpolate ==0.1.0.4, + any.hasql-listen-notify ==0.1.0, + any.hasql-migration ==0.3.0, + any.hasql-notifications ==0.2.0.5, + any.hasql-optparse-applicative ==0.7, + any.hasql-pool ==0.9.0.1, + any.hasql-queue ==1.2.0.2, + any.hasql-th ==0.4.0.18, + any.hasql-transaction ==1.0.1.2, + any.hasty-hamiltonian ==1.3.4, + any.haxr ==3000.11.5, + any.hdaemonize ==0.5.7, + any.headed-megaparsec ==0.2.1.2, + any.heap ==1.0.4, + any.heaps ==0.4, + any.heatshrink ==0.1.0.0, + any.hebrew-time ==0.1.2, + any.hedgehog ==1.2, + any.hedgehog-classes ==0.2.5.4, + any.hedgehog-corpus ==0.2.0, + any.hedgehog-fakedata ==0.0.1.5, + any.hedgehog-fn ==1.0, + any.hedgehog-optics ==1.0.0.3, + any.hedgehog-quickcheck ==0.1.1, + any.hedis ==0.15.2, + any.hedn ==0.3.0.4, + any.heist ==1.1.1.1, + any.here ==1.2.14, + any.heredoc ==0.2.0.0, + any.heterocephalus ==1.0.5.7, + any.hetzner ==0.2.1.1, + any.hex ==0.2.0, + any.hex-text ==0.1.0.9, + any.hexml ==0.3.4, + any.hexml-lens ==0.2.2, + any.hexpat ==0.20.13, + any.hformat ==0.3.3.1, + any.hfsevents ==0.1.6, + any.hgal ==2.0.0.3, + any.hi-file-parser ==0.1.4.0, + any.hidapi ==0.1.8, + any.hie-bios ==0.12.0, + any.highlighting-kate ==0.6.4, + any.hindent ==6.0.0, + any.hinfo ==0.0.3.0, + any.hinotify ==0.4.1, + any.hint ==0.9.0.7, + any.histogram-fill ==0.9.1.0, + any.hjsmin ==0.2.1, + any.hkd-default ==1.1.0.0, + any.hkgr ==0.4.3.1, + any.hledger ==1.30.1, + any.hledger-interest ==1.6.5, + any.hledger-lib ==1.30, + any.hledger-stockquotes ==0.1.2.1, + any.hledger-ui ==1.30, + any.hledger-web ==1.30, + any.hlibcpuid ==0.2.0, + any.hlibgit2 ==0.18.0.16, + any.hlibsass ==0.1.10.1, + any.hlint ==3.5, + any.hmatrix ==0.20.2, + any.hmatrix-gsl ==0.19.0.1, + any.hmatrix-gsl-stats ==0.4.1.8, + any.hmatrix-morpheus ==0.1.1.2, + any.hmatrix-special ==0.19.0.0, + any.hmm-lapack ==0.5.0.1, + any.hmpfr ==0.4.5, + any.hoauth2 ==2.8.0, + any.hoogle ==5.0.18.3, + any.hopenssl ==2.2.5, + any.hopfli ==0.2.2.1, + any.horizontal-rule ==0.6.0.0, + any.hosc ==0.20, + any.hostname ==1.0, + any.hostname-validate ==1.0.0, + any.hourglass ==0.2.12, + any.hourglass-orphans ==0.1.0.0, + any.hp2pretty ==0.10, + any.hpack ==0.35.2, + any.hpack-dhall ==0.5.7, + any.hpc-codecov ==0.3.0.0, + any.hpc-lcov ==1.1.1, + any.hpp ==0.6.5, + any.hpqtypes ==1.11.1.1, + any.hpqtypes-extras ==1.16.4.3, + any.hreader ==1.1.0, + any.hreader-lens ==0.1.3.0, + any.hruby ==0.5.0.0, + any.hs-GeoIP ==0.3, + any.hs-bibutils ==6.10.0.0, + any.hs-php-session ==0.0.9.3, + any.hsass ==0.8.0, + any.hsc2hs ==0.68.9, + any.hscolour ==1.24.4, + any.hsdns ==1.8, + any.hse-cpp ==0.2, + any.hsemail ==2.2.1, + any.hset ==2.2.0, + any.hsignal ==0.2.7.5, + any.hsini ==0.5.2.1, + any.hsinstall ==2.8, + any.hslogger ==1.3.1.0, + any.hslua ==2.3.0, + any.hslua-aeson ==2.3.0.1, + any.hslua-classes ==2.3.0, + any.hslua-core ==2.3.1, + any.hslua-list ==1.1.1, + any.hslua-marshalling ==2.3.0, + any.hslua-module-doclayout ==1.1.0, + any.hslua-module-path ==1.1.0, + any.hslua-module-system ==1.1.0.1, + any.hslua-module-text ==1.1.0.1, + any.hslua-module-version ==1.1.0, + any.hslua-objectorientation ==2.3.0, + any.hslua-packaging ==2.3.0, + any.hslua-typing ==0.1.0, + any.hsndfile ==0.8.0, + any.hsndfile-vector ==0.5.2, + any.hsp ==0.10.0, + any.hspec ==2.10.10, + any.hspec-attoparsec ==0.1.0.2, + any.hspec-checkers ==0.1.0.2, + any.hspec-contrib ==0.5.2, + any.hspec-core ==2.10.10, + any.hspec-discover ==2.10.10, + any.hspec-expectations ==0.8.2, + any.hspec-expectations-json ==1.0.0.7, + any.hspec-expectations-lifted ==0.10.0, + any.hspec-expectations-pretty-diff ==0.7.2.6, + any.hspec-golden ==0.2.1.0, + any.hspec-golden-aeson ==0.9.0.0, + any.hspec-hedgehog ==0.0.1.2, + any.hspec-junit-formatter ==1.1.0.2, + any.hspec-leancheck ==0.0.6, + any.hspec-megaparsec ==2.2.0, + any.hspec-meta ==2.10.5, + any.hspec-parsec ==0, + any.hspec-smallcheck ==0.5.3, + any.hspec-tmp-proc ==0.5.1.2, + any.hspec-wai ==0.11.1, + any.hspec-wai-json ==0.11.0, + any.hspec-webdriver ==1.2.2, + any.hstatistics ==0.3.1, + any.hsx-jmacro ==7.3.8.2, + any.hsx2hs ==0.14.1.11, + any.hsyslog ==5.0.2, + any.htaglib ==1.2.0, + any.html ==1.0.1.2, + any.html-conduit ==1.3.2.2, + any.html-email-validate ==0.2.0.0, + any.html-entities ==1.1.4.6, + any.html-entity-map ==0.1.0.0, + any.htoml-megaparsec ==2.1.0.4, + any.htoml-parse ==0.1.0.1, + any.http-api-data ==0.5, + any.http-api-data-qq ==0.1.0.0, + any.http-client ==0.7.13.1, + any.http-client-openssl ==0.3.3, + any.http-client-overrides ==0.1.1.0, + any.http-client-restricted ==0.0.5, + any.http-client-tls ==0.3.6.1, + any.http-common ==0.8.3.4, + any.http-conduit ==2.3.8.1, + any.http-date ==0.0.11, + any.http-directory ==0.1.10, + any.http-download ==0.2.0.0, + any.http-io-streams ==0.1.6.2, + any.http-link-header ==1.2.1, + any.http-media ==0.8.0.0, + any.http-query ==0.1.3, + any.http-reverse-proxy ==0.6.0.1, + any.http-streams ==0.8.9.8, + any.http-types ==0.12.3, + any.http2 ==4.1.4, + any.httpd-shed ==0.4.1.1, + any.human-readable-duration ==0.2.1.4, + any.hunit-dejafu ==2.0.0.6, + any.hvect ==0.4.0.1, + any.hvega ==0.12.0.5, + any.hw-balancedparens ==0.4.1.3, + any.hw-bits ==0.7.2.2, + any.hw-conduit ==0.2.1.1, + any.hw-conduit-merges ==0.2.1.0, + any.hw-diagnostics ==0.0.1.0, + any.hw-eliasfano ==0.1.2.1, + any.hw-excess ==0.2.3.0, + any.hw-fingertree ==0.1.2.1, + any.hw-fingertree-strict ==0.1.2.1, + any.hw-hedgehog ==0.1.1.1, + any.hw-hspec-hedgehog ==0.1.1.1, + any.hw-int ==0.0.2.0, + any.hw-ip ==2.4.2.1, + any.hw-json-simd ==0.1.1.2, + any.hw-json-simple-cursor ==0.1.1.1, + any.hw-json-standard-cursor ==0.2.3.2, + any.hw-kafka-client ==4.0.3, + any.hw-mquery ==0.2.1.1, + any.hw-packed-vector ==0.2.1.1, + any.hw-parser ==0.1.1.0, + any.hw-prim ==0.6.3.2, + any.hw-rankselect ==0.13.4.1, + any.hw-rankselect-base ==0.3.4.1, + any.hw-simd ==0.1.2.2, + any.hw-string-parse ==0.0.0.5, + any.hw-succinct ==0.1.0.1, + any.hweblib ==0.6.3, + any.hwk ==0.6, + any.hworker ==0.1.0.1, + hxt +network-uri, + any.hxt ==9.3.1.22, + any.hxt-charproperties ==9.5.0.0, + any.hxt-css ==0.1.0.3, + any.hxt-curl ==9.1.1.1, + any.hxt-expat ==9.1.1, + hxt-http +network-uri, + any.hxt-http ==9.1.5.2, + any.hxt-regex-xmlschema ==9.2.0.7, + any.hxt-tagsoup ==9.1.4, + any.hxt-unicode ==9.0.2.4, + any.hybrid-vectors ==0.2.3, + any.hyper ==0.2.1.1, + any.hyperloglog ==0.4.6, + any.hyphenation ==0.8.2, + any.identicon ==0.2.2, + any.ieee754 ==0.8.0, + any.if ==0.1.0.0, + any.iff ==0.0.6.1, + any.ihs ==0.1.0.3, + any.imagesize-conduit ==1.1, + any.immortal ==0.3, + any.immortal-queue ==0.1.0.1, + any.inbox ==0.2.0, + any.incipit-base ==0.5.1.0, + any.incipit-core ==0.5.1.0, + any.include-file ==0.1.0.4, + any.incremental ==0.3.1, + any.indents ==0.5.0.1, + any.indexed ==0.1.3, + any.indexed-containers ==0.1.0.2, + any.indexed-list-literals ==0.2.1.3, + any.indexed-profunctors ==0.1.1.1, + any.indexed-traversable ==0.1.2.1, + any.indexed-traversable-instances ==0.1.1.2, + any.inf-backprop ==0.1.0.2, + any.infer-license ==0.2.0, + any.infinite-list ==0.1, + any.ini ==0.4.2, + any.inj ==1.0, + any.inline-c ==0.9.1.8, + any.inline-c-cpp ==0.5.0.1, + any.inline-r ==1.0.1, + any.input-parsers ==0.3.0.1, + any.insert-ordered-containers ==0.2.5.3, + any.inspection-testing ==0.5.0.2, + any.instance-control ==0.1.2.0, + any.integer-logarithms ==1.0.3.1, + any.integer-roots ==1.0.2.0, + any.integer-types ==0.1.4.0, + any.integration ==0.2.1, + any.intern ==0.9.4, + any.interpolate ==0.2.1, + any.interpolatedstring-perl6 ==1.0.2, + any.interpolation ==0.1.1.2, + any.intervals ==0.9.2, + any.intset-imperative ==0.1.0.0, + any.invariant ==0.6.1, + any.invert ==1.0.0.4, + any.invertible-grammar ==0.1.3.4, + any.io-machine ==0.2.0.0, + any.io-manager ==0.1.0.4, + any.io-memoize ==1.1.1.0, + any.io-region ==0.1.1, + any.io-storage ==0.3, + any.io-streams ==1.5.2.2, + any.io-streams-haproxy ==1.0.1.0, + any.ip ==1.7.6, + any.ip6addr ==1.0.3, + any.iproute ==1.7.12, + any.ipynb ==0.2, + any.ipython-kernel ==0.10.3.0, + any.irc ==0.6.1.0, + any.irc-ctcp ==0.1.3.1, + any.isbn ==1.1.0.4, + any.islink ==0.1.0.0, + any.iso3166-country-codes ==0.20140203.8, + any.iso639 ==0.1.0.3, + any.iso8601-time ==0.1.5, + any.isocline ==1.0.9, + any.isomorphism-class ==0.1.0.9, + any.iterable ==3.0, + any.ix-shapable ==0.1.0, + any.jack ==0.7.2.2, + any.jailbreak-cabal ==1.4, + any.jalaali ==1.0.0.0, + any.java-adt ==0.2018.11.4, + any.jira-wiki-markup ==1.5.1, + any.jl ==0.1.0, + any.jmacro ==0.6.18, + any.jose ==0.10, + any.jose-jwt ==0.9.6, + any.journalctl-stream ==0.6.0.4, + any.js-chart ==2.9.4.1, + any.js-dgtable ==0.5.2, + any.js-flot ==0.8.3, + any.js-jquery ==3.3.1, + any.json ==0.10, + any.json-feed ==2.0.0.9, + any.json-rpc ==1.0.4, + any.json-stream ==0.4.5.3, + any.jsonifier ==0.2.1.2, + any.jsonpath ==0.3.0.0, + any.junit-xml ==0.1.0.2, + any.justified-containers ==0.3.0.0, + any.jwt ==0.11.0, + any.kan-extensions ==5.2.5, + any.kansas-comet ==0.4.1, + any.katip ==0.8.7.4, + any.katip-logstash ==0.1.0.2, + any.katip-wai ==0.1.2.2, + any.kazura-queue ==0.1.0.4, + any.kdt ==0.2.5, + any.keep-alive ==0.2.1.0, + any.keter ==2.1.2, + any.keycode ==0.2.2, + any.keyed-vals ==0.2.2.0, + any.keyed-vals-hspec-tests ==0.2.2.0, + any.keyed-vals-mem ==0.2.2.0, + any.keyed-vals-redis ==0.2.2.0, + any.keys ==3.12.3, + any.ki ==1.0.1.0, + any.ki-unlifted ==1.0.0.1, + any.kind-apply ==0.4.0.0, + any.kind-generics ==0.5.0.0, + any.kind-generics-th ==0.2.3.3, + any.kleene ==0.1, + any.kmeans ==0.1.3, + any.knob ==0.2.2, + any.koji ==0.0.2, + any.krank ==0.3.0, + any.labels ==0.3.3, + any.lackey ==2.0.0.6, + any.lame ==0.2.1, + any.language-avro ==0.1.4.0, + any.language-bash ==0.9.2, + any.language-c ==0.9.2, + any.language-c-quote ==0.13.0.1, + any.language-docker ==12.1.0, + any.language-dot ==0.1.1, + any.language-glsl ==0.3.0, + any.language-java ==0.2.9, + any.language-javascript ==0.7.1.0, + any.language-nix ==2.2.0, + any.language-protobuf ==1.0.1, + any.language-python ==0.5.8, + any.language-thrift ==0.12.0.1, + any.lapack ==0.5.1, + any.lapack-carray ==0.0.3, + any.lapack-comfort-array ==0.0.1, + any.lapack-ffi ==0.0.3, + any.lapack-ffi-tools ==0.1.3.1, + any.lapack-hmatrix ==0.0.0.2, + any.largeword ==1.2.5, + any.latex ==0.1.0.4, + any.lattices ==2.1, + any.lawful ==0.1.0.0, + any.lazy-csv ==0.5.1, + any.lazyio ==0.1.0.4, + any.lazysmallcheck ==0.6, + any.lca ==0.4, + any.leancheck ==1.0.0, + any.leancheck-instances ==0.0.5, + any.leapseconds-announced ==2017.1.0.1, + any.learn-physics ==0.6.5, + any.leb128-cereal ==1.2, + any.lens ==5.2.2, + any.lens-action ==0.2.6, + any.lens-aeson ==1.2.3, + any.lens-csv ==0.1.1.0, + any.lens-family ==2.1.2, + any.lens-family-core ==2.1.2, + any.lens-misc ==0.0.2.0, + any.lens-properties ==4.11.1, + any.lens-regex ==0.1.3, + any.lens-regex-pcre ==1.1.0.0, + any.lentil ==1.5.6.0, + any.leveldb-haskell ==0.6.5, + any.lexer-applicative ==2.1.0.2, + any.libBF ==0.6.6, + any.libffi ==0.2.1, + any.libgit ==0.3.1, + any.liboath-hs ==0.0.1.2, + any.libyaml ==0.1.2, + any.lift-generics ==0.2.1, + any.lift-type ==0.1.1.1, + any.lifted-async ==0.10.2.4, + any.lifted-base ==0.2.3.12, + any.line ==4.0.1, + any.linear ==1.22, + any.linear-base ==0.3.1, + any.linear-circuit ==0.1.0.4, + any.linear-generics ==0.2.1, + any.linear-programming ==0.0, + any.linebreak ==1.1.0.4, + any.linux-capabilities ==0.1.1.0, + any.linux-file-extents ==0.2.0.0, + any.linux-namespaces ==0.1.3.0, + any.list-predicate ==0.1.0.1, + any.list-t ==1.0.5.6, + any.list-transformer ==1.0.9, + any.listsafe ==0.1.0.1, + any.literatex ==0.3.0.0, + any.lmdb ==0.2.5, + any.load-env ==0.2.1.0, + any.loc ==0.1.4.1, + any.locators ==0.3.0.3, + any.loch-th ==0.2.2, + any.lockfree-queue ==0.2.4, + any.log-base ==0.12.0.1, + any.log-domain ==0.13.2, + any.logfloat ==0.14.0, + any.logger-thread ==0.1.0.2, + any.logging ==3.0.5, + any.logging-effect ==1.4.0, + any.logging-facade ==0.3.1, + any.logging-facade-syslog ==1, + any.logict ==0.8.0.0, + any.logstash ==0.1.0.4, + any.loop ==0.3.0, + any.lpeg ==1.0.4, + any.lrucache ==1.2.0.1, + any.lsp ==2.0.0.0, + any.lsp-test ==0.15.0.0, + any.lsp-types ==2.0.1.0, + any.lua ==2.3.1, + any.lua-arbitrary ==1.0.1.1, + any.lucid ==2.11.20230408, + any.lucid-cdn ==0.2.2.0, + any.lucid-extras ==0.2.2, + any.lucid2 ==0.0.20230706, + any.lukko ==0.1.1.3, + any.lz4 ==0.2.3.1, + any.lz4-frame-conduit ==0.1.0.1, + any.lzma ==0.0.1.0, + any.lzma-clib ==5.2.2, + any.lzma-conduit ==1.2.3, + any.machines ==0.7.3, + any.magic ==1.1, + any.magico ==0.0.2.3, + any.mail-pool ==2.2.3, + any.main-tester ==0.2.0.1, + any.mainland-pretty ==0.7.1, + any.managed ==1.0.10, + any.mandrill ==0.5.7.0, + any.map-syntax ==0.3, + any.markdown ==0.1.17.5, + any.markdown-unlit ==0.5.1, + any.markov-chain ==0.0.3.4, + any.markov-chain-usage-model ==0.0.0, + any.mason ==0.2.6, + any.massiv ==1.0.4.0, + any.massiv-io ==1.0.0.1, + any.massiv-serialise ==1.0.0.2, + any.massiv-test ==1.0.0.0, + any.matchable ==0.1.2.1, + any.math-extras ==0.1.1.0, + any.math-functions ==0.3.4.2, + any.mathexpr ==0.3.1.0, + any.mathlist ==0.2.0.0, + any.matplotlib ==0.7.7, + any.matrices ==0.5.0, + any.matrix ==0.3.6.1, + any.matrix-as-xyz ==0.1.2.2, + any.matrix-market-attoparsec ==0.1.1.3, + any.matrix-static ==0.3, + any.maximal-cliques ==0.1.1, + any.mbox-utility ==0.0.3.1, + any.mcmc ==0.8.2.0, + any.mcmc-types ==1.0.3, + any.med-module ==0.1.3, + any.median-stream ==0.7.0.0, + any.mega-sdist ==0.4.3.0, + any.megaparsec ==9.3.1, + any.megaparsec-tests ==9.3.1, + any.membership ==0.0.1, + any.memcache ==0.3.0.1, + any.memfd ==1.0.1.3, + any.memory ==0.18.0, + any.mergeful ==0.3.0.0, + any.mergeless ==0.4.0.0, + any.merkle-tree ==0.1.1, + any.mersenne-random ==1.0.0.1, + mersenne-random-pure64 -small_base, + any.mersenne-random-pure64 ==0.2.2.0, + any.messagepack ==0.5.5, + any.metrics ==0.4.1.1, + any.mfsolve ==0.3.2.2, + any.microaeson ==0.1.0.1, + any.microlens ==0.4.13.1, + any.microlens-aeson ==2.5.0, + any.microlens-contra ==0.1.0.3, + any.microlens-ghc ==0.4.14.1, + any.microlens-mtl ==0.2.0.3, + any.microlens-platform ==0.4.3.3, + any.microlens-th ==0.4.3.13, + any.microspec ==0.2.1.3, + any.microstache ==1.0.2.3, + any.midair ==0.2.0.1, + any.midi ==0.2.2.4, + any.midi-alsa ==0.2.1, + any.midi-music-box ==0.0.1.2, + any.mighty-metropolis ==2.0.0, + any.mime-mail ==0.5.1, + any.mime-mail-ses ==0.4.3, + any.mime-types ==0.1.1.0, + any.min-max-pqueue ==0.1.0.2, + any.minimal-configuration ==0.1.4, + any.minimorph ==0.3.0.1, + any.minio-hs ==1.7.0, + any.minisat-solver ==0.1, + any.miniutter ==0.5.1.2, + mintty -win32-2-13-1, + any.mintty ==0.1.4, + any.misfortune ==0.1.2.1, + any.missing-foreign ==0.1.1, + any.mixed-types-num ==0.5.11, + any.mmap ==0.5.9, + any.mmark ==0.0.7.6, + any.mmark-cli ==0.0.5.1, + any.mmark-ext ==0.2.1.5, + any.mmorph ==1.2.0, + any.mnist-idx ==0.1.3.2, + any.mnist-idx-conduit ==0.4.0.0, + any.mock-time ==0.1.0, + any.mockery ==0.3.5, + any.mod ==0.2.0.1, + any.model ==0.5, + any.modern-uri ==0.3.6.0, + any.modular ==0.1.0.8, + any.monad-chronicle ==1.0.1, + any.monad-control ==1.0.3.1, + any.monad-control-identity ==0.2.0.0, + any.monad-coroutine ==0.9.2, + any.monad-extras ==0.6.0, + any.monad-journal ==0.8.1, + any.monad-logger ==0.3.40, + any.monad-logger-aeson ==0.4.1.1, + any.monad-logger-json ==0.1.0.0, + any.monad-logger-logstash ==0.2.0.2, + any.monad-loops ==0.4.3, + any.monad-memo ==0.5.4, + any.monad-par ==0.3.5, + any.monad-par-extras ==0.3.3, + any.monad-parallel ==0.8, + any.monad-peel ==0.2.1.2, + any.monad-primitive ==0.1, + any.monad-products ==4.0.1, + any.monad-resumption ==0.1.4.0, + any.monad-st ==0.2.4.1, + any.monad-time ==0.4.0.0, + any.monadic-arrays ==0.2.2, + any.monadlist ==0.0.2, + any.monadloc ==0.7.1, + any.monadoid ==0.0.3, + any.monadology ==0.1, + any.monads-tf ==0.1.0.3, + mongoDB -_old-network, + any.mongoDB ==2.7.1.2, + any.mono-traversable ==1.0.15.3, + any.mono-traversable-instances ==0.1.1.0, + any.mono-traversable-keys ==0.3.0, + any.monoid-extras ==0.6.2, + any.monoid-subclasses ==1.2.3, + any.monoid-transformer ==0.0.4, + any.monoidal-containers ==0.6.4.0, + any.more-containers ==0.2.2.2, + any.morpheus-graphql ==0.27.3, + any.morpheus-graphql-app ==0.27.3, + any.morpheus-graphql-client ==0.27.3, + any.morpheus-graphql-code-gen ==0.27.3, + any.morpheus-graphql-code-gen-utils ==0.27.3, + any.morpheus-graphql-core ==0.27.3, + any.morpheus-graphql-server ==0.27.3, + any.morpheus-graphql-subscriptions ==0.27.3, + any.morpheus-graphql-tests ==0.27.3, + any.moss ==0.2.0.1, + any.mountpoints ==1.0.2, + any.mpi-hs ==0.7.2.0, + any.mpi-hs-binary ==0.1.1.0, + any.mpi-hs-cereal ==0.1.0.0, + any.mstate ==0.2.8, + any.mtl-compat ==0.2.2, + any.mtl-prelude ==2.0.3.2, + any.multi-containers ==0.2, + any.multiarg ==0.30.0.10, + any.multimap ==1.2.1, + any.multipart ==0.2.1, + any.multiset ==0.3.4.3, + any.murmur-hash ==0.1.0.10, + any.murmur3 ==1.0.5, + any.mustache ==2.4.2, + any.mutable-containers ==0.3.4.1, + any.mwc-probability ==2.3.1, + any.mwc-random ==0.15.0.2, + any.mwc-random-monad ==0.7.3.1, + any.mx-state-codes ==1.0.0.0, + any.mysql ==0.2.1, + any.mysql-simple ==0.4.9, + any.n2o ==0.11.1, + any.n2o-nitro ==0.11.2, + any.nagios-check ==0.3.2, + any.named ==0.3.0.1, + any.names-th ==0.3.0.1, + any.nano-erl ==0.1.0.1, + any.nanospec ==0.2.2, + any.nanovg ==0.8.1.0, + any.nats ==1.1.2, + any.natural-arithmetic ==0.1.4.0, + any.natural-induction ==0.2.0.0, + any.natural-sort ==0.1.2, + any.natural-transformation ==0.4, + any.ndjson-conduit ==0.1.0.5, + any.neat-interpolation ==0.5.1.3, + any.net-mqtt ==0.8.3.0, + any.net-mqtt-lens ==0.1.1.0, + any.netcode-io ==0.0.3, + any.netlib-carray ==0.1, + any.netlib-comfort-array ==0.0.0.2, + any.netlib-ffi ==0.1.1, + any.netpbm ==1.0.4, + any.netrc ==0.2.0.0, + any.nettle ==0.3.0, + any.netwire ==5.0.3, + any.netwire-input ==0.0.7, + any.netwire-input-glfw ==0.0.11, + any.network ==3.1.4.0, + any.network-bsd ==2.8.1.0, + any.network-byte-order ==0.1.6, + any.network-conduit-tls ==1.3.2, + any.network-info ==0.2.1, + any.network-ip ==0.3.0.3, + any.network-messagepack-rpc ==0.1.2.0, + any.network-messagepack-rpc-websocket ==0.1.1.1, + any.network-multicast ==0.3.2, + any.network-run ==0.2.6, + any.network-simple ==0.4.5, + any.network-simple-tls ==0.4.1, + any.network-transport ==0.5.6, + any.network-uri ==2.6.4.2, + any.network-wait ==0.2.0.0, + any.newtype ==0.2.2.0, + any.newtype-generics ==0.6.2, + any.nfc ==0.1.1, + any.nicify-lib ==1.0.1, + any.nix-derivation ==1.1.2, + nix-paths +allow-relative-paths, + any.nix-paths ==1.0.1, + any.no-value ==1.0.0.0, + any.non-empty ==0.3.3, + any.non-empty-sequence ==0.2.0.4, + any.non-negative ==0.1.2, + any.nonce ==1.0.7, + any.nondeterminism ==1.5, + any.nonempty-containers ==0.3.4.4, + any.nonempty-vector ==0.2.2.0, + any.nonempty-zipper ==1.0.0.4, + any.nonemptymap ==0.0.6.0, + any.normaldistribution ==1.1.0.3, + any.not-gloss ==0.7.7.0, + any.nothunks ==0.1.4, + any.nowdoc ==0.1.1.0, + any.nqe ==0.6.4, + any.nsis ==0.3.3, + any.numbers ==3000.2.0.2, + any.numeric-extras ==0.1, + any.numeric-limits ==0.1.0.0, + any.numeric-prelude ==0.4.4, + any.numeric-quest ==0.2.0.2, + any.numhask ==0.10.1.1, + any.numhask-array ==0.10.2, + any.numtype-dk ==0.5.0.3, + any.nuxeo ==0.3.2, + any.nvim-hs ==2.3.2.3, + any.nvim-hs-contrib ==2.0.0.2, + any.nvim-hs-ghcid ==2.0.1.0, + any.o-clock ==1.3.0, + any.oauthenticated ==0.3.0.0, + any.oblivious-transfer ==0.1.0, + any.ofx ==0.4.4.0, + any.oidc-client ==0.7.0.1, + any.old-locale ==1.0.0.7, + any.old-time ==1.1.0.3, + any.once ==0.4, + any.one-liner ==2.1, + any.one-liner-instances ==0.1.3.0, + any.oo-prototypes ==0.1.0.0, + any.oops ==0.2.0.1, + any.opaleye ==0.9.7.0, + any.open-browser ==0.2.1.0, + any.open-witness ==0.6, + any.openapi3 ==3.2.3, + any.openexr-write ==0.1.0.2, + any.openpgp-asciiarmor ==0.1.2, + any.opensource ==0.1.1.0, + any.openssl-streams ==1.2.3.0, + any.opentelemetry ==0.8.0, + any.opentelemetry-extra ==0.8.0, + any.opentelemetry-lightstep ==0.8.0, + any.opentelemetry-wai ==0.8.0, + any.operational ==0.2.4.2, + any.operational-class ==0.3.0.0, + any.opml-conduit ==0.9.0.0, + any.optics ==0.4.2.1, + any.optics-core ==0.4.1.1, + any.optics-extra ==0.4.2.1, + any.optics-operators ==0.1.0.1, + any.optics-th ==0.4.1, + any.optics-vl ==0.2.1, + any.optima ==0.4.0.4, + any.optional-args ==1.0.2, + any.options ==1.2.1.1, + any.optparse-applicative ==0.17.1.0, + any.optparse-enum ==1.0.0.0, + any.optparse-generic ==1.4.9, + any.optparse-simple ==0.1.1.4, + any.optparse-text ==0.1.1.0, + any.ordered-containers ==0.2.3, + any.ormolu ==0.5.3.0, + any.overhang ==1.0.0, + any.packcheck ==0.6.0, + any.pager ==0.1.1.0, + any.pagination ==0.2.2, + any.pagure ==0.1.1, + any.pagure-cli ==0.2.1, + any.palette ==0.3.0.3, + any.pandoc ==3.0.1, + any.pandoc-dhall-decoder ==0.1.0.1, + any.pandoc-lua-marshal ==0.2.2, + any.pandoc-plot ==1.7.0, + any.pandoc-symreg ==0.2.0.0, + any.pandoc-throw ==0.1.0.0, + any.pandoc-types ==1.23.0.1, + any.pango ==0.13.10.0, + any.pantry ==0.8.3, + any.parallel ==3.2.2.0, + any.parallel-io ==0.3.5, + any.parameterized ==0.5.0.0, + any.parseargs ==0.2.0.9, + any.parsec-class ==1.0.0.0, + any.parsec-numbers ==0.1.0, + any.parsec-numeric ==0.1.0.0, + any.parser-combinators ==1.3.0, + any.parser-combinators-tests ==1.3.0, + any.parsers ==0.12.11, + any.partial-handler ==1.0.3, + any.partial-isomorphisms ==0.2.3.0, + any.partial-order ==0.2.0.0, + any.partial-semigroup ==0.6.0.2, + any.password ==3.0.2.1, + any.password-instances ==3.0.0.0, + any.password-types ==1.0.0.0, + any.path ==0.9.2, + any.path-binary-instance ==0.1.0.1, + any.path-dhall-instance ==0.2.1.0, + any.path-extensions ==0.1.1.0, + any.path-extra ==0.2.0, + any.path-io ==1.8.1, + any.path-like ==0.2.0.2, + any.path-pieces ==0.2.1, + any.path-text-utf8 ==0.0.1.12, + any.path-utils ==0.1.1.0, + pathtype -old-time, + any.pathtype ==0.8.1.2, + any.pathwalk ==0.3.1.2, + any.patrol ==1.0.0.5, + any.pattern-arrows ==0.0.2, + any.pava ==0.1.1.4, + any.pcf-font ==0.2.2.1, + any.pcg-random ==0.1.4.0, + any.pcre-heavy ==1.0.0.3, + any.pcre-light ==0.4.1.0, + any.pcre-utils ==0.1.9, + any.pcre2 ==2.2.1, + any.pdc ==0.1.1, + any.pdf-toolbox-content ==0.1.1, + any.pdf-toolbox-core ==0.1.1, + any.pdf-toolbox-document ==0.1.2, + any.peano ==0.1.0.1, + any.pedersen-commitment ==0.2.0, + any.pem ==0.2.4, + any.percent-format ==0.0.4, + any.perfect-hash-generator ==1.0.0, + any.persistent ==2.14.5.1, + any.persistent-discover ==0.1.0.6, + any.persistent-documentation ==0.1.0.4, + any.persistent-iproute ==0.2.5, + any.persistent-lens ==1.0.0, + any.persistent-mongoDB ==2.13.0.1, + any.persistent-mtl ==0.5.0.1, + any.persistent-mysql ==2.13.1.4, + any.persistent-pagination ==0.1.1.2, + any.persistent-postgresql ==2.13.5.2, + any.persistent-qq ==2.12.0.5, + any.persistent-redis ==2.13.0.1, + any.persistent-refs ==0.4, + any.persistent-sqlite ==2.13.1.1, + any.persistent-template ==2.12.0.0, + any.persistent-test ==2.13.1.3, + any.persistent-typed-db ==0.1.0.7, + any.pg-harness-client ==0.6.0, + any.pg-transact ==0.3.2.0, + any.pgp-wordlist ==0.1.0.3, + any.phantom-state ==0.2.1.2, + any.phatsort ==0.6.0.0, + any.picosat ==0.1.6, + any.pid1 ==0.1.3.1, + any.pinch ==0.4.3.0, + any.pipes ==4.3.16, + any.pipes-attoparsec ==0.6.0, + any.pipes-bytestring ==2.1.7, + any.pipes-concurrency ==2.0.14, + any.pipes-csv ==1.4.3, + any.pipes-extras ==1.0.15, + any.pipes-fastx ==0.3.0.0, + any.pipes-fluid ==0.6.0.1, + any.pipes-group ==1.0.12, + any.pipes-http ==1.0.6, + any.pipes-mongodb ==0.1.0.0, + any.pipes-ordered-zip ==1.2.1, + any.pipes-parse ==3.0.9, + any.pipes-random ==1.0.0.5, + any.pipes-safe ==2.3.4, + any.pipes-text ==1.0.1, + any.pipes-wai ==3.2.0, + any.pkgtreediff ==0.6.0, + any.place-cursor-at ==1.0.1, + any.placeholders ==0.1, + any.plaid ==0.1.0.4, + any.plot ==0.2.3.11, + any.plotlyhs ==0.2.3, + any.pointed ==5.0.4, + any.pointedlist ==0.6.1, + any.pointless-fun ==1.1.0.8, + any.poll ==0.0.0.2, + any.poly-arity ==0.1.0, + any.polynomials-bernstein ==1.1.2, + any.polyparse ==1.13, + any.polysemy ==1.9.1.0, + any.polysemy-fs ==0.1.0.0, + any.polysemy-plugin ==0.4.5.0, + any.polysemy-webserver ==0.2.1.2, + any.pontarius-xmpp ==0.5.6.6, + any.pooled-io ==0.0.2.3, + any.port-utils ==0.2.1.0, + any.portable-lines ==0.1, + any.posix-paths ==0.3.0.0, + any.posix-pty ==0.2.2, + any.possibly ==1.0.0.0, + any.post-mess-age ==0.2.1.0, + any.postgres-options ==0.2.0.0, + any.postgresql-binary ==0.13.1, + any.postgresql-libpq ==0.9.5.0, + any.postgresql-libpq-notify ==0.2.0.0, + any.postgresql-migration ==0.2.1.7, + any.postgresql-schema ==0.1.14, + any.postgresql-simple ==0.6.5.1, + any.postgresql-simple-url ==0.2.1.0, + any.postgresql-syntax ==0.4.1, + any.postgresql-typed ==0.6.2.2, + any.pptable ==0.3.0.0, + any.pqueue ==1.4.3.0, + any.prairie ==0.0.2.0, + any.prefix-units ==0.3.0.1, + any.prelude-compat ==0.0.0.2, + any.prelude-safeenum ==0.1.1.3, + any.pretty-class ==1.0.1.1, + any.pretty-hex ==1.1, + any.pretty-relative-time ==0.3.0.0, + any.pretty-show ==1.10, + any.pretty-simple ==4.1.2.0, + any.pretty-sop ==0.2.0.3, + any.pretty-terminal ==0.1.0.0, + any.pretty-types ==0.4.0.0, + any.prettyclass ==1.0.0.0, + any.prettyprinter ==1.7.1, + any.prettyprinter-ansi-terminal ==1.1.3, + any.prettyprinter-combinators ==0.1.1.1, + any.prettyprinter-compat-annotated-wl-pprint ==1.1, + any.prettyprinter-compat-ansi-wl-pprint ==1.0.2, + any.prettyprinter-compat-wl-pprint ==1.0.1, + any.prettyprinter-convert-ansi-wl-pprint ==1.1.2, + any.prim-uniq ==0.2, + any.primes ==0.2.1.0, + any.primitive ==0.8.0.0, + any.primitive-addr ==0.1.0.2, + any.primitive-extras ==0.10.1.7, + any.primitive-offset ==0.2.0.0, + any.primitive-unaligned ==0.1.1.2, + any.primitive-unlifted ==0.1.3.1, + any.print-console-colors ==0.1.0.0, + any.probability ==0.2.8, + any.process-extras ==0.7.4, + any.product-profunctors ==0.11.1.1, + any.profiterole ==0.1, + any.profunctors ==5.6.2, + any.project-template ==0.2.1.0, + any.projectroot ==0.2.0.1, + any.prometheus-client ==1.1.1, + any.prometheus-metrics-ghc ==1.0.1.2, + any.promises ==0.3, + any.prompt ==0.1.1.2, + any.prospect ==0.1.0.0, + any.proto-lens ==0.7.1.3, + any.proto-lens-optparse ==0.1.1.10, + any.proto-lens-runtime ==0.7.0.4, + any.protobuf ==0.2.1.3, + any.protobuf-simple ==0.1.1.1, + any.protocol-radius ==0.0.1.1, + any.protocol-radius-test ==0.1.0.1, + any.protolude ==0.3.3, + any.proxied ==0.3.1, + any.psql-helpers ==0.1.0.0, + any.psqueues ==0.2.7.3, + any.pthread ==0.2.1, + any.ptr ==0.16.8.4, + any.ptr-poker ==0.1.2.13, + any.pulse-simple ==0.1.14, + any.pureMD5 ==2.1.4, + any.purescript-bridge ==0.15.0.0, + any.pusher-http-haskell ==2.1.0.15, + any.pvar ==1.0.0.0, + any.pwstore-fast ==2.4.4, + any.qchas ==1.1.0.1, + any.qm-interpolated-string ==0.3.1.0, + any.qrcode-core ==0.9.8, + any.qrcode-juicypixels ==0.8.5, + any.quaalude ==0.0.0.1, + any.quadratic-irrational ==0.1.1, + any.quickcheck-arbitrary-adt ==0.3.1.0, + any.quickcheck-assertions ==0.3.0, + any.quickcheck-classes ==0.6.5.0, + any.quickcheck-classes-base ==0.6.2.0, + any.quickcheck-groups ==0.0.0.0, + any.quickcheck-higherorder ==0.1.0.1, + any.quickcheck-instances ==0.3.29.1, + any.quickcheck-io ==0.2.0, + any.quickcheck-monoid-subclasses ==0.1.0.0, + any.quickcheck-simple ==0.1.1.1, + any.quickcheck-special ==0.1.0.6, + any.quickcheck-state-machine ==0.7.3, + any.quickcheck-text ==0.1.2.1, + any.quickcheck-transformer ==0.3.1.2, + any.quickcheck-unicode ==1.0.1.0, + any.quicklz ==1.5.0.11, + any.quiet ==0.2, + any.quote-quot ==0.2.1.0, + any.radius ==0.7.1.0, + any.rainbow ==0.34.2.2, + any.rainbox ==0.26.0.0, + any.ral ==0.2.1, + any.rampart ==2.0.0.6, + any.ramus ==0.1.2, + any.rando ==0.0.0.4, + any.random ==1.2.1.1, + any.random-bytestring ==0.1.4, + any.random-fu ==0.3.0.1, + any.random-shuffle ==0.0.4, + any.random-tree ==0.6.0.5, + any.range ==0.3.0.2, + any.range-set-list ==0.1.3.1, + any.ranged-list ==0.1.2.1, + any.ranges ==0.2.4, + any.rank1dynamic ==0.4.1, + any.rasterific-svg ==0.3.3.2, + any.rate-limit ==1.4.3, + any.ratel ==2.0.0.9, + any.ratel-wai ==2.0.0.4, + any.ratio-int ==0.1.2, + any.rattle ==0.2, + any.rattletrap ==12.0.3, + any.raw-strings-qq ==1.1, + any.rawfilepath ==1.0.1, + any.rawstring-qm ==0.2.3.0, + any.rcu ==0.2.6, + any.rdf ==0.1.0.7, + any.rdtsc ==1.3.0.1, + any.re2 ==0.3, + any.reactive-balsa ==0.4.0.1, + any.reactive-banana ==1.3.2.0, + any.reactive-banana-bunch ==1.0.0.1, + any.reactive-jack ==0.4.1.2, + any.reactive-midyim ==0.4.1.1, + any.read-editor ==0.1.0.2, + any.read-env-var ==1.0.0.0, + any.readable ==0.3.1, + any.rebase ==1.19, + any.rec-def ==0.2.1, + any.record-dot-preprocessor ==0.2.16, + any.record-hasfield ==1.0, + any.recursion-schemes ==5.2.2.4, + any.recv ==0.1.0, + any.redact ==0.5.0.0, + any.reddit-scrape ==0.0.1, + any.redis-glob ==0.1.0.5, + any.reducers ==3.12.4, + any.ref-fd ==0.5.0.1, + any.ref-tf ==0.5.0.1, + any.refact ==0.3.0.2, + any.refined ==0.8.1, + any.refinery ==0.4.0.0, + any.reflection ==2.1.7, + any.reform ==0.2.7.5, + any.reform-blaze ==0.2.4.4, + any.reform-happstack ==0.2.5.6, + any.regex ==1.1.0.2, + any.regex-applicative ==0.3.4, + any.regex-applicative-text ==0.1.0.1, + any.regex-base ==0.94.0.2, + any.regex-compat ==0.95.2.1, + any.regex-pcre ==0.95.0.0, + any.regex-pcre-builtin ==0.95.2.3.8.44, + any.regex-posix ==0.96.0.1, + any.regex-posix-clib ==2.7, + any.regex-tdfa ==1.3.2.2, + any.regex-with-pcre ==1.1.0.2, + any.reinterpret-cast ==0.1.0, + any.rel8 ==1.4.1.0, + any.relapse ==1.0.0.1, + any.reliable-io ==0.0.2, + any.relude ==1.2.0.0, + any.renderable ==0.2.0.1, + any.replace-attoparsec ==1.5.0.0, + any.replace-megaparsec ==1.5.0.1, + any.req ==3.13.0, + any.req-conduit ==1.0.1, + any.rerebase ==1.19, + any.reroute ==0.7.0.0, + any.resistor-cube ==0.0.1.4, + any.resolv ==0.2.0.2, + any.resource-pool ==0.4.0.0, + any.resourcet ==1.2.6, + any.rest-rewrite ==0.4.2, + any.result ==0.2.6.0, + any.retry ==0.9.3.1, + any.rev-state ==0.1.2, + any.rex ==0.6.2, + any.rfc1751 ==0.1.3, + any.rfc5051 ==0.2, + any.rg ==1.4.0.0, + any.rhbzquery ==0.4.4, + any.riak-protobuf ==0.25.0.0, + any.rio ==0.1.22.0, + any.rio-orphans ==0.1.2.0, + any.rio-prettyprint ==0.1.4.0, + any.rng-utils ==0.3.1, + any.rocksdb-haskell ==1.0.1, + any.rocksdb-haskell-jprupp ==2.1.4, + any.rocksdb-query ==0.4.2, + any.roles ==0.2.1.0, + any.rollbar ==1.1.3, + any.rope-utf16-splay ==0.4.0.0, + any.rosezipper ==0.2, + any.rot13 ==0.2.0.1, + any.row-types ==1.0.1.2, + any.rp-tree ==0.7.1, + any.rpm-nvr ==0.1.2, + any.rpmbuild-order ==0.4.10, + any.rrb-vector ==0.2.0.0, + any.rss ==3000.2.0.7, + any.rss-conduit ==0.6.0.1, + any.run-haskell-module ==0.0.2, + any.run-st ==0.1.3.0, + any.runmemo ==1.0.0.1, + any.rvar ==0.3.0.2, + any.s3-signer ==0.5.0.0, + any.safe ==0.3.19, + any.safe-coloured-text ==0.2.0.1, + any.safe-coloured-text-gen ==0.0.0.1, + any.safe-coloured-text-layout ==0.0.0.0, + any.safe-coloured-text-layout-gen ==0.0.0.0, + any.safe-coloured-text-terminfo ==0.1.0.0, + any.safe-decimal ==0.2.1.0, + any.safe-exceptions ==0.1.7.4, + any.safe-exceptions-checked ==0.1.0, + any.safe-foldable ==0.1.0.0, + any.safe-gen ==1.0.1, + any.safe-json ==1.1.4.0, + any.safe-money ==0.9.1, + any.safecopy ==0.10.4.2, + any.safeio ==0.0.5.0, + any.saltine ==0.2.1.0, + any.salve ==2.0.0.3, + any.sample-frame ==0.0.4, + any.sample-frame-np ==0.0.5, + any.sampling ==0.3.5, + any.sandi ==0.5, + any.sandwich ==0.1.5.0, + any.sandwich-hedgehog ==0.1.3.0, + any.sandwich-quickcheck ==0.1.0.7, + any.sandwich-slack ==0.1.2.0, + any.sandwich-webdriver ==0.2.3.0, + any.say ==0.1.0.1, + any.sbp ==4.15.0, + any.sbv ==10.2, + any.scalpel ==0.6.2.1, + any.scalpel-core ==0.6.2.1, + any.scanf ==0.1.0.0, + any.scanner ==0.3.1, + any.scheduler ==2.0.0.1, + any.scientific ==0.3.7.0, + any.scientist ==0.0.0.0, + any.scotty ==0.12.1, + any.scrypt ==0.5.0, + sdl2 -recent-ish, + any.sdl2 ==2.5.5.0, + any.sdl2-gfx ==0.3.0.0, + any.sdl2-image ==2.1.0.0, + any.sdl2-mixer ==1.2.0.0, + any.sdl2-ttf ==2.1.3, + any.search-algorithms ==0.3.2, + any.secp256k1-haskell ==0.6.1, + any.securemem ==0.1.10, + any.selections ==0.3.0.0, + any.selective ==0.7, + any.semialign ==1.3, + any.semigroupoid-extras ==5, + any.semigroupoids ==5.3.7, + any.semigroups ==0.20, + any.semiring-simple ==1.0.0.1, + any.semirings ==0.6, + any.semver ==0.4.0.1, + any.sendfile ==0.7.11.4, + any.sendgrid-v3 ==1.0.0.1, + any.seqalign ==0.2.0.4, + any.seqid ==0.6.3, + any.seqid-streams ==0.7.2, + any.sequence-formats ==1.7.1, + any.sequenceTools ==1.5.3.1, + any.serialise ==0.2.6.0, + any.servant ==0.19.1, + any.servant-auth ==0.4.1.0, + any.servant-auth-client ==0.4.1.1, + any.servant-auth-docs ==0.2.10.0, + any.servant-auth-wordpress ==1.0.0.2, + any.servant-blaze ==0.9.1, + any.servant-cassava ==0.10.2, + any.servant-checked-exceptions ==2.2.0.1, + any.servant-checked-exceptions-core ==2.2.0.1, + any.servant-client ==0.19, + any.servant-client-core ==0.19, + any.servant-conduit ==0.15.1, + any.servant-docs ==0.12, + any.servant-elm ==0.7.3, + any.servant-exceptions ==0.2.1, + any.servant-exceptions-server ==0.2.1, + any.servant-foreign ==0.15.4, + any.servant-http-streams ==0.18.4, + any.servant-lucid ==0.9.0.6, + any.servant-machines ==0.15.1, + any.servant-multipart ==0.12.1, + any.servant-multipart-api ==0.12.1, + any.servant-multipart-client ==0.12.1, + any.servant-openapi3 ==2.0.1.6, + any.servant-pipes ==0.15.3, + any.servant-rate-limit ==0.2.0.0, + any.servant-rawm ==1.0.0.0, + any.servant-server ==0.19.2, + any.servant-static-th ==1.0.0.0, + any.servant-subscriber ==0.7.0.0, + any.servant-swagger ==1.1.11, + any.servant-swagger-ui ==0.3.5.5.0.0, + any.servant-swagger-ui-core ==0.3.5, + any.servant-websockets ==2.0.0, + any.servant-xml ==1.0.2, + any.serversession ==1.0.3, + any.serversession-backend-redis ==1.0.5, + any.serversession-frontend-wai ==1.0.1, + any.serversession-frontend-yesod ==1.0.1, + any.servius ==1.2.3.0, + any.ses-html ==0.4.0.0, + any.set-cover ==0.1.1, + any.set-monad ==0.3.0.0, + any.setenv ==0.1.1.3, + any.setlocale ==1.0.0.10, + any.sets ==0.0.6.2, + any.sexp-grammar ==2.3.4.1, + any.shake ==0.19.7, + any.shake-plus ==0.3.4.0, + any.shakespeare ==2.1.0, + any.shakespeare-text ==1.1.0, + any.shared-memory ==0.2.0.1, + any.shell-conduit ==5.0.0, + any.shell-escape ==0.2.0, + any.shell-utility ==0.1, + any.shelltestrunner ==1.9, + any.shellwords ==0.1.3.1, + any.shelly ==1.12.1, + any.should-not-typecheck ==2.1.0, + any.show-combinators ==0.2.0.0, + any.shower ==0.2.0.3, + any.siggy-chardust ==1.0.0, + any.signal ==0.1.0.4, + any.silently ==1.2.5.3, + any.simple ==2.0.0, + any.simple-affine-space ==0.2.1, + any.simple-cabal ==0.1.3.1, + any.simple-cmd ==0.2.7, + any.simple-cmd-args ==0.1.8, + any.simple-expr ==0.1.0.2, + any.simple-media-timestamp ==0.2.1.0, + any.simple-media-timestamp-attoparsec ==0.1.0.0, + any.simple-prompt ==0.2.0.1, + any.simple-reflect ==0.3.3, + any.simple-sendfile ==0.2.32, + any.simple-session ==2.0.0, + any.simple-templates ==2.0.0, + any.simple-vec3 ==0.6.0.1, + any.since ==0.0.0, + any.singleton-bool ==0.1.6, + any.singleton-nats ==0.4.6, + any.singletons ==3.0.2, + any.singletons-base ==3.1.1, + any.singletons-presburger ==0.7.2.0, + any.singletons-th ==3.1.1, + any.sitemap-gen ==0.1.0.0, + any.size-based ==0.1.3.1, + any.sized ==1.1.0.0, + any.skein ==1.0.9.4, + any.skews ==0.1.0.3, + any.skip-var ==0.1.1.0, + any.skylighting ==0.13.4.1, + any.skylighting-core ==0.13.4.1, + any.skylighting-format-ansi ==0.1, + any.skylighting-format-blaze-html ==0.1.1, + any.skylighting-format-context ==0.1.0.2, + any.skylighting-format-latex ==0.1, + any.slack-progressbar ==0.1.0.1, + any.slave-thread ==1.1.0.2, + any.slick ==1.2.1.0, + any.slist ==0.2.1.0, + any.slynx ==0.7.2.2, + any.smallcheck ==1.2.1.1, + any.smtp-mail ==0.3.0.0, + any.snap-blaze ==0.2.1.5, + any.snap-core ==1.0.5.1, + any.snowflake ==0.1.1.1, + any.socket ==0.8.3.0, + any.socks ==0.6.1, + any.solana-staking-csvs ==0.1.2.0, + any.some ==1.0.4.1, + any.some-dict-of ==0.1.0.2, + any.sop-core ==0.5.0.2, + any.sort ==1.0.0.0, + any.sorted-list ==0.2.1.0, + any.sound-collage ==0.2.1, + any.sourcemap ==0.1.7, + any.sox ==0.2.3.2, + any.soxlib ==0.0.3.2, + any.spacecookie ==1.0.0.2, + any.spatial-math ==0.2.7.0, + any.special-values ==0.1.0.0, + any.speculate ==0.4.14, + any.speedy-slice ==0.3.2, + any.splice ==0.6.1.1, + any.split ==0.2.3.5, + any.split-record ==0.1.1.4, + any.splitmix ==0.1.0.4, + any.splitmix-distributions ==1.0.0, + any.spoon ==0.3.1, + any.spreadsheet ==0.1.3.9, + any.sql-words ==0.1.6.4, + any.sqlcli ==0.2.2.0, + any.sqlcli-odbc ==0.2.0.1, + any.sqlite-simple ==0.4.18.2, + any.squeather ==0.8.0.0, + any.srcloc ==0.6.0.1, + any.srt ==0.1.2.0, + any.srtree ==1.0.0.5, + any.stache ==2.3.4, + any.stack ==2.9.3.1, + any.stack-all ==0.4.1, + any.stack-clean-old ==0.4.6, + any.stack-templatizer ==0.1.1.0, + any.state-codes ==0.1.3, + any.stateWriter ==0.4.0, + any.stateref ==0.3, + any.statestack ==0.3.1.1, + any.static-canvas ==0.2.0.3, + any.static-text ==0.2.0.7, + any.statistics ==0.16.2.0, + any.statistics-linreg ==0.3, + any.status-notifier-item ==0.3.1.0, + any.step-function ==0.2.0.1, + any.stitch ==0.6.0.0, + any.stm-chans ==3.0.0.9, + any.stm-conduit ==4.0.1, + any.stm-containers ==1.2.0.2, + any.stm-delay ==0.1.1.1, + any.stm-extras ==0.1.0.3, + any.stm-hamt ==1.2.0.11, + any.stm-lifted ==2.5.0.0, + any.stm-split ==0.0.2.1, + any.stopwatch ==0.1.0.6, + any.storable-complex ==0.2.3.0, + any.storable-endian ==0.2.6.1, + any.storable-record ==0.0.7, + any.storable-tuple ==0.1, + any.storablevector ==0.2.13.1, + any.store ==0.7.16, + any.store-core ==0.4.4.4, + any.store-streaming ==0.2.0.3, + any.stratosphere ==0.60.0, + any.streaming ==0.2.4.0, + any.streaming-attoparsec ==1.0.0.1, + any.streaming-bytestring ==0.3.1, + any.streaming-commons ==0.2.2.6, + any.streaming-wai ==0.1.1, + any.streamly ==0.9.0, + any.streamly-bytestring ==0.2.0, + any.streamly-core ==0.1.0, + any.streamly-examples ==0.1.3, + any.streamly-process ==0.3.0, + any.streams ==3.3.2, + any.streamt ==0.5.0.1, + any.strict ==0.5, + any.strict-base-types ==0.8, + any.strict-concurrency ==0.2.4.3, + any.strict-lens ==0.4.0.3, + any.strict-list ==0.1.7.2, + any.strict-tuple ==0.1.5.2, + any.strict-wrapper ==0.0.0.0, + any.string-combinators ==0.6.0.5, + any.string-conv ==0.2.0, + any.string-conversions ==0.4.0.1, + any.string-interpolate ==0.3.2.1, + any.string-qq ==0.0.5, + any.string-random ==0.1.4.3, + any.string-transform ==1.1.1, + any.string-variants ==0.2.2.0, + any.stringable ==0.1.3, + any.stringbuilder ==0.5.1, + any.stringprep ==1.0.0, + any.stringsearch ==0.3.6.6, + any.stripe-concepts ==1.0.3.3, + any.stripe-scotty ==1.1.0.4, + any.stripe-signature ==1.0.0.16, + any.stripe-wreq ==1.0.1.16, + any.strive ==6.0.0.9, + any.structs ==0.1.8, + any.structured ==0.1.1, + any.structured-cli ==2.7.0.1, + any.subcategories ==0.2.0.1, + any.sundown ==0.6, + any.superbuffer ==0.3.1.2, + any.svg-builder ==0.1.1, + any.svg-tree ==0.6.2.4, + any.swagger2 ==2.8.7, + any.swish ==0.10.4.0, + any.syb ==0.7.2.4, + any.sydtest ==0.15.1.0, + any.sydtest-aeson ==0.1.0.0, + any.sydtest-amqp ==0.1.0.0, + any.sydtest-autodocodec ==0.0.0.0, + any.sydtest-discover ==0.0.0.3, + any.sydtest-hedgehog ==0.4.0.0, + any.sydtest-hedis ==0.0.0.0, + any.sydtest-mongo ==0.0.0.0, + any.sydtest-persistent ==0.0.0.1, + any.sydtest-persistent-postgresql ==0.2.0.2, + any.sydtest-persistent-sqlite ==0.2.0.2, + any.sydtest-process ==0.0.0.0, + any.sydtest-rabbitmq ==0.1.0.0, + any.sydtest-servant ==0.2.0.2, + any.sydtest-typed-process ==0.0.0.0, + any.sydtest-wai ==0.2.0.0, + any.sydtest-webdriver ==0.0.0.1, + any.sydtest-webdriver-screenshot ==0.0.0.1, + any.sydtest-webdriver-yesod ==0.0.0.1, + any.sydtest-yesod ==0.3.0.1, + any.symbol ==0.2.4, + any.symengine ==0.1.2.0, + any.symmetry-operations-symbols ==0.0.2.1, + any.synthesizer-alsa ==0.5.0.6, + any.synthesizer-core ==0.8.3, + any.synthesizer-dimensional ==0.8.1.1, + any.synthesizer-midi ==0.6.1.2, + any.sysinfo ==0.1.1, + any.system-argv0 ==0.1.1, + any.system-fileio ==0.3.16.4, + any.system-filepath ==0.4.14, + any.system-info ==0.5.2, + any.systemd ==2.3.0, + any.systemd-socket-activation ==1.1.0.1, + any.tabular ==0.2.2.8, + any.tagchup ==0.4.1.2, + any.tagged ==0.8.7, + any.tagged-binary ==0.2.0.1, + any.tagged-identity ==0.1.4, + any.tagged-transformer ==0.8.2, + any.tagshare ==0.0, + any.tagsoup ==0.14.8, + any.tagstream-conduit ==0.5.6, + any.tao ==1.0.0, + any.tao-example ==1.0.0, + tar -old-time, + any.tar ==0.5.1.1, + any.tar-conduit ==0.3.2.1, + any.tardis ==0.4.4.0, + any.tasty ==1.4.3, + any.tasty-ant-xml ==1.1.8, + any.tasty-autocollect ==0.4.1, + any.tasty-bench ==0.3.4, + any.tasty-dejafu ==2.1.0.0, + any.tasty-discover ==5.0.0, + any.tasty-expected-failure ==0.12.3, + any.tasty-fail-fast ==0.0.3, + any.tasty-focus ==1.0.1, + any.tasty-golden ==2.3.5, + any.tasty-hedgehog ==1.4.0.1, + any.tasty-hslua ==1.1.0, + any.tasty-hspec ==1.2.0.3, + any.tasty-html ==0.4.2.1, + any.tasty-hunit ==0.10.0.3, + any.tasty-hunit-compat ==0.2.0.1, + any.tasty-inspection-testing ==0.2, + any.tasty-kat ==0.0.3, + any.tasty-leancheck ==0.0.2, + any.tasty-lua ==1.1.0, + any.tasty-program ==1.1.0, + any.tasty-quickcheck ==0.10.2, + any.tasty-rerun ==1.1.18, + any.tasty-silver ==3.3.1.1, + any.tasty-smallcheck ==0.8.2, + any.tasty-tap ==0.1.0, + any.tasty-th ==0.1.7, + any.tasty-wai ==0.1.2.0, + any.tce-conf ==1.3, + any.tcp-streams ==1.0.1.1, + any.tdigest ==0.3, + any.teardown ==0.5.0.1, + any.telegram-bot-api ==6.7.1, + any.telegram-bot-simple ==0.12, + any.template-haskell-compat-v0208 ==0.1.9.2, + any.temporary ==1.3, + any.temporary-rc ==1.2.0.3, + any.temporary-resourcet ==0.1.0.1, + any.tensorflow-test ==0.1.0.0, + any.tensors ==0.1.5, + any.termbox ==1.1.0.1, + any.termbox-banana ==1.0.0, + any.termbox-bindings-c ==0.1.0, + any.termbox-bindings-hs ==0.1.0, + any.termbox-tea ==0.1.0, + any.terminal-progress-bar ==0.4.2, + any.terminal-size ==0.3.4, + any.termonad ==4.5.0.0, + any.test-framework ==0.8.2.0, + any.test-framework-hunit ==0.3.0.2, + any.test-framework-leancheck ==0.0.4, + any.test-framework-quickcheck2 ==0.3.0.5, + any.test-framework-smallcheck ==0.2, + any.test-fun ==0.1.0.0, + any.testing-feat ==1.1.1.1, + any.testing-type-modifiers ==0.1.0.1, + any.texmath ==0.12.8, + any.text-ansi ==0.2.1.1, + any.text-binary ==0.2.1.1, + any.text-builder ==0.6.7, + any.text-builder-dev ==0.3.3.2, + any.text-builder-linear ==0.1.1, + any.text-conversions ==0.3.1.1, + any.text-format ==0.3.2.1, + any.text-icu ==0.8.0.2, + any.text-latin1 ==0.3.1, + any.text-ldap ==0.1.1.14, + any.text-manipulate ==0.3.1.0, + any.text-metrics ==0.3.2, + any.text-postgresql ==0.0.3.1, + any.text-printer ==0.5.0.2, + any.text-regex-replace ==0.1.1.5, + any.text-rope ==0.2, + any.text-short ==0.1.5, + any.text-show ==3.10.3, + any.text-show-instances ==3.9.5, + any.text-zipper ==0.13, + any.textlocal ==0.1.0.5, + any.tf-random ==0.5, + any.tfp ==1.0.2, + any.th-abstraction ==0.4.5.0, + any.th-bang-compat ==0.0.1.0, + any.th-compat ==0.1.4, + any.th-constraint-compat ==0.0.1.0, + any.th-data-compat ==0.1.2.0, + any.th-desugar ==1.14, + any.th-env ==0.1.1, + any.th-expand-syns ==0.4.11.0, + any.th-lego ==0.3.0.2, + any.th-lift ==0.8.4, + any.th-lift-instances ==0.1.20, + any.th-nowq ==0.1.0.5, + any.th-orphans ==0.13.14, + any.th-printf ==0.7, + any.th-reify-compat ==0.0.1.5, + any.th-reify-many ==0.1.10, + any.th-strict-compat ==0.1.0.1, + any.th-test-utils ==1.2.1, + any.th-utilities ==0.2.5.0, + any.these ==1.2, + any.these-lens ==1.0.1.3, + any.these-optics ==1.0.1.2, + any.these-skinny ==0.7.5, + any.thread-hierarchy ==0.3.0.2, + any.thread-local-storage ==0.2, + any.thread-supervisor ==0.2.0.0, + any.threads ==0.5.1.7, + any.threads-extras ==0.1.0.3, + any.thyme ==0.4, + any.tidal ==1.9.4, + any.tidal-link ==1.0.1, + any.tile ==0.3.0.0, + any.time-compat ==1.9.6.1, + any.time-domain ==0.1.0.2, + any.time-lens ==0.4.0.2, + time-locale-compat -old-locale, + any.time-locale-compat ==0.1.1.5, + any.time-locale-vietnamese ==1.0.0.0, + any.time-manager ==0.0.0, + any.time-parsers ==0.2, + any.time-units ==1.0.0, + any.time-units-types ==0.2.0.1, + any.timeit ==2.0, + any.timelens ==0.2.0.2, + any.timer-wheel ==0.4.0.1, + any.timerep ==2.1.0.0, + any.timers-tick ==0.5.0.4, + any.timespan ==0.4.0.0, + any.timezone-olson ==0.2.1, + any.timezone-olson-th ==0.1.0.11, + any.timezone-series ==0.1.13, + any.titlecase ==1.0.1, + any.tls ==1.6.0, + any.tls-session-manager ==0.0.4, + any.tlynx ==0.7.2.2, + any.tmapchan ==0.0.3, + any.tmapmvar ==0.0.4, + any.tmp-postgres ==1.34.1.0, + any.tmp-proc ==0.5.1.4, + any.tmp-proc-postgres ==0.5.2.3, + any.tmp-proc-rabbitmq ==0.5.1.4, + any.tmp-proc-redis ==0.5.1.4, + any.token-bucket ==0.1.0.1, + any.toml-reader ==0.2.1.0, + any.toml-reader-parse ==0.1.1.1, + any.tophat ==1.0.5.1, + any.topograph ==1.0.0.2, + any.torrent ==10000.1.3, + any.torsor ==0.1, + any.tostring ==0.2.1.1, + any.tracing ==0.0.7.3, + any.tracing-control ==0.0.7.3, + any.transaction ==0.1.1.4, + any.transformers-base ==0.4.6, + transformers-compat +five-three, + any.transformers-compat ==0.7.2, + any.transformers-either ==0.1.4, + any.transformers-fix ==1.0, + any.transient ==0.7.0.0, + any.traverse-with-class ==1.0.1.1, + any.tree-diff ==0.3.0.1, + any.tree-fun ==0.8.1.0, + any.tree-view ==0.5.1, + any.trie-simple ==0.4.2, + any.trifecta ==2.1.2, + any.trimdent ==0.1.0.0, + any.triplesec ==0.2.2.1, + any.trivial-constraint ==0.7.0.0, + any.tsv2csv ==0.1.0.2, + any.ttc ==1.2.1.0, + any.ttrie ==0.1.2.2, + any.tuple ==0.3.0.2, + any.tuple-sop ==0.3.1.0, + any.tuple-th ==0.2.5, + any.tuples ==0.1.0.0, + any.tuples-homogenous-h98 ==0.1.1.0, + any.turtle ==1.6.1, + any.twitter-conduit ==0.6.1, + any.twitter-types ==0.11.0, + any.twitter-types-lens ==0.11.0, + any.type-equality ==1, + any.type-errors ==0.2.0.2, + any.type-fun ==0.1.3, + any.type-hint ==0.1, + any.type-level-integers ==0.0.1, + any.type-level-kv-list ==2.0.2.0, + any.type-level-natural-number ==2.0, + any.type-level-numbers ==0.1.1.2, + any.type-map ==0.1.7.0, + any.type-natural ==1.3.0.0, + any.type-of-html ==1.6.2.0, + any.type-of-html-static ==0.1.0.2, + any.type-rig ==0.1, + any.type-spec ==0.4.0.0, + any.typecheck-plugin-nat-simple ==0.1.0.9, + any.typed-process ==0.2.11.0, + any.typed-uuid ==0.2.0.0, + any.typenums ==0.1.4, + any.typography-geometry ==1.0.1.0, + any.typst-symbols ==0.1.2, + any.tz ==0.1.3.6, + any.tzdata ==0.2.20230322.0, + any.tztime ==0.1.0.0, + any.ua-parser ==0.7.7.0, + any.uglymemo ==0.1.0.1, + any.ulid ==0.3.2.0, + any.unagi-chan ==0.4.1.4, + any.unbound-generics ==0.4.3, + any.unbounded-delays ==0.1.1.1, + any.unboxed-ref ==0.4.0.0, + any.unboxing-vector ==0.2.0.0, + any.uncaught-exception ==0.1.0, + any.unconstrained ==0.1.0.2, + any.unexceptionalio ==0.5.1, + any.unexceptionalio-trans ==0.5.1, + any.unfork ==1.0.0.1, + any.unicode ==0.0.1.1, + any.unicode-collation ==0.1.3.4, + any.unicode-data ==0.4.0.1, + any.unicode-show ==0.1.1.1, + any.unicode-transforms ==0.4.0.1, + any.unidecode ==0.1.0.4, + any.unification-fd ==0.11.2, + any.union ==0.1.2, + any.union-angle ==0.1.0.1, + any.unipatterns ==0.0.0.0, + any.uniplate ==1.6.13, + any.uniq-deep ==1.2.1, + any.unique ==0.0.1, + any.unique-logic ==0.4.0.1, + any.unique-logic-tf ==0.5.1, + any.unit-constraint ==0.0.0, + any.units-parser ==0.1.1.5, + any.universe ==1.2.2, + any.universe-base ==1.1.3.1, + any.universe-dependent-sum ==1.3, + any.universe-instances-extended ==1.1.3, + any.universe-reverse-instances ==1.1.1, + any.universe-some ==1.2.1, + any.universum ==1.8.2, + any.unix-bytestring ==0.4.0, + any.unix-compat ==0.7, + any.unix-time ==0.4.10, + any.unjson ==0.15.4, + any.unliftio ==0.2.25.0, + any.unliftio-core ==0.2.1.0, + any.unliftio-path ==0.0.2.0, + any.unliftio-pool ==0.4.2.0, + any.unlit ==0.4.0.0, + any.unordered-containers ==0.2.19.1, + any.unsafe ==0.0, + any.uri-bytestring ==0.3.3.1, + any.uri-bytestring-aeson ==0.1.0.8, + any.uri-encode ==1.5.0.7, + any.url ==2.1.3, + any.users ==0.5.0.0, + any.users-postgresql-simple ==0.5.0.2, + any.users-test ==0.5.0.1, + any.utf8-light ==0.4.4.0, + any.utf8-string ==1.0.2, + any.utility-ht ==0.0.17, + any.uuid ==1.3.15, + any.uuid-types ==1.0.5, + any.valida ==1.1.0, + any.valida-base ==0.2.0, + any.validate-input ==0.5.0.0, + any.validationt ==0.3.0, + any.validity ==0.12.0.1, + any.validity-aeson ==0.2.0.5, + any.validity-bytestring ==0.4.1.1, + any.validity-case-insensitive ==0.0.0.0, + any.validity-containers ==0.5.0.4, + any.validity-path ==0.4.0.1, + any.validity-persistent ==0.0.0.0, + any.validity-primitive ==0.0.0.1, + any.validity-scientific ==0.2.0.3, + any.validity-text ==0.3.1.3, + any.validity-time ==0.5.0.0, + any.validity-unordered-containers ==0.2.0.3, + any.validity-uuid ==0.1.0.3, + any.validity-vector ==0.2.0.3, + any.valor ==1.0.0.0, + any.varying ==0.8.1.0, + any.vault ==0.3.1.5, + any.vcs-ignore ==0.0.2.0, + any.vec ==0.5, + any.vector ==0.13.0.0, + any.vector-algorithms ==0.9.0.1, + any.vector-binary-instances ==0.2.5.2, + any.vector-buffer ==0.4.1, + any.vector-builder ==0.3.8.4, + any.vector-bytes-instances ==0.1.1, + any.vector-extras ==0.2.8, + any.vector-hashtables ==0.1.1.3, + any.vector-instances ==3.4.2, + any.vector-mmap ==0.0.3, + any.vector-rotcev ==0.1.0.2, + any.vector-sized ==1.5.0, + any.vector-space ==0.16, + any.vector-split ==1.0.0.3, + any.vector-stream ==0.1.0.0, + any.vector-th-unbox ==0.2.2, + any.verbosity ==0.4.0.0, + any.versions ==6.0.1, + any.vformat ==0.14.1.0, + any.vformat-time ==0.1.0.0, + any.vinyl ==0.14.3, + any.vinyl-loeb ==0.0.1.0, + any.vivid ==0.5.2.0, + any.vivid-osc ==0.5.0.0, + any.vivid-supercollider ==0.4.1.2, + any.void ==0.7.3, + any.vty ==5.38, + any.wai ==3.2.3, + any.wai-app-static ==3.1.7.4, + any.wai-cli ==0.2.3, + any.wai-conduit ==3.0.0.4, + any.wai-control ==0.2.0.0, + any.wai-cors ==0.2.7, + any.wai-enforce-https ==1.0.0.0, + any.wai-eventsource ==3.0.0, + any.wai-extra ==3.1.13.0, + any.wai-feature-flags ==0.1.0.6, + any.wai-handler-launch ==3.0.3.1, + any.wai-logger ==2.4.0, + any.wai-middleware-bearer ==1.0.3, + any.wai-middleware-caching ==0.1.0.2, + any.wai-middleware-caching-lru ==0.1.0.0, + any.wai-middleware-caching-redis ==0.2.0.0, + any.wai-middleware-clacks ==0.1.0.1, + any.wai-middleware-delegate ==0.1.3.1, + any.wai-middleware-metrics ==0.2.4, + any.wai-middleware-prometheus ==1.0.0.1, + any.wai-middleware-static ==0.9.2, + any.wai-middleware-throttle ==0.3.0.1, + any.wai-rate-limit ==0.3.0.0, + any.wai-rate-limit-redis ==0.2.0.1, + any.wai-saml2 ==0.4, + any.wai-session ==0.3.3, + any.wai-session-postgresql ==0.2.1.3, + any.wai-session-redis ==0.1.0.5, + any.wai-slack-middleware ==0.2.0, + any.wai-websockets ==3.0.1.2, + any.wakame ==0.1.0.0, + any.warp ==3.3.25, + any.warp-tls ==3.3.6, + any.warp-tls-uid ==0.2.0.6, + any.wave ==0.2.0, + any.wcwidth ==0.0.2, + any.web-routes ==0.27.15, + any.web-routes-boomerang ==0.28.4.4, + any.web-routes-happstack ==0.23.12.3, + any.web-routes-hsp ==0.24.6.2, + any.web-routes-th ==0.22.8.1, + any.web-routes-wai ==0.24.3.2, + any.webdriver ==0.11.0.0, + any.webex-teams-api ==0.2.0.1, + any.webex-teams-conduit ==0.2.0.1, + any.webgear-core ==1.0.5, + any.webgear-openapi ==1.0.5, + any.webpage ==0.0.5.1, + any.webrtc-vad ==0.1.0.3, + any.websockets ==0.12.7.3, + any.weigh ==0.0.16, + any.welford-online-mean-variance ==0.2.0.0, + any.wide-word ==0.1.5.0, + windns +allow-non-windows, + any.windns ==0.1.0.1, + any.witch ==1.2.0.2, + any.with-location ==0.1.0, + any.with-utf8 ==1.0.2.4, + any.withdependencies ==0.3.0, + any.witherable ==0.4.2, + any.within ==0.2.0.1, + any.witness ==0.6.2, + any.wizards ==1.0.3, + any.wl-pprint ==1.2.1, + any.wl-pprint-annotated ==0.1.0.1, + any.wl-pprint-text ==1.2.0.2, + any.word-compat ==0.0.6, + any.word-trie ==0.3.0, + any.word-wrap ==0.5, + any.word8 ==0.1.3, + any.wordpress-auth ==1.0.0.1, + any.world-peace ==1.0.2.0, + any.wrap ==0.0.0, + any.wreq ==0.5.4.1, + any.wreq-stringless ==0.5.9.1, + any.writer-cps-exceptions ==0.1.0.1, + any.writer-cps-mtl ==0.1.1.6, + any.writer-cps-transformers ==0.5.6.1, + any.wss-client ==0.3.0.0, + any.wuss ==2.0.1.3, + any.x11-xim ==0.0.9.0, + any.x509 ==1.7.7, + any.x509-store ==1.6.9, + any.x509-system ==1.6.7, + any.x509-validation ==1.6.12, + any.xdg-basedir ==0.2.2, + any.xdg-desktop-entry ==0.1.1.1, + any.xdg-userdirs ==0.1.0.2, + any.xeno ==0.6, + any.xlsx ==1.1.1, + any.xml ==1.3.14, + any.xml-basic ==0.1.3.2, + any.xml-conduit ==1.9.1.3, + any.xml-conduit-writer ==0.1.1.4, + any.xml-hamlet ==0.5.0.2, + any.xml-helpers ==1.0.0, + any.xml-html-qq ==0.1.0.1, + any.xml-indexed-cursor ==0.1.1.0, + any.xml-lens ==0.3.1, + any.xml-parser ==0.1.1.1, + any.xml-picklers ==0.3.6, + any.xml-to-json-fast ==2.0.0, + any.xml-types ==0.3.8, + any.xmlbf ==0.7, + any.xmlbf-xeno ==0.2.2, + any.xmlbf-xmlhtml ==0.2.2, + any.xmlgen ==0.6.2.2, + any.xmlhtml ==0.2.5.4, + any.xmonad ==0.17.2, + any.xmonad-contrib ==0.17.1, + any.xor ==0.0.1.2, + any.xss-sanitize ==0.3.7.2, + any.xxhash-ffi ==0.2.0.0, + any.yaml ==0.11.11.2, + any.yaml-unscrambler ==0.1.0.17, + any.yarn-lock ==0.6.5, + any.yes-precure5-command ==5.5.3, + any.yeshql-core ==4.2.0.0, + any.yesod ==1.6.2.1, + any.yesod-auth ==1.6.11.1, + any.yesod-auth-basic ==0.1.0.3, + any.yesod-auth-hashdb ==1.7.1.7, + any.yesod-auth-oauth2 ==0.7.1.1, + any.yesod-auth-oidc ==0.1.4, + any.yesod-bin ==1.6.2.2, + any.yesod-core ==1.6.24.4, + any.yesod-eventsource ==1.6.0.1, + any.yesod-fb ==0.6.1, + any.yesod-form ==1.7.4, + any.yesod-form-bootstrap4 ==3.0.1, + any.yesod-gitrepo ==0.3.0, + any.yesod-gitrev ==0.2.2, + any.yesod-markdown ==0.12.6.13, + any.yesod-middleware-csp ==1.2.0, + any.yesod-newsfeed ==1.7.0.0, + any.yesod-page-cursor ==2.0.1.0, + any.yesod-paginator ==1.1.2.2, + any.yesod-persistent ==1.6.0.8, + any.yesod-recaptcha2 ==1.0.2, + any.yesod-routes-flow ==3.0.0.2, + any.yesod-sitemap ==1.6.0, + any.yesod-static ==1.6.1.0, + any.yesod-test ==1.6.15, + any.yesod-websockets ==0.3.0.3, + any.yi-rope ==0.11, + any.yjsvg ==0.2.0.1, + any.yjtools ==0.9.18, + any.yoga ==0.0.0.5, + any.youtube ==0.2.1.1, + any.zenacy-html ==2.1.0, + any.zenacy-unicode ==1.0.2, + any.zeromq4-haskell ==0.8.0, + any.zeromq4-patterns ==0.3.1.0, + any.zigzag ==0.0.1.0, + any.zim-parser ==0.2.1.0, + any.zio ==0.1.0.2, + any.zip ==2.0.0, + any.zip-archive ==0.4.3, + any.zip-stream ==0.2.2.0, + any.zipper-extra ==0.1.3.2, + any.zippers ==0.3.2, + any.zlib ==0.6.3.0, + any.zlib-bindings ==0.1.1.5, + any.zot ==0.0.3, + any.zstd ==0.1.3.0 diff --git a/docker/Dockerfile-ghc-alpine-9.2.5 b/docker/Dockerfile-ghc-alpine-9.2.5 deleted file mode 100644 index 8ba41ce9e..000000000 --- a/docker/Dockerfile-ghc-alpine-9.2.5 +++ /dev/null @@ -1,30 +0,0 @@ -FROM alpine:3.12 - -RUN apk upgrade --no-cache &&\ - apk add --no-cache curl gcc g++ gmp-dev ncurses-dev libffi-dev make xz gzip tar perl git bash sudo binutils-gold lld &&\ - apk add --no-cache zlib zlib-dev zlib-static gmp gmp-dev ncurses-static xz - -RUN curl https://downloads.haskell.org/~ghc/8.10-latest/ghc-8.10.2-x86_64-alpine3.10-linux-integer-simple.tar.xz -OL - -RUN tar xf ghc-8.10.2-x86_64-alpine3.10-linux-integer-simple.tar.xz - -RUN cd ghc-8.10.2-x86_64-unknown-linux && ./configure --prefix /opt && make install - -RUN curl https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-src.tar.xz -OL - -RUN tar xf ghc-9.2.5-src.tar.xz - -WORKDIR /ghc-9.2.5 - -RUN GHC=/opt/bin/ghc ./configure --prefix /usr/local - -RUN make -j -RUN make install - -RUN apk add --no-cache clang llvm - -WORKDIR / - -RUN curl https://github.com/commercialhaskell/stack/releases/download/v2.9.1/stack-2.9.1-linux-x86_64.tar.gz -OL -RUN tar xf stack-2.9.1-linux-x86_64.tar.gz -RUN cp stack-2.9.1-linux-x86_64/stack /usr/local/bin diff --git a/docker/Dockerfile-ghc-alpine-9.2.7 b/docker/Dockerfile-ghc-alpine-9.2.7 deleted file mode 100644 index 4408d443a..000000000 --- a/docker/Dockerfile-ghc-alpine-9.2.7 +++ /dev/null @@ -1,30 +0,0 @@ -FROM alpine:3.12 - -RUN apk upgrade --no-cache &&\ - apk add --no-cache curl gcc g++ gmp-dev ncurses-dev libffi-dev make xz gzip tar perl git bash sudo binutils-gold lld &&\ - apk add --no-cache zlib zlib-dev zlib-static gmp gmp-dev ncurses-static xz - -RUN curl https://downloads.haskell.org/~ghc/8.10-latest/ghc-8.10.7-x86_64-alpine3.10-linux-integer-simple.tar.xz -OL - -RUN tar xf ghc-8.10.7-x86_64-alpine3.10-linux-integer-simple.tar.xz - -RUN cd ghc-8.10.7-x86_64-unknown-linux && ./configure --prefix /opt && make install - -RUN curl https://downloads.haskell.org/~ghc/9.2.7/ghc-9.2.7-src.tar.xz -OL - -RUN tar xf ghc-9.2.7-src.tar.xz - -WORKDIR /ghc-9.2.7 - -RUN GHC=/opt/bin/ghc ./configure --prefix /usr/local - -RUN make -j -RUN make install - -RUN apk add --no-cache clang llvm - -WORKDIR / - -RUN curl https://github.com/commercialhaskell/stack/releases/download/v2.9.1/stack-2.9.1-linux-x86_64.tar.gz -OL -RUN tar xf stack-2.9.1-linux-x86_64.tar.gz -RUN cp stack-2.9.1-linux-x86_64/stack /usr/local/bin diff --git a/docker/README.md b/docker/README.md deleted file mode 100644 index 06c03afcf..000000000 --- a/docker/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# The GHC alpine image - -We need this image to workaround an issue with the official GHC alpine binary, -see https://gitlab.haskell.org/ghc/ghc/-/issues/20266 - -We use this image to make static linux binaries. - -## Building the image - -The tag of the image should be prefixed by the location of the GitHub docker -repository that you're pushing to. In this case the repository is ` -ghcr.io/paulcadman`. - -```shell -docker build -t ghcr.io/paulcadman/ghc-alpine:9.2.7 -f Dockerfile-ghc-alpine-9.2.7 . -``` - -## Authenticating with the GitHub Docker repository - -First create a classic personal access token with `repo` and `write:packages` -permissions. - -Consult the GitHub documentation on how to do this: - -https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#authenticating-to-the-container-registry - -Set the token to the variable `CR_PAT` and then authenticate: - -```shell -echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin -``` - -NB: You do not substitue your username for `USERNAME` in the command above. - -## Testing the image - -```shell -docker run -it --rm ghcr.io/paulcadman/ghc-alpine:9.2.7 -``` - -## Pushing the image - -```shell -docker push ghcr.io/paulcadman/ghc-alpine:9.2.7 - -``` diff --git a/package.yaml b/package.yaml index 89ab0a4f7..b3332d562 100644 --- a/package.yaml +++ b/package.yaml @@ -12,13 +12,22 @@ author: Lukasz Czajka, Github's contributors, ] -tested-with: ghc == 9.2.7 +tested-with: ghc == 9.4.5 homepage: https://juvix.org bug-reports: https://github.com/anoma/juvix/issues description: The Juvix compiler category: Compilers/Interpreters github: anoma/juvix +flags: + # This flag can only be used in an environment that contains static libraries + # for all dependencies, including libc We use this when doing a static build + # using the ghc-musl alpine container + static: + description: Build static executable + default: false + manual: true + extra-source-files: - README.md - assets/css/*.css @@ -32,10 +41,10 @@ extra-source-files: - runtime/src/vampir/*.pir dependencies: - - aeson == 2.0.* - aeson-better-errors == 0.9.* + - aeson == 2.1.* - ansi-terminal == 0.11.* - - base == 4.16.* + - base == 4.17.* - blaze-html == 0.9.* - bytestring == 0.11.* - containers == 0.6.* @@ -50,14 +59,13 @@ dependencies: - hashable == 1.4.* - language-c == 0.9.* - libyaml == 0.1.* - - megaparsec == 9.2.* + - megaparsec == 9.3.* - microlens-platform == 0.4.* - parser-combinators == 1.3.* - path == 0.9.* - - path-io == 1.7.* - - polysemy == 1.7.* + - path-io == 1.8.* + - polysemy == 1.9.* - polysemy-plugin == 0.4.* - - polysemy-zoo == 0.8.* - pretty == 1.1.* - prettyprinter == 1.7.* - prettyprinter-ansi-terminal == 1.1.* @@ -66,18 +74,18 @@ dependencies: - singletons == 3.0.* - singletons-th == 3.1.* - Stream == 0.4.* - - template-haskell == 2.18.* + - template-haskell == 2.19.* - temporary == 1.3.* - - text == 1.2.* + - text == 2.0.* - th-utilities == 0.2.* - - time == 1.11.* + - time == 1.12.* - transformers == 0.5.* - unicode-show == 0.1.* - uniplate == 1.6.* - - unix-compat == 0.5.* + - unix-compat == 0.7.* - unordered-containers == 0.2.* - utf8-string == 1.0.* - - versions == 5.0.* + - versions == 6.0.* - xdg-basedir == 0.2.* - yaml == 0.11.* @@ -89,7 +97,7 @@ dependencies: - pretty-show == 1.10.* # benchmarks - - criterion == 1.5.* + - criterion == 1.6.* - statistics == 0.16.* - shake == 0.19.* - colour == 2.3.* @@ -147,6 +155,11 @@ executables: - string-interpolate == 0.3.* verbatim: default-language: GHC2021 + when: + - condition: flag(static) + ld-options: + - -static + - -pthread tests: juvix-test: diff --git a/src/Juvix/Compiler/Asm/Data/InfoTableBuilder.hs b/src/Juvix/Compiler/Asm/Data/InfoTableBuilder.hs index e6027edf9..a21691d0d 100644 --- a/src/Juvix/Compiler/Asm/Data/InfoTableBuilder.hs +++ b/src/Juvix/Compiler/Asm/Data/InfoTableBuilder.hs @@ -47,7 +47,7 @@ runInfoTableBuilder = . runState emptyBuilderState . reinterpret interp where - interp :: InfoTableBuilder m a -> Sem (State BuilderState : r) a + interp :: InfoTableBuilder m a -> Sem (State BuilderState ': r) a interp = \case FreshSymbol -> do s <- get diff --git a/src/Juvix/Compiler/Backend/C/Data/CBuilder.hs b/src/Juvix/Compiler/Backend/C/Data/CBuilder.hs index 92d3f9d7b..0ad62c147 100644 --- a/src/Juvix/Compiler/Backend/C/Data/CBuilder.hs +++ b/src/Juvix/Compiler/Backend/C/Data/CBuilder.hs @@ -24,7 +24,7 @@ runCBuilder = evalState emptyCBuilderState . reinterpret interp where - interp :: CBuilder m a -> Sem (State CBuilderState : r) a + interp :: CBuilder m a -> Sem (State CBuilderState ': r) a interp = \case FreshLabel -> do s <- get diff --git a/src/Juvix/Compiler/Builtins/Effect.hs b/src/Juvix/Compiler/Builtins/Effect.hs index a54f3184d..7d0b1f7e8 100644 --- a/src/Juvix/Compiler/Builtins/Effect.hs +++ b/src/Juvix/Compiler/Builtins/Effect.hs @@ -35,7 +35,7 @@ re :: forall r a. (Member (Error JuvixError) r) => Sem (Builtins ': r) a -> Sem re = reinterpret $ \case GetBuiltinName' i b -> fromMaybeM notDefined (gets (^. builtinsTable . at b)) where - notDefined :: Sem (State BuiltinsState : r) x + notDefined :: Sem (State BuiltinsState ': r) x notDefined = throw $ JuvixError @@ -52,7 +52,7 @@ re = reinterpret $ \case modify (over builtinsNameTable (set (at n) (Just b))) Just {} -> alreadyDefined where - alreadyDefined :: Sem (State BuiltinsState : r) x + alreadyDefined :: Sem (State BuiltinsState ': r) x alreadyDefined = throw $ JuvixError diff --git a/src/Juvix/Compiler/Concrete/Print/Base.hs b/src/Juvix/Compiler/Concrete/Print/Base.hs index 67d0e6900..9114e2866 100644 --- a/src/Juvix/Compiler/Concrete/Print/Base.hs +++ b/src/Juvix/Compiler/Concrete/Print/Base.hs @@ -525,7 +525,7 @@ instance SingI s => PrettyPrint (Function s) where SScoped -> ppRightExpression ppRightExpression :: - (PrettyPrint a, HasAtomicity a, Members [Reader Options, ExactPrint] r) => + (PrettyPrint a, HasAtomicity a, Members '[Reader Options, ExactPrint] r) => Fixity -> a -> Sem r () diff --git a/src/Juvix/Compiler/Concrete/Translation/FromParsed/Analysis/Scoping.hs b/src/Juvix/Compiler/Concrete/Translation/FromParsed/Analysis/Scoping.hs index c7a56607f..f478b6f1f 100644 --- a/src/Juvix/Compiler/Concrete/Translation/FromParsed/Analysis/Scoping.hs +++ b/src/Juvix/Compiler/Concrete/Translation/FromParsed/Analysis/Scoping.hs @@ -474,7 +474,7 @@ lookupQualifiedSymbol sms = do where go :: forall r'. - Members [State ScoperState, State Scope, Output SymbolEntry, Output ModuleSymbolEntry, Output FixitySymbolEntry] r' => + Members '[State ScoperState, State Scope, Output SymbolEntry, Output ModuleSymbolEntry, Output FixitySymbolEntry] r' => ([Symbol], Symbol) -> Sem r' () go (path, sym) = do diff --git a/src/Juvix/Compiler/Core/Data/InfoTableBuilder.hs b/src/Juvix/Compiler/Core/Data/InfoTableBuilder.hs index a8102343e..787ce8111 100644 --- a/src/Juvix/Compiler/Core/Data/InfoTableBuilder.hs +++ b/src/Juvix/Compiler/Core/Data/InfoTableBuilder.hs @@ -71,7 +71,7 @@ runInfoTableBuilder tab = runState tab . reinterpret interp where - interp :: InfoTableBuilder m b -> Sem (State InfoTable : r) b + interp :: InfoTableBuilder m b -> Sem (State InfoTable ': r) b interp = \case FreshSymbol -> do s <- get diff --git a/src/Juvix/Compiler/Core/Transformation/NaiveMatchToCase.hs b/src/Juvix/Compiler/Core/Transformation/NaiveMatchToCase.hs index a6e1aca33..cd81ce012 100644 --- a/src/Juvix/Compiler/Core/Transformation/NaiveMatchToCase.hs +++ b/src/Juvix/Compiler/Core/Transformation/NaiveMatchToCase.hs @@ -223,7 +223,7 @@ combineCompiledPatterns ps = go indexedPatterns -- (wildcard, binder or constructor) introduces an auxiliary binder. -- The arguments are then compiled recursively using a new CompileState context. -- The default case points to the next branch pattern. -compilePattern :: forall r. Members [Reader CompileState, Reader CompileStateNode, InfoTableBuilder] r => Int -> Int -> Int -> Pattern -> Sem r CompiledPattern +compilePattern :: forall r. Members '[Reader CompileState, Reader CompileStateNode, InfoTableBuilder] r => Int -> Int -> Int -> Pattern -> Sem r CompiledPattern compilePattern baseShift branchNum numPatterns = \case PatWildcard w -> do auxPatternsNum <- length . filter isAuxiliaryBinder <$> asks (^. compileStateCompiledPattern . compiledPatBinders) diff --git a/src/Juvix/Compiler/Core/Translation/FromInternal.hs b/src/Juvix/Compiler/Core/Translation/FromInternal.hs index abf55d098..b0d9a5c18 100644 --- a/src/Juvix/Compiler/Core/Translation/FromInternal.hs +++ b/src/Juvix/Compiler/Core/Translation/FromInternal.hs @@ -586,7 +586,7 @@ goAxiomInductive a = whenJust (a ^. Internal.axiomBuiltin) builtinInductive registerInductive (mkIdentIndex (a ^. Internal.axiomName)) info mapM_ (\ci -> registerConstructor (ci ^. constructorName) ci) ctrs' -fromTopIndex :: Sem (Reader IndexTable : r) a -> Sem r a +fromTopIndex :: Sem (Reader IndexTable ': r) a -> Sem r a fromTopIndex = runReader initIndexTable goAxiomDef :: diff --git a/src/Juvix/Compiler/Internal/Translation/FromConcrete.hs b/src/Juvix/Compiler/Internal/Translation/FromConcrete.hs index 6c2f8ec57..a6cf8fd8b 100644 --- a/src/Juvix/Compiler/Internal/Translation/FromConcrete.hs +++ b/src/Juvix/Compiler/Internal/Translation/FromConcrete.hs @@ -687,7 +687,7 @@ registerInductiveConstructors indDef = do goConstructorDef :: forall r. - Members [Builtins, NameIdGen, Error ScoperError, Reader Pragmas] r => + Members '[Builtins, NameIdGen, Error ScoperError, Reader Pragmas] r => Internal.Expression -> ConstructorDef 'Scoped -> Sem r Internal.ConstructorDef @@ -786,7 +786,7 @@ goListPattern l = do goExpression :: forall r. - Members [Builtins, NameIdGen, Error ScoperError, Reader Pragmas] r => + Members '[Builtins, NameIdGen, Error ScoperError, Reader Pragmas] r => Expression -> Sem r Internal.Expression goExpression = \case diff --git a/src/Juvix/Compiler/Internal/Translation/FromInternal/Analysis/ArityChecking/Checker.hs b/src/Juvix/Compiler/Internal/Translation/FromInternal/Analysis/ArityChecking/Checker.hs index ffa731d22..d15d471d2 100644 --- a/src/Juvix/Compiler/Internal/Translation/FromInternal/Analysis/ArityChecking/Checker.hs +++ b/src/Juvix/Compiler/Internal/Translation/FromInternal/Analysis/ArityChecking/Checker.hs @@ -172,7 +172,7 @@ withLocalTypeVar v = withLocalVar v ArityUnit withLocalVar :: Members '[Reader LocalVars] r => VarName -> Arity -> Sem r a -> Sem r a withLocalVar v = local . withArity v -withEmptyLocalVars :: Sem (Reader LocalVars : r) a -> Sem r a +withEmptyLocalVars :: Sem (Reader LocalVars ': r) a -> Sem r a withEmptyLocalVars = runReader emptyLocalVars arityLet :: (Members '[Reader InfoTable] r) => Let -> Sem r Arity diff --git a/src/Juvix/Compiler/Internal/Translation/FromInternal/Analysis/Reachability.hs b/src/Juvix/Compiler/Internal/Translation/FromInternal/Analysis/Reachability.hs index 09afd0929..10a3c8d2f 100644 --- a/src/Juvix/Compiler/Internal/Translation/FromInternal/Analysis/Reachability.hs +++ b/src/Juvix/Compiler/Internal/Translation/FromInternal/Analysis/Reachability.hs @@ -34,7 +34,7 @@ returnIfReachable n a = do r <- askIsReachable n return (guard r $> a) -goModuleNoCache :: forall r. Members [Reader NameDependencyInfo, MCache] r => ModuleIndex -> Sem r Module +goModuleNoCache :: forall r. Members '[Reader NameDependencyInfo, MCache] r => ModuleIndex -> Sem r Module goModuleNoCache (ModuleIndex m) = do body' <- goBody (m ^. moduleBody) return (set moduleBody body' m) @@ -45,10 +45,10 @@ goModuleNoCache (ModuleIndex m) = do _moduleImports <- mapM goImport (body ^. moduleImports) return ModuleBody {..} -goModule :: Members [Reader NameDependencyInfo, MCache] r => Module -> Sem r Module +goModule :: Members '[Reader NameDependencyInfo, MCache] r => Module -> Sem r Module goModule = cacheGet . ModuleIndex -goModuleIndex :: Members [Reader NameDependencyInfo, MCache] r => ModuleIndex -> Sem r ModuleIndex +goModuleIndex :: Members '[Reader NameDependencyInfo, MCache] r => ModuleIndex -> Sem r ModuleIndex goModuleIndex = fmap ModuleIndex . cacheGet goStatement :: forall r. Member (Reader NameDependencyInfo) r => Statement -> Sem r (Maybe Statement) @@ -62,7 +62,7 @@ goStatement s = case s of StatementFunction f -> returnIfReachable (f ^. funDefName) b StatementInductive f -> returnIfReachable (f ^. inductiveName) b -goImport :: forall r. Members [Reader NameDependencyInfo, MCache] r => Import -> Sem r Import +goImport :: forall r. Members '[Reader NameDependencyInfo, MCache] r => Import -> Sem r Import goImport i = do _importModule <- goModuleIndex (i ^. importModule) return Import {..} diff --git a/src/Juvix/Compiler/Internal/Translation/FromInternal/Analysis/TypeChecking/Checker.hs b/src/Juvix/Compiler/Internal/Translation/FromInternal/Analysis/TypeChecking/Checker.hs index 939773c62..4d70c4461 100644 --- a/src/Juvix/Compiler/Internal/Translation/FromInternal/Analysis/TypeChecking/Checker.hs +++ b/src/Juvix/Compiler/Internal/Translation/FromInternal/Analysis/TypeChecking/Checker.hs @@ -150,7 +150,7 @@ checkInductiveDef InductiveDef {..} = runInferenceDef $ do } ) -withEmptyVars :: Sem (Reader LocalVars : r) a -> Sem r a +withEmptyVars :: Sem (Reader LocalVars ': r) a -> Sem r a withEmptyVars = runReader emptyLocalVars -- TODO should we register functions (type synonyms) first? diff --git a/src/Juvix/Compiler/Pipeline/Artifacts.hs b/src/Juvix/Compiler/Pipeline/Artifacts.hs index e38539485..ce10f6baf 100644 --- a/src/Juvix/Compiler/Pipeline/Artifacts.hs +++ b/src/Juvix/Compiler/Pipeline/Artifacts.hs @@ -68,13 +68,13 @@ runPathResolverArtifacts = runStateLikeArtifacts runPathResolverPipe' artifactRe runBuiltinsArtifacts :: Members '[Error JuvixError, State Artifacts] r => Sem (Builtins ': r) a -> Sem r a runBuiltinsArtifacts = runStateLikeArtifacts runBuiltins artifactBuiltins -runParserInfoTableBuilderArtifacts :: Members '[State Artifacts] r => Sem (Concrete.InfoTableBuilder : r) a -> Sem r a +runParserInfoTableBuilderArtifacts :: Members '[State Artifacts] r => Sem (Concrete.InfoTableBuilder ': r) a -> Sem r a runParserInfoTableBuilderArtifacts = runStateLikeArtifacts Concrete.runParserInfoTableBuilderRepl artifactParsing -runScoperInfoTableBuilderArtifacts :: Members '[State Artifacts] r => Sem (Scoped.InfoTableBuilder : r) a -> Sem r a +runScoperInfoTableBuilderArtifacts :: Members '[State Artifacts] r => Sem (Scoped.InfoTableBuilder ': r) a -> Sem r a runScoperInfoTableBuilderArtifacts = runStateLikeArtifacts Scoped.runInfoTableBuilderRepl artifactScopeTable -runScoperScopeArtifacts :: Members '[State Artifacts] r => Sem (State S.Scope : r) a -> Sem r a +runScoperScopeArtifacts :: Members '[State Artifacts] r => Sem (State S.Scope ': r) a -> Sem r a runScoperScopeArtifacts m = do s <- fromJust <$> gets (^. artifactMainModuleScope) (s', a) <- runState s m diff --git a/src/Juvix/Compiler/Pipeline/Package.hs b/src/Juvix/Compiler/Pipeline/Package.hs index ef988889e..8e5abc903 100644 --- a/src/Juvix/Compiler/Pipeline/Package.hs +++ b/src/Juvix/Compiler/Pipeline/Package.hs @@ -4,6 +4,7 @@ module Juvix.Compiler.Pipeline.Package RawPackage, Package, Package' (..), + defaultVersion, defaultStdlibDep, packageName, packageBuildDir, @@ -154,7 +155,7 @@ defaultPackageName :: Text defaultPackageName = "my-project" defaultVersion :: SemVer -defaultVersion = SemVer 0 0 0 [] Nothing +defaultVersion = SemVer 0 0 0 Nothing Nothing globalPackage :: Package globalPackage = diff --git a/src/Juvix/Compiler/Pipeline/Repl.hs b/src/Juvix/Compiler/Pipeline/Repl.hs index ea605d46e..b90171042 100644 --- a/src/Juvix/Compiler/Pipeline/Repl.hs +++ b/src/Juvix/Compiler/Pipeline/Repl.hs @@ -69,14 +69,14 @@ runToInternal :: Members '[Reader EntryPoint, State Artifacts, Error JuvixError] r => Sem ( State Scoper.ScoperState - : FromConcrete.MCache - : Reader Scoper.ScopeParameters - : Reader (HashSet NameId) - : State Scoper.Scope - : Concrete.InfoTableBuilder - : Builtins - : NameIdGen - : r + ': FromConcrete.MCache + ': Reader Scoper.ScopeParameters + ': Reader (HashSet NameId) + ': State Scoper.Scope + ': Concrete.InfoTableBuilder + ': Builtins + ': NameIdGen + ': r ) b -> Sem r b diff --git a/src/Juvix/Data/Effect/Files/Pure.hs b/src/Juvix/Data/Effect/Files/Pure.hs index af567cbfc..e34e5296b 100644 --- a/src/Juvix/Data/Effect/Files/Pure.hs +++ b/src/Juvix/Data/Effect/Files/Pure.hs @@ -2,14 +2,11 @@ module Juvix.Data.Effect.Files.Pure where import Data.HashMap.Strict qualified as HashMap import Data.Tree -import Data.Unique import Juvix.Data.Effect.Files.Base import Juvix.Extra.Version import Juvix.Prelude.Base import Juvix.Prelude.Path import Juvix.Prelude.Prepath -import Polysemy.ConstraintAbsorber.MonadCatch -import Polysemy.Fresh import System.FilePath qualified as FilePath import Prelude qualified @@ -112,20 +109,6 @@ canonicalDirPure cwd0 = dotdot . (^. prepath) juvixConfigDirPure :: Path Abs Dir juvixConfigDirPure = $(mkAbsDir "/.config/juvix/") versionDir -runTempFilePure :: - Members '[Files, Fresh Unique, Error SomeException] r => - Sem (TempFile ': r) a -> - Sem r a -runTempFilePure = interpret $ \case - TempFilePath -> do - tmpDir <- absorbMonadThrow (parseAbsDir "/tmp") - uid <- show . hashUnique <$> fresh - tmpFile <- absorbMonadThrow (parseRelFile uid) - let p = tmpDir tmpFile - writeFile' p "" - return p - RemoveTempFile p -> removeFile' p - missingErr :: (Members '[State FS] r) => FilePath -> Sem r a missingErr f = do root <- get @FS diff --git a/src/Juvix/Data/Error/GenericError.hs b/src/Juvix/Data/Error/GenericError.hs index 74844d2e6..3741c6ec6 100644 --- a/src/Juvix/Data/Error/GenericError.hs +++ b/src/Juvix/Data/Error/GenericError.hs @@ -104,6 +104,6 @@ runErrorIO = runErrorIO' :: (ToGenericError a, Member (Embed IO) r) => - Sem (Error a : r) b -> + Sem (Error a ': r) b -> Sem r b runErrorIO' = runReader defaultGenericOptions . runErrorIO . raiseUnder diff --git a/src/Juvix/Data/Yaml.hs b/src/Juvix/Data/Yaml.hs index 0584dfcd3..cb8d9170f 100644 --- a/src/Juvix/Data/Yaml.hs +++ b/src/Juvix/Data/Yaml.hs @@ -6,7 +6,7 @@ module Juvix.Data.Yaml where import Data.Aeson.BetterErrors hiding (mapError, (<|>)) -import Data.Aeson.Internal (formatError) +import Data.Aeson.Types (formatError) import Data.Yaml (FromJSON (..), ParseException (..), prettyPrintParseException) import Data.Yaml.Internal (Warning (..), decodeHelper) import GHC.IO (unsafePerformIO) diff --git a/src/Juvix/Formatter.hs b/src/Juvix/Formatter.hs index 1808e3c0c..d153992e4 100644 --- a/src/Juvix/Formatter.hs +++ b/src/Juvix/Formatter.hs @@ -108,7 +108,7 @@ formatProject p = do subRes <- combineResults <$> mapM format juvixFiles return (res <> subRes, RecurseFilter (\hasJuvixYaml d -> not hasJuvixYaml && not (isHiddenDirectory d))) -formatPath :: Members [Reader NewSyntax, Reader Text, ScopeEff] r => Path Abs File -> Sem r (NonEmpty AnsiText) +formatPath :: Members '[Reader NewSyntax, Reader Text, ScopeEff] r => Path Abs File -> Sem r (NonEmpty AnsiText) formatPath p = do res <- scopeFile p formatScoperResult res @@ -147,7 +147,7 @@ formatResultFromContents formattedContents filepath = do ) return res -formatScoperResult :: Members [Reader NewSyntax, Reader Text] r => Scoper.ScoperResult -> Sem r (NonEmpty AnsiText) +formatScoperResult :: Members '[Reader NewSyntax, Reader Text] r => Scoper.ScoperResult -> Sem r (NonEmpty AnsiText) formatScoperResult res = do let cs = res ^. Scoper.comments formattedModules <- @@ -165,7 +165,7 @@ formatScoperResult res = do Nothing -> return formattedModules where - formatTopModule :: Members [Reader NewSyntax, Reader Comments] r => Module 'Scoped 'ModuleTop -> Sem r AnsiText + formatTopModule :: Members '[Reader NewSyntax, Reader Comments] r => Module 'Scoped 'ModuleTop -> Sem r AnsiText formatTopModule m = do NewSyntax newSyntax <- ask cs <- ask diff --git a/src/Juvix/Prelude/Base.hs b/src/Juvix/Prelude/Base.hs index 91fc1741e..919138054 100644 --- a/src/Juvix/Prelude/Base.hs +++ b/src/Juvix/Prelude/Base.hs @@ -80,6 +80,7 @@ module Juvix.Prelude.Base IsString (..), Alternative (..), MonadIO (..), + type (~), ) where @@ -142,6 +143,7 @@ import Data.Text.Encoding import Data.Text.IO import Data.Traversable import Data.Tuple.Extra hiding (both) +import Data.Type.Equality (type (~)) import Data.Typeable hiding (TyCon) import Data.Void import Data.Word diff --git a/src/Juvix/Prelude/Path/OrphanInstances.hs b/src/Juvix/Prelude/Path/OrphanInstances.hs index 12531c219..99a0e1c65 100644 --- a/src/Juvix/Prelude/Path/OrphanInstances.hs +++ b/src/Juvix/Prelude/Path/OrphanInstances.hs @@ -8,58 +8,9 @@ module Juvix.Prelude.Path.OrphanInstances where import Juvix.Prelude.Base import Path -import Path.IO import Prettyprinter instance Pretty (Path a b) where pretty = pretty . toFilePath deriving stock instance (Data b) => Data (SomeBase b) - -instance AnyPath (SomeBase File) where - type AbsPath (SomeBase File) = Path Abs File - type RelPath (SomeBase File) = Path Rel File - - canonicalizePath :: (MonadIO m) => SomeBase File -> m (Path Abs File) - canonicalizePath = \case - Abs a -> canonicalizePath a - Rel a -> canonicalizePath a - - makeAbsolute :: (MonadIO m) => SomeBase File -> m (Path Abs File) - makeAbsolute = \case - Abs a -> makeAbsolute a - Rel a -> makeAbsolute a - - makeRelative :: (MonadThrow m) => Path Abs Dir -> SomeBase File -> m (Path Rel File) - makeRelative r = \case - Abs a -> makeRelative r a - Rel a -> makeRelative r a - - makeRelativeToCurrentDir :: (MonadIO m) => SomeBase File -> m (Path Rel File) - makeRelativeToCurrentDir = \case - Abs a -> makeRelativeToCurrentDir a - Rel a -> makeRelativeToCurrentDir a - -instance AnyPath (SomeBase Dir) where - type AbsPath (SomeBase Dir) = Path Abs Dir - type RelPath (SomeBase Dir) = Path Rel Dir - - canonicalizePath :: (MonadIO m) => SomeBase Dir -> m (Path Abs Dir) - canonicalizePath = \case - Abs a -> canonicalizePath a - Rel a -> canonicalizePath a - - makeAbsolute :: (MonadIO m) => SomeBase Dir -> m (Path Abs Dir) - makeAbsolute = \case - Abs a -> makeAbsolute a - Rel a -> makeAbsolute a - - makeRelative :: (MonadThrow m) => Path Abs Dir -> SomeBase Dir -> m (Path Rel Dir) - makeRelative r = \case - Abs a -> makeRelative r a - Rel a -> makeRelative r a - - makeRelativeToCurrentDir :: (MonadIO m) => SomeBase Dir -> m (Path Rel Dir) - makeRelativeToCurrentDir = \case - Abs a -> makeRelativeToCurrentDir a - Rel a -> makeRelativeToCurrentDir a diff --git a/stack.yaml b/stack.yaml index e1d55c331..e968cabee 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,8 +1,12 @@ ghc-options: "$locals": -optP-Wno-nonportable-include-path -resolver: lts-20.21 +resolver: lts-21.6 extra-deps: - git: https://github.com/janmasrovira/repline.git commit: a735ab1459db408adda080eb5ea21b96fb4a6011 - git: https://github.com/janmasrovira/haskeline.git commit: 81e393e156508a20fcc197acc945b0f44aa4f82b + - aeson-better-errors-0.9.1.1 +allow-newer: true +allow-newer-deps: + - aeson-better-errors