mirror of
https://github.com/GaloisInc/cryptol.git
synced 2024-10-04 01:17:40 +03:00
Merge pull request #1665 from GaloisInc/ghc-9.8
Support building with GHC 9.8
This commit is contained in:
commit
14588662ed
27
.github/workflows/ci.yml
vendored
27
.github/workflows/ci.yml
vendored
@ -65,28 +65,28 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-22.04]
|
||||
ghc-version: ["9.2.8", "9.4.7", "9.6.2"]
|
||||
cabal: [ '3.10.1.0' ]
|
||||
ghc-version: ["9.4.8", "9.6.5", "9.8.2"]
|
||||
cabal: [ '3.10.3.0' ]
|
||||
run-tests: [true]
|
||||
include:
|
||||
# We include one job from an older Ubuntu LTS release to increase our
|
||||
# coverage of possible Linux configurations. Since we already run the
|
||||
# tests with the newest LTS release, we won't bother testing this one.
|
||||
- os: ubuntu-20.04
|
||||
ghc-version: 9.2.8
|
||||
ghc-version: 9.4.8
|
||||
run-tests: false
|
||||
# Windows and macOS CI runners are more expensive than Linux runners,
|
||||
# so we only build one particular GHC version to test them on. We
|
||||
# include both an x86-64 macOS runner (macos-12) as well as an AArch64
|
||||
# macOS runner (macos-14).
|
||||
- os: windows-2019
|
||||
ghc-version: 9.2.8
|
||||
ghc-version: 9.4.8
|
||||
run-tests: true
|
||||
- os: macos-12
|
||||
ghc-version: 9.2.8
|
||||
ghc-version: 9.4.8
|
||||
run-tests: true
|
||||
- os: macos-14
|
||||
ghc-version: 9.2.8
|
||||
ghc-version: 9.4.8
|
||||
run-tests: true
|
||||
outputs:
|
||||
test-lib-json: ${{ steps.test-lib.outputs.targets-json }}
|
||||
@ -227,13 +227,13 @@ jobs:
|
||||
if-no-files-found: error
|
||||
retention-days: ${{ needs.config.outputs.retention-days }}
|
||||
|
||||
- if: matrix.ghc-version == '9.2.8' && matrix.run-tests
|
||||
- if: matrix.ghc-version == '9.4.8' && matrix.run-tests
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
path: dist/bin
|
||||
name: ${{ matrix.os }}-dist-bin
|
||||
|
||||
- if: matrix.ghc-version == '9.2.8' && matrix.run-tests
|
||||
- if: matrix.ghc-version == '9.4.8' && matrix.run-tests
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
path: bin
|
||||
@ -287,7 +287,7 @@ jobs:
|
||||
|
||||
- uses: haskell/actions/setup@v2
|
||||
with:
|
||||
ghc-version: '9.2.8'
|
||||
ghc-version: '9.4.8'
|
||||
|
||||
# Homebrew installs packages in different directories depending on which
|
||||
# macOS architecture you are using:
|
||||
@ -311,13 +311,16 @@ jobs:
|
||||
uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
update: true
|
||||
msystem: MINGW64
|
||||
# NB: Use CLANG64 here, not MINGW64. GHC 9.4 and later bundle a
|
||||
# Clang-based C toolchain on Windows, and the FFI-related tests work
|
||||
# best when the DLLs are compiled with Clang as well.
|
||||
msystem: CLANG64
|
||||
# These are needed for the ffi tests on Windows
|
||||
install: |
|
||||
diffutils
|
||||
make
|
||||
mingw-w64-x86_64-gcc
|
||||
mingw-w64-x86_64-gmp
|
||||
mingw-w64-clang-x86_64-gcc
|
||||
mingw-w64-clang-x86_64-gmp
|
||||
if: matrix.suite == 'test-lib' && runner.os == 'Windows'
|
||||
|
||||
- if: matrix.suite == 'rpc'
|
||||
|
4
.gitpod.Dockerfile
vendored
4
.gitpod.Dockerfile
vendored
@ -19,10 +19,10 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -yq \
|
||||
RUN curl https://i.jpillora.com/chisel! | bash
|
||||
|
||||
# Install GHC
|
||||
ARG GHCVER="9.2.8"
|
||||
ARG GHCVER="9.4.8"
|
||||
ENV GHCUP_INSTALL_BASE_PREFIX=/opt \
|
||||
PATH=/opt/.ghcup/bin:$PATH
|
||||
RUN curl -o /usr/local/bin/ghcup "https://downloads.haskell.org/~ghcup/0.1.19.4/x86_64-linux-ghcup-0.1.19.4" && \
|
||||
RUN curl -o /usr/local/bin/ghcup "https://downloads.haskell.org/~ghcup/0.1.22.0/x86_64-linux-ghcup-0.1.22.0" && \
|
||||
chmod +x /usr/local/bin/ghcup
|
||||
RUN ghcup install cabal --set
|
||||
ENV PATH=/root/.cabal/bin:$PATH
|
||||
|
@ -1,7 +1,7 @@
|
||||
FROM ubuntu:22.04 AS build
|
||||
|
||||
ARG GHCVER="9.2.8"
|
||||
ARG CABALVER="3.10.1.0"
|
||||
ARG GHCVER="9.4.8"
|
||||
ARG CABALVER="3.10.3.0"
|
||||
RUN apt-get update && \
|
||||
apt-get install -y \
|
||||
# ghcup requirements
|
||||
@ -28,7 +28,7 @@ ENV LANG=C.UTF-8 \
|
||||
LC_ALL=C.UTF-8
|
||||
COPY cabal.GHC-${GHCVER}.config cabal.project.freeze
|
||||
RUN mkdir -p /home/cryptol/.local/bin && \
|
||||
curl -L https://downloads.haskell.org/~ghcup/0.1.19.4/x86_64-linux-ghcup-0.1.19.4 -o /home/cryptol/.local/bin/ghcup && \
|
||||
curl -L https://downloads.haskell.org/~ghcup/0.1.22.0/x86_64-linux-ghcup-0.1.22.0 -o /home/cryptol/.local/bin/ghcup && \
|
||||
chmod +x /home/cryptol/.local/bin/ghcup
|
||||
RUN mkdir -p /home/cryptol/.ghcup && \
|
||||
ghcup --version && \
|
||||
|
@ -82,8 +82,8 @@ Windows. We regularly build and test it in the following environments:
|
||||
## Prerequisites
|
||||
|
||||
Cryptol is regularly built and tested with the three most recent
|
||||
versions of GHC, which at the time of this writing are 9.2.8, 9.4.7, and
|
||||
9.6.2. The easiest way to install an appropriate version of GHC is
|
||||
versions of GHC, which at the time of this writing are 9.4.8, 9.6.2, and
|
||||
9.8.2. The easiest way to install an appropriate version of GHC is
|
||||
with [ghcup](https://www.haskell.org/ghcup/).
|
||||
|
||||
Some supporting non-Haskell libraries are required to build
|
||||
|
@ -8,18 +8,18 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.HUnit ==1.6.2.0,
|
||||
any.MemoTrie ==0.6.11,
|
||||
MemoTrie -examples,
|
||||
any.OneTuple ==0.4.1.1,
|
||||
any.OneTuple ==0.4.2,
|
||||
any.Only ==0.1,
|
||||
any.QuickCheck ==2.14.3,
|
||||
QuickCheck -old-random +templatehaskell,
|
||||
any.StateVar ==1.2.2,
|
||||
any.adjunctions ==4.4.2,
|
||||
any.aeson ==2.2.1.0,
|
||||
any.aeson ==2.2.2.0,
|
||||
aeson +ordered-keymap,
|
||||
any.alex ==3.5.0.0,
|
||||
any.ansi-terminal ==1.0.2,
|
||||
any.alex ==3.5.1.0,
|
||||
any.ansi-terminal ==1.1.1,
|
||||
ansi-terminal -example,
|
||||
any.ansi-terminal-types ==0.11.5,
|
||||
any.ansi-terminal-types ==1.1,
|
||||
any.ansi-wl-pprint ==1.0.2,
|
||||
ansi-wl-pprint -example,
|
||||
any.appar ==0.1.8,
|
||||
@ -28,44 +28,47 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.asn1-encoding ==0.9.6,
|
||||
any.asn1-parse ==0.9.5,
|
||||
any.asn1-types ==0.3.4,
|
||||
any.assoc ==1.1,
|
||||
assoc +tagged,
|
||||
any.assoc ==1.1.1,
|
||||
assoc -tagged,
|
||||
any.async ==2.2.5,
|
||||
async -bench,
|
||||
any.attoparsec ==0.14.4,
|
||||
attoparsec -developer,
|
||||
any.auto-update ==0.1.6,
|
||||
any.base ==4.17.2.0,
|
||||
any.auto-update ==0.2.0,
|
||||
any.base ==4.17.2.1,
|
||||
any.base-compat ==0.12.3,
|
||||
any.base-compat-batteries ==0.12.3,
|
||||
any.base-orphans ==0.9.1,
|
||||
any.base-orphans ==0.9.2,
|
||||
any.base16-bytestring ==1.0.2.0,
|
||||
any.base64-bytestring ==1.2.1.0,
|
||||
any.basement ==0.0.16,
|
||||
any.bifunctors ==5.6.1,
|
||||
any.bifunctors ==5.6.2,
|
||||
bifunctors +tagged,
|
||||
any.bimap ==0.5.0,
|
||||
any.binary ==0.8.9.1,
|
||||
any.binary-orphans ==1.0.4.1,
|
||||
any.binary-orphans ==1.0.5,
|
||||
any.bitvec ==1.1.5.0,
|
||||
bitvec +simd,
|
||||
any.bitwise ==1.0.0.1,
|
||||
any.blaze-builder ==0.4.2.3,
|
||||
any.blaze-html ==0.9.1.2,
|
||||
any.blaze-html ==0.9.2.0,
|
||||
any.blaze-markup ==0.8.3.0,
|
||||
any.boring ==0.2.1,
|
||||
any.boring ==0.2.2,
|
||||
boring +tagged,
|
||||
any.bsb-http-chunked ==0.0.0.4,
|
||||
any.bv-sized ==1.0.5,
|
||||
any.byteorder ==1.0.4,
|
||||
any.bytestring ==0.11.5.2,
|
||||
any.bytestring ==0.11.5.3,
|
||||
any.cabal-doctest ==1.0.9,
|
||||
any.call-stack ==0.4.0,
|
||||
any.case-insensitive ==1.2.1.0,
|
||||
any.cassava ==0.5.3.0,
|
||||
cassava -bytestring--lt-0_10_4,
|
||||
any.cassava ==0.5.3.1,
|
||||
any.cborg ==0.2.10.0,
|
||||
cborg +optimize-gmp,
|
||||
any.cereal ==0.5.8.3,
|
||||
cereal -bytestring-builder,
|
||||
any.chimera ==0.4.0.0,
|
||||
any.character-ps ==0.1,
|
||||
any.chimera ==0.4.1.0,
|
||||
chimera +representable,
|
||||
any.clock ==0.8.4,
|
||||
clock -llvm,
|
||||
@ -75,30 +78,31 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
comonad +containers +distributive +indexed-traversable,
|
||||
any.concurrent-extra ==0.7.0.12,
|
||||
any.config-value ==0.8.3,
|
||||
any.constraints ==0.14,
|
||||
any.constraints ==0.14.2,
|
||||
any.containers ==0.6.7,
|
||||
any.contravariant ==1.5.5,
|
||||
contravariant +semigroups +statevar +tagged,
|
||||
any.cookie ==0.4.6,
|
||||
any.cookie ==0.5.0,
|
||||
any.criterion ==1.6.3.0,
|
||||
criterion -embed-data-files -fast,
|
||||
any.criterion-measurement ==0.2.1.0,
|
||||
any.criterion-measurement ==0.2.2.0,
|
||||
criterion-measurement -fast,
|
||||
any.crypto-token ==0.1.1,
|
||||
any.cryptohash-md5 ==0.11.101.0,
|
||||
any.cryptohash-sha1 ==0.11.101.0,
|
||||
cryptol +ffi +relocatable -static,
|
||||
cryptol-remote-api -notthreaded -static,
|
||||
cryptol-test-runner -static,
|
||||
any.crypton ==0.34,
|
||||
any.crypton ==1.0.0,
|
||||
crypton -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq +support_pclmuldq +support_rdrand -support_sse +use_target_attributes,
|
||||
any.crypton-x509 ==1.7.6,
|
||||
any.crypton-x509-store ==1.6.9,
|
||||
any.crypton-x509-validation ==1.6.12,
|
||||
any.data-default-class ==0.1.2.0,
|
||||
any.data-fix ==0.3.2,
|
||||
any.data-fix ==0.3.3,
|
||||
any.deepseq ==1.4.8.0,
|
||||
any.dense-linear-algebra ==0.1.0.0,
|
||||
any.deriving-compat ==0.6.5,
|
||||
any.deriving-compat ==0.6.6,
|
||||
deriving-compat +base-4-9 +new-functor-classes +template-haskell-2-11,
|
||||
any.directory ==1.3.7.1,
|
||||
any.distributive ==0.6.2.1,
|
||||
@ -111,8 +115,8 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.exact-pi ==0.5.0.2,
|
||||
any.exceptions ==0.10.5,
|
||||
any.extensible-exceptions ==0.1.1.4,
|
||||
any.extra ==1.7.14,
|
||||
any.fast-logger ==3.2.2,
|
||||
any.extra ==1.7.16,
|
||||
any.fast-logger ==3.2.3,
|
||||
any.file-embed ==0.0.16.0,
|
||||
any.filelock ==0.1.1.7,
|
||||
any.filepath ==1.4.2.2,
|
||||
@ -122,11 +126,12 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.free ==5.2,
|
||||
any.generically ==0.1.1,
|
||||
any.ghc-bignum ==1.3,
|
||||
any.ghc-boot-th ==9.4.7,
|
||||
any.ghc-boot-th ==9.4.8,
|
||||
any.ghc-prim ==0.9.1,
|
||||
any.gitrev ==1.3.1,
|
||||
any.half ==0.3.1,
|
||||
any.happy ==1.20.1.1,
|
||||
any.hashable ==1.4.3.0,
|
||||
any.hashable ==1.4.4.0,
|
||||
hashable +integer-gmp -random-initial-seed,
|
||||
any.hashtables ==1.3.1,
|
||||
hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks,
|
||||
@ -138,24 +143,25 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.hsc2hs ==0.68.10,
|
||||
hsc2hs -in-ghc-tree,
|
||||
any.http-date ==0.0.11,
|
||||
any.http-semantics ==0.0.0,
|
||||
any.http-types ==0.12.4,
|
||||
any.http2 ==5.0.1,
|
||||
any.http2 ==5.2.1,
|
||||
http2 -devel -h2spec,
|
||||
any.ieee754 ==0.8.0,
|
||||
any.indexed-traversable ==0.1.3,
|
||||
any.indexed-traversable-instances ==0.1.1.2,
|
||||
any.indexed-traversable ==0.1.4,
|
||||
any.indexed-traversable-instances ==0.1.2,
|
||||
any.infinite-list ==0.1.1,
|
||||
any.integer-conversion ==0.1.0.1,
|
||||
any.integer-conversion ==0.1.1,
|
||||
any.integer-gmp ==1.1,
|
||||
any.integer-logarithms ==1.0.3.1,
|
||||
integer-logarithms -check-bounds +integer-gmp,
|
||||
any.integer-roots ==1.0.2.0,
|
||||
any.invariant ==0.6.2,
|
||||
any.invariant ==0.6.3,
|
||||
any.io-streams ==1.5.2.2,
|
||||
io-streams +network -nointeractivetests +zlib,
|
||||
any.iproute ==1.7.12,
|
||||
any.js-chart ==2.9.4.1,
|
||||
any.kan-extensions ==5.2.5,
|
||||
any.kan-extensions ==5.2.6,
|
||||
any.language-c99 ==0.2.0,
|
||||
any.language-c99-simple ==0.3.0,
|
||||
any.language-c99-util ==0.2.0,
|
||||
@ -165,13 +171,13 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
libBF -system-libbf,
|
||||
any.libffi ==0.2.1,
|
||||
libffi +ghc-bundled-libffi,
|
||||
any.math-functions ==0.3.4.3,
|
||||
any.math-functions ==0.3.4.4,
|
||||
math-functions +system-erf +system-expm1,
|
||||
any.megaparsec ==9.6.1,
|
||||
megaparsec -dev,
|
||||
any.memory ==0.18.0,
|
||||
memory +support_bytestring +support_deepseq,
|
||||
any.microstache ==1.0.2.3,
|
||||
any.microstache ==1.0.3,
|
||||
any.mod ==0.2.0.1,
|
||||
mod +semirings +vector,
|
||||
any.monad-control ==1.0.3.1,
|
||||
@ -181,7 +187,7 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.network ==3.1.4.0,
|
||||
network -devel,
|
||||
any.network-byte-order ==0.1.7,
|
||||
any.network-control ==0.0.2,
|
||||
any.network-control ==0.1.0,
|
||||
any.network-info ==0.2.1,
|
||||
any.network-uri ==2.6.4.2,
|
||||
any.newtype-generics ==0.6.2,
|
||||
@ -190,7 +196,8 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.old-time ==1.1.0.4,
|
||||
any.optparse-applicative ==0.18.1.0,
|
||||
optparse-applicative +process,
|
||||
any.ordered-containers ==0.2.3,
|
||||
any.ordered-containers ==0.2.4,
|
||||
any.os-string ==2.0.2.2,
|
||||
any.panic ==0.4.0.1,
|
||||
any.parallel ==3.2.2.0,
|
||||
any.parameterized-utils ==2.1.8.0,
|
||||
@ -206,14 +213,14 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.prettyprinter-ansi-terminal ==1.1.3,
|
||||
any.prettyprinter-compat-ansi-wl-pprint ==1.0.2,
|
||||
any.primitive ==0.9.0.0,
|
||||
any.process ==1.6.17.0,
|
||||
any.process ==1.6.18.0,
|
||||
any.profunctors ==5.6.2,
|
||||
any.psqueues ==0.2.8.0,
|
||||
any.quickcheck-instances ==0.3.30,
|
||||
quickcheck-instances -bytestring-builder,
|
||||
any.random ==1.2.1.2,
|
||||
any.recv ==0.1.0,
|
||||
any.reflection ==2.1.7,
|
||||
any.reflection ==2.1.8,
|
||||
reflection -slow +template-haskell,
|
||||
any.regex-base ==0.94.0.2,
|
||||
any.regex-compat ==0.95.2.1,
|
||||
@ -225,18 +232,20 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
s-cargot -build-example,
|
||||
any.safe ==0.3.21,
|
||||
any.safe-exceptions ==0.1.7.4,
|
||||
any.sbv ==10.2,
|
||||
any.scientific ==0.3.7.0,
|
||||
scientific -bytestring-builder -integer-simple,
|
||||
any.scotty ==0.12.1,
|
||||
any.semialign ==1.3,
|
||||
any.sbv ==10.10,
|
||||
any.scientific ==0.3.8.0,
|
||||
scientific -integer-simple,
|
||||
any.scotty ==0.21,
|
||||
any.semialign ==1.3.1,
|
||||
semialign +semigroupoids,
|
||||
any.semigroupoids ==6.0.0.1,
|
||||
any.semigroupoids ==6.0.1,
|
||||
semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers,
|
||||
any.semigroups ==0.20,
|
||||
semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers,
|
||||
any.semirings ==0.6,
|
||||
semirings +containers +unordered-containers,
|
||||
any.serialise ==0.2.6.1,
|
||||
serialise +newtime15,
|
||||
any.silently ==1.2.5.3,
|
||||
any.simple-get-opt ==0.4,
|
||||
any.simple-sendfile ==0.2.32,
|
||||
@ -264,28 +273,26 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
test-framework-hunit -base3 +base4,
|
||||
any.test-lib ==0.4,
|
||||
any.text ==2.0.2,
|
||||
any.text-iso8601 ==0.1,
|
||||
any.text-short ==0.1.5,
|
||||
any.text-iso8601 ==0.1.1,
|
||||
any.text-short ==0.1.6,
|
||||
text-short -asserts,
|
||||
any.tf-random ==0.5,
|
||||
any.th-abstraction ==0.6.0.0,
|
||||
any.th-compat ==0.1.4,
|
||||
any.th-compat ==0.1.5,
|
||||
any.th-lift ==0.8.4,
|
||||
any.th-lift-instances ==0.1.20,
|
||||
any.these ==1.2,
|
||||
any.these ==1.2.1,
|
||||
any.time ==1.12.2,
|
||||
any.time-compat ==1.9.6.1,
|
||||
time-compat -old-locale,
|
||||
any.time-manager ==0.0.1,
|
||||
any.tls ==1.9.0,
|
||||
tls +compat -hans +network,
|
||||
any.tls-session-manager ==0.0.4,
|
||||
any.time-compat ==1.9.7,
|
||||
any.time-manager ==0.1.0,
|
||||
any.tls ==2.0.5,
|
||||
tls -devel,
|
||||
any.tls-session-manager ==0.0.5,
|
||||
any.transformers ==0.5.6.2,
|
||||
any.transformers-base ==0.4.6,
|
||||
transformers-base +orphaninstances,
|
||||
any.transformers-compat ==0.7.2,
|
||||
transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
|
||||
any.type-equality ==1,
|
||||
any.unbounded-delays ==0.1.1.1,
|
||||
any.uniplate ==1.6.13,
|
||||
any.unix ==2.7.3,
|
||||
@ -308,23 +315,23 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.vector-binary-instances ==0.2.5.2,
|
||||
any.vector-stream ==0.1.0.1,
|
||||
any.vector-th-unbox ==0.2.2,
|
||||
any.versions ==6.0.5,
|
||||
any.versions ==6.0.6,
|
||||
any.void ==0.7.3,
|
||||
void -safe,
|
||||
any.wai ==3.2.4,
|
||||
any.wai-extra ==3.1.14,
|
||||
any.wai-extra ==3.1.15,
|
||||
wai-extra -build-example,
|
||||
any.wai-logger ==2.4.0,
|
||||
any.warp ==3.3.31,
|
||||
any.warp ==3.4.1,
|
||||
warp +allow-sendfilefd -network-bytestring -warp-debug +x509,
|
||||
any.warp-tls ==3.4.4,
|
||||
any.what4 ==1.5.1,
|
||||
any.warp-tls ==3.4.5,
|
||||
any.what4 ==1.6,
|
||||
what4 -drealtestdisable -solvertests -stptestdisable,
|
||||
any.witherable ==0.4.2,
|
||||
any.witherable ==0.5,
|
||||
any.word8 ==0.1.3,
|
||||
any.xml ==1.3.14,
|
||||
any.zenc ==0.1.2,
|
||||
any.zlib ==0.6.3.0,
|
||||
zlib -bundled-c-zlib -non-blocking-ffi -pkg-config,
|
||||
any.zlib ==0.7.1.0,
|
||||
zlib +non-blocking-ffi,
|
||||
any.zlib-bindings ==0.1.1.5
|
||||
index-state: hackage.haskell.org 2024-02-06T22:11:38Z
|
||||
index-state: hackage.haskell.org 2024-05-20T12:40:45Z
|
@ -1,71 +1,74 @@
|
||||
active-repositories: hackage.haskell.org:merge
|
||||
constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.Cabal ==3.10.1.0,
|
||||
any.Cabal-syntax ==3.10.1.0,
|
||||
any.Cabal ==3.10.3.0,
|
||||
any.Cabal-syntax ==3.10.3.0,
|
||||
any.Glob ==0.10.2,
|
||||
any.GraphSCC ==1.0.4,
|
||||
GraphSCC -use-maps,
|
||||
any.HUnit ==1.6.2.0,
|
||||
any.MemoTrie ==0.6.11,
|
||||
MemoTrie -examples,
|
||||
any.OneTuple ==0.4.1.1,
|
||||
any.OneTuple ==0.4.2,
|
||||
any.Only ==0.1,
|
||||
any.QuickCheck ==2.14.3,
|
||||
QuickCheck -old-random +templatehaskell,
|
||||
any.StateVar ==1.2.2,
|
||||
any.adjunctions ==4.4.2,
|
||||
any.aeson ==2.2.1.0,
|
||||
any.aeson ==2.2.2.0,
|
||||
aeson +ordered-keymap,
|
||||
any.alex ==3.5.0.0,
|
||||
any.ansi-terminal ==1.0.2,
|
||||
any.alex ==3.5.1.0,
|
||||
any.ansi-terminal ==1.1.1,
|
||||
ansi-terminal -example,
|
||||
any.ansi-terminal-types ==0.11.5,
|
||||
any.ansi-terminal-types ==1.1,
|
||||
any.ansi-wl-pprint ==1.0.2,
|
||||
ansi-wl-pprint -example,
|
||||
any.appar ==0.1.8,
|
||||
any.arithmoi ==0.13.0.0,
|
||||
any.array ==0.5.5.0,
|
||||
any.array ==0.5.6.0,
|
||||
any.asn1-encoding ==0.9.6,
|
||||
any.asn1-parse ==0.9.5,
|
||||
any.asn1-types ==0.3.4,
|
||||
any.assoc ==1.1,
|
||||
assoc +tagged,
|
||||
any.assoc ==1.1.1,
|
||||
assoc -tagged,
|
||||
any.async ==2.2.5,
|
||||
async -bench,
|
||||
any.attoparsec ==0.14.4,
|
||||
attoparsec -developer,
|
||||
any.auto-update ==0.1.6,
|
||||
any.base ==4.18.0.0,
|
||||
any.auto-update ==0.2.0,
|
||||
any.base ==4.18.2.1,
|
||||
any.base-compat ==0.12.3,
|
||||
any.base-compat-batteries ==0.12.3,
|
||||
any.base-orphans ==0.9.1,
|
||||
any.base-orphans ==0.9.2,
|
||||
any.base16-bytestring ==1.0.2.0,
|
||||
any.base64-bytestring ==1.2.1.0,
|
||||
any.basement ==0.0.16,
|
||||
any.bifunctors ==5.6.1,
|
||||
any.bifunctors ==5.6.2,
|
||||
bifunctors +tagged,
|
||||
any.bimap ==0.5.0,
|
||||
any.binary ==0.8.9.1,
|
||||
any.binary-orphans ==1.0.4.1,
|
||||
any.binary-orphans ==1.0.5,
|
||||
any.bitvec ==1.1.5.0,
|
||||
bitvec +simd,
|
||||
any.bitwise ==1.0.0.1,
|
||||
any.blaze-builder ==0.4.2.3,
|
||||
any.blaze-html ==0.9.1.2,
|
||||
any.blaze-html ==0.9.2.0,
|
||||
any.blaze-markup ==0.8.3.0,
|
||||
any.boring ==0.2.1,
|
||||
any.boring ==0.2.2,
|
||||
boring +tagged,
|
||||
any.bsb-http-chunked ==0.0.0.4,
|
||||
any.bv-sized ==1.0.5,
|
||||
any.byteorder ==1.0.4,
|
||||
any.bytestring ==0.11.4.0,
|
||||
any.bytestring ==0.11.5.3,
|
||||
any.cabal-doctest ==1.0.9,
|
||||
any.call-stack ==0.4.0,
|
||||
any.case-insensitive ==1.2.1.0,
|
||||
any.cassava ==0.5.3.0,
|
||||
cassava -bytestring--lt-0_10_4,
|
||||
any.cassava ==0.5.3.1,
|
||||
any.cborg ==0.2.10.0,
|
||||
cborg +optimize-gmp,
|
||||
any.cereal ==0.5.8.3,
|
||||
cereal -bytestring-builder,
|
||||
any.chimera ==0.4.0.0,
|
||||
any.character-ps ==0.1,
|
||||
any.chimera ==0.4.1.0,
|
||||
chimera +representable,
|
||||
any.clock ==0.8.4,
|
||||
clock -llvm,
|
||||
@ -75,32 +78,33 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
comonad +containers +distributive +indexed-traversable,
|
||||
any.concurrent-extra ==0.7.0.12,
|
||||
any.config-value ==0.8.3,
|
||||
any.constraints ==0.14,
|
||||
any.constraints ==0.14.2,
|
||||
any.containers ==0.6.7,
|
||||
any.contravariant ==1.5.5,
|
||||
contravariant +semigroups +statevar +tagged,
|
||||
any.cookie ==0.4.6,
|
||||
any.cookie ==0.5.0,
|
||||
any.criterion ==1.6.3.0,
|
||||
criterion -embed-data-files -fast,
|
||||
any.criterion-measurement ==0.2.1.0,
|
||||
any.criterion-measurement ==0.2.2.0,
|
||||
criterion-measurement -fast,
|
||||
any.crypto-token ==0.1.1,
|
||||
any.cryptohash-md5 ==0.11.101.0,
|
||||
any.cryptohash-sha1 ==0.11.101.0,
|
||||
cryptol +ffi +relocatable -static,
|
||||
cryptol-remote-api -notthreaded -static,
|
||||
cryptol-test-runner -static,
|
||||
any.crypton ==0.34,
|
||||
any.crypton ==1.0.0,
|
||||
crypton -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq +support_pclmuldq +support_rdrand -support_sse +use_target_attributes,
|
||||
any.crypton-x509 ==1.7.6,
|
||||
any.crypton-x509-store ==1.6.9,
|
||||
any.crypton-x509-validation ==1.6.12,
|
||||
any.data-default-class ==0.1.2.0,
|
||||
any.data-fix ==0.3.2,
|
||||
any.data-fix ==0.3.3,
|
||||
any.deepseq ==1.4.8.1,
|
||||
any.dense-linear-algebra ==0.1.0.0,
|
||||
any.deriving-compat ==0.6.5,
|
||||
any.deriving-compat ==0.6.6,
|
||||
deriving-compat +base-4-9 +new-functor-classes +template-haskell-2-11,
|
||||
any.directory ==1.3.8.1,
|
||||
any.directory ==1.3.8.4,
|
||||
any.distributive ==0.6.2.1,
|
||||
distributive +semigroups +tagged,
|
||||
any.dlist ==1.0,
|
||||
@ -111,20 +115,21 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.exact-pi ==0.5.0.2,
|
||||
any.exceptions ==0.10.7,
|
||||
any.extensible-exceptions ==0.1.1.4,
|
||||
any.extra ==1.7.14,
|
||||
any.fast-logger ==3.2.2,
|
||||
any.extra ==1.7.16,
|
||||
any.fast-logger ==3.2.3,
|
||||
any.file-embed ==0.0.16.0,
|
||||
any.filelock ==0.1.1.7,
|
||||
any.filepath ==1.4.100.1,
|
||||
any.filepath ==1.4.300.1,
|
||||
any.fingertree ==0.1.5.0,
|
||||
any.free ==5.2,
|
||||
any.generically ==0.1.1,
|
||||
any.ghc-bignum ==1.3,
|
||||
any.ghc-boot-th ==9.6.2,
|
||||
any.ghc-boot-th ==9.6.5,
|
||||
any.ghc-prim ==0.10.0,
|
||||
any.gitrev ==1.3.1,
|
||||
any.half ==0.3.1,
|
||||
any.happy ==1.20.1.1,
|
||||
any.hashable ==1.4.3.0,
|
||||
any.hashable ==1.4.4.0,
|
||||
hashable +integer-gmp -random-initial-seed,
|
||||
any.hashtables ==1.3.1,
|
||||
hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks,
|
||||
@ -136,24 +141,25 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.hsc2hs ==0.68.10,
|
||||
hsc2hs -in-ghc-tree,
|
||||
any.http-date ==0.0.11,
|
||||
any.http-semantics ==0.0.0,
|
||||
any.http-types ==0.12.4,
|
||||
any.http2 ==5.0.1,
|
||||
any.http2 ==5.2.1,
|
||||
http2 -devel -h2spec,
|
||||
any.ieee754 ==0.8.0,
|
||||
any.indexed-traversable ==0.1.3,
|
||||
any.indexed-traversable-instances ==0.1.1.2,
|
||||
any.indexed-traversable ==0.1.4,
|
||||
any.indexed-traversable-instances ==0.1.2,
|
||||
any.infinite-list ==0.1.1,
|
||||
any.integer-conversion ==0.1.0.1,
|
||||
any.integer-conversion ==0.1.1,
|
||||
any.integer-gmp ==1.1,
|
||||
any.integer-logarithms ==1.0.3.1,
|
||||
integer-logarithms -check-bounds +integer-gmp,
|
||||
any.integer-roots ==1.0.2.0,
|
||||
any.invariant ==0.6.2,
|
||||
any.invariant ==0.6.3,
|
||||
any.io-streams ==1.5.2.2,
|
||||
io-streams +network -nointeractivetests +zlib,
|
||||
any.iproute ==1.7.12,
|
||||
any.js-chart ==2.9.4.1,
|
||||
any.kan-extensions ==5.2.5,
|
||||
any.kan-extensions ==5.2.6,
|
||||
any.language-c99 ==0.2.0,
|
||||
any.language-c99-simple ==0.3.0,
|
||||
any.language-c99-util ==0.2.0,
|
||||
@ -163,13 +169,13 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
libBF -system-libbf,
|
||||
any.libffi ==0.2.1,
|
||||
libffi +ghc-bundled-libffi,
|
||||
any.math-functions ==0.3.4.3,
|
||||
any.math-functions ==0.3.4.4,
|
||||
math-functions +system-erf +system-expm1,
|
||||
any.megaparsec ==9.6.1,
|
||||
megaparsec -dev,
|
||||
any.memory ==0.18.0,
|
||||
memory +support_bytestring +support_deepseq,
|
||||
any.microstache ==1.0.2.3,
|
||||
any.microstache ==1.0.3,
|
||||
any.mod ==0.2.0.1,
|
||||
mod +semirings +vector,
|
||||
any.monad-control ==1.0.3.1,
|
||||
@ -179,7 +185,7 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.network ==3.1.4.0,
|
||||
network -devel,
|
||||
any.network-byte-order ==0.1.7,
|
||||
any.network-control ==0.0.2,
|
||||
any.network-control ==0.1.0,
|
||||
any.network-info ==0.2.1,
|
||||
any.network-uri ==2.6.4.2,
|
||||
any.newtype-generics ==0.6.2,
|
||||
@ -188,7 +194,8 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.old-time ==1.1.0.4,
|
||||
any.optparse-applicative ==0.18.1.0,
|
||||
optparse-applicative +process,
|
||||
any.ordered-containers ==0.2.3,
|
||||
any.ordered-containers ==0.2.4,
|
||||
any.os-string ==2.0.2.2,
|
||||
any.panic ==0.4.0.1,
|
||||
any.parallel ==3.2.2.0,
|
||||
any.parameterized-utils ==2.1.8.0,
|
||||
@ -204,14 +211,14 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.prettyprinter-ansi-terminal ==1.1.3,
|
||||
any.prettyprinter-compat-ansi-wl-pprint ==1.0.2,
|
||||
any.primitive ==0.9.0.0,
|
||||
any.process ==1.6.17.0,
|
||||
any.process ==1.6.19.0,
|
||||
any.profunctors ==5.6.2,
|
||||
any.psqueues ==0.2.8.0,
|
||||
any.quickcheck-instances ==0.3.30,
|
||||
quickcheck-instances -bytestring-builder,
|
||||
any.random ==1.2.1.2,
|
||||
any.recv ==0.1.0,
|
||||
any.reflection ==2.1.7,
|
||||
any.reflection ==2.1.8,
|
||||
reflection -slow +template-haskell,
|
||||
any.regex-base ==0.94.0.2,
|
||||
any.regex-compat ==0.95.2.1,
|
||||
@ -223,18 +230,20 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
s-cargot -build-example,
|
||||
any.safe ==0.3.21,
|
||||
any.safe-exceptions ==0.1.7.4,
|
||||
any.sbv ==10.2,
|
||||
any.scientific ==0.3.7.0,
|
||||
scientific -bytestring-builder -integer-simple,
|
||||
any.scotty ==0.12.1,
|
||||
any.semialign ==1.3,
|
||||
any.sbv ==10.10,
|
||||
any.scientific ==0.3.8.0,
|
||||
scientific -integer-simple,
|
||||
any.scotty ==0.21,
|
||||
any.semialign ==1.3.1,
|
||||
semialign +semigroupoids,
|
||||
any.semigroupoids ==6.0.0.1,
|
||||
any.semigroupoids ==6.0.1,
|
||||
semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers,
|
||||
any.semigroups ==0.20,
|
||||
semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers,
|
||||
any.semirings ==0.6,
|
||||
semirings +containers +unordered-containers,
|
||||
any.serialise ==0.2.6.1,
|
||||
serialise +newtime15,
|
||||
any.silently ==1.2.5.3,
|
||||
any.simple-get-opt ==0.4,
|
||||
any.simple-sendfile ==0.2.32,
|
||||
@ -262,31 +271,29 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
test-framework-hunit -base3 +base4,
|
||||
any.test-lib ==0.4,
|
||||
any.text ==2.0.2,
|
||||
any.text-iso8601 ==0.1,
|
||||
any.text-short ==0.1.5,
|
||||
any.text-iso8601 ==0.1.1,
|
||||
any.text-short ==0.1.6,
|
||||
text-short -asserts,
|
||||
any.tf-random ==0.5,
|
||||
any.th-abstraction ==0.6.0.0,
|
||||
any.th-compat ==0.1.4,
|
||||
any.th-compat ==0.1.5,
|
||||
any.th-lift ==0.8.4,
|
||||
any.th-lift-instances ==0.1.20,
|
||||
any.these ==1.2,
|
||||
any.these ==1.2.1,
|
||||
any.time ==1.12.2,
|
||||
any.time-compat ==1.9.6.1,
|
||||
time-compat -old-locale,
|
||||
any.time-manager ==0.0.1,
|
||||
any.tls ==1.9.0,
|
||||
tls +compat -hans +network,
|
||||
any.tls-session-manager ==0.0.4,
|
||||
any.time-compat ==1.9.7,
|
||||
any.time-manager ==0.1.0,
|
||||
any.tls ==2.0.5,
|
||||
tls -devel,
|
||||
any.tls-session-manager ==0.0.5,
|
||||
any.transformers ==0.6.1.0,
|
||||
any.transformers-base ==0.4.6,
|
||||
transformers-base +orphaninstances,
|
||||
any.transformers-compat ==0.7.2,
|
||||
transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
|
||||
any.type-equality ==1,
|
||||
any.unbounded-delays ==0.1.1.1,
|
||||
any.uniplate ==1.6.13,
|
||||
any.unix ==2.8.1.0,
|
||||
any.unix ==2.8.4.0,
|
||||
any.unix-compat ==0.7.1,
|
||||
unix-compat -old-time,
|
||||
any.unix-time ==0.4.12,
|
||||
@ -306,23 +313,23 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.vector-binary-instances ==0.2.5.2,
|
||||
any.vector-stream ==0.1.0.1,
|
||||
any.vector-th-unbox ==0.2.2,
|
||||
any.versions ==6.0.5,
|
||||
any.versions ==6.0.6,
|
||||
any.void ==0.7.3,
|
||||
void -safe,
|
||||
any.wai ==3.2.4,
|
||||
any.wai-extra ==3.1.14,
|
||||
any.wai-extra ==3.1.15,
|
||||
wai-extra -build-example,
|
||||
any.wai-logger ==2.4.0,
|
||||
any.warp ==3.3.31,
|
||||
any.warp ==3.4.1,
|
||||
warp +allow-sendfilefd -network-bytestring -warp-debug +x509,
|
||||
any.warp-tls ==3.4.4,
|
||||
any.what4 ==1.5.1,
|
||||
any.warp-tls ==3.4.5,
|
||||
any.what4 ==1.6,
|
||||
what4 -drealtestdisable -solvertests -stptestdisable,
|
||||
any.witherable ==0.4.2,
|
||||
any.witherable ==0.5,
|
||||
any.word8 ==0.1.3,
|
||||
any.xml ==1.3.14,
|
||||
any.zenc ==0.1.2,
|
||||
any.zlib ==0.6.3.0,
|
||||
zlib -bundled-c-zlib -non-blocking-ffi -pkg-config,
|
||||
any.zlib ==0.7.1.0,
|
||||
zlib +non-blocking-ffi,
|
||||
any.zlib-bindings ==0.1.1.5
|
||||
index-state: hackage.haskell.org 2024-02-06T22:11:38Z
|
||||
index-state: hackage.haskell.org 2024-05-20T12:40:45Z
|
@ -1,70 +1,74 @@
|
||||
active-repositories: hackage.haskell.org:merge
|
||||
constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.Cabal ==3.6.3.0,
|
||||
any.Cabal ==3.10.2.0,
|
||||
any.Cabal-syntax ==3.10.2.0,
|
||||
any.Glob ==0.10.2,
|
||||
any.GraphSCC ==1.0.4,
|
||||
GraphSCC -use-maps,
|
||||
any.HUnit ==1.6.2.0,
|
||||
any.MemoTrie ==0.6.11,
|
||||
MemoTrie -examples,
|
||||
any.OneTuple ==0.4.1.1,
|
||||
any.OneTuple ==0.4.2,
|
||||
any.Only ==0.1,
|
||||
any.QuickCheck ==2.14.3,
|
||||
QuickCheck -old-random +templatehaskell,
|
||||
any.StateVar ==1.2.2,
|
||||
any.adjunctions ==4.4.2,
|
||||
any.aeson ==2.2.1.0,
|
||||
any.aeson ==2.2.2.0,
|
||||
aeson +ordered-keymap,
|
||||
any.alex ==3.5.0.0,
|
||||
any.ansi-terminal ==1.0.2,
|
||||
any.alex ==3.5.1.0,
|
||||
any.ansi-terminal ==1.1.1,
|
||||
ansi-terminal -example,
|
||||
any.ansi-terminal-types ==0.11.5,
|
||||
any.ansi-terminal-types ==1.1,
|
||||
any.ansi-wl-pprint ==1.0.2,
|
||||
ansi-wl-pprint -example,
|
||||
any.appar ==0.1.8,
|
||||
any.arithmoi ==0.13.0.0,
|
||||
any.array ==0.5.4.0,
|
||||
any.array ==0.5.6.0,
|
||||
any.asn1-encoding ==0.9.6,
|
||||
any.asn1-parse ==0.9.5,
|
||||
any.asn1-types ==0.3.4,
|
||||
any.assoc ==1.1,
|
||||
assoc +tagged,
|
||||
any.assoc ==1.1.1,
|
||||
assoc -tagged,
|
||||
any.async ==2.2.5,
|
||||
async -bench,
|
||||
any.attoparsec ==0.14.4,
|
||||
attoparsec -developer,
|
||||
any.auto-update ==0.1.6,
|
||||
any.base ==4.16.4.0,
|
||||
any.auto-update ==0.2.0,
|
||||
any.base ==4.19.1.0,
|
||||
any.base-compat ==0.12.3,
|
||||
any.base-compat-batteries ==0.12.3,
|
||||
any.base-orphans ==0.9.1,
|
||||
any.base-orphans ==0.9.2,
|
||||
any.base16-bytestring ==1.0.2.0,
|
||||
any.base64-bytestring ==1.2.1.0,
|
||||
any.basement ==0.0.16,
|
||||
any.bifunctors ==5.6.1,
|
||||
any.bifunctors ==5.6.2,
|
||||
bifunctors +tagged,
|
||||
any.bimap ==0.5.0,
|
||||
any.binary ==0.8.9.0,
|
||||
any.binary-orphans ==1.0.4.1,
|
||||
any.binary ==0.8.9.1,
|
||||
any.binary-orphans ==1.0.5,
|
||||
any.bitvec ==1.1.5.0,
|
||||
bitvec +simd,
|
||||
any.bitwise ==1.0.0.1,
|
||||
any.blaze-builder ==0.4.2.3,
|
||||
any.blaze-html ==0.9.1.2,
|
||||
any.blaze-html ==0.9.2.0,
|
||||
any.blaze-markup ==0.8.3.0,
|
||||
any.boring ==0.2.1,
|
||||
any.boring ==0.2.2,
|
||||
boring +tagged,
|
||||
any.bsb-http-chunked ==0.0.0.4,
|
||||
any.bv-sized ==1.0.5,
|
||||
any.byteorder ==1.0.4,
|
||||
any.bytestring ==0.11.4.0,
|
||||
any.bytestring ==0.12.1.0,
|
||||
any.cabal-doctest ==1.0.9,
|
||||
any.call-stack ==0.4.0,
|
||||
any.case-insensitive ==1.2.1.0,
|
||||
any.cassava ==0.5.3.0,
|
||||
cassava -bytestring--lt-0_10_4,
|
||||
any.cassava ==0.5.3.1,
|
||||
any.cborg ==0.2.10.0,
|
||||
cborg +optimize-gmp,
|
||||
any.cereal ==0.5.8.3,
|
||||
cereal -bytestring-builder,
|
||||
any.chimera ==0.4.0.0,
|
||||
any.character-ps ==0.1,
|
||||
any.chimera ==0.4.1.0,
|
||||
chimera +representable,
|
||||
any.clock ==0.8.4,
|
||||
clock -llvm,
|
||||
@ -74,33 +78,33 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
comonad +containers +distributive +indexed-traversable,
|
||||
any.concurrent-extra ==0.7.0.12,
|
||||
any.config-value ==0.8.3,
|
||||
any.constraints ==0.14,
|
||||
any.containers ==0.6.5.1,
|
||||
any.constraints ==0.14.2,
|
||||
any.containers ==0.6.8,
|
||||
any.contravariant ==1.5.5,
|
||||
contravariant +semigroups +statevar +tagged,
|
||||
any.cookie ==0.4.6,
|
||||
any.cookie ==0.5.0,
|
||||
any.criterion ==1.6.3.0,
|
||||
criterion -embed-data-files -fast,
|
||||
any.criterion-measurement ==0.2.1.0,
|
||||
any.criterion-measurement ==0.2.2.0,
|
||||
criterion-measurement -fast,
|
||||
any.crypto-token ==0.1.1,
|
||||
any.cryptohash-md5 ==0.11.101.0,
|
||||
any.cryptohash-sha1 ==0.11.101.0,
|
||||
cryptol +ffi +relocatable -static,
|
||||
cryptol-remote-api -notthreaded -static,
|
||||
cryptol-test-runner -static,
|
||||
any.crypton ==0.34,
|
||||
any.crypton ==1.0.0,
|
||||
crypton -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq +support_pclmuldq +support_rdrand -support_sse +use_target_attributes,
|
||||
any.crypton-x509 ==1.7.6,
|
||||
any.crypton-x509-store ==1.6.9,
|
||||
any.crypton-x509-validation ==1.6.12,
|
||||
any.data-array-byte ==0.1.0.1,
|
||||
any.data-default-class ==0.1.2.0,
|
||||
any.data-fix ==0.3.2,
|
||||
any.deepseq ==1.4.6.1,
|
||||
any.data-fix ==0.3.3,
|
||||
any.deepseq ==1.5.0.0,
|
||||
any.dense-linear-algebra ==0.1.0.0,
|
||||
any.deriving-compat ==0.6.5,
|
||||
any.deriving-compat ==0.6.6,
|
||||
deriving-compat +base-4-9 +new-functor-classes +template-haskell-2-11,
|
||||
any.directory ==1.3.6.2,
|
||||
any.directory ==1.3.8.1,
|
||||
any.distributive ==0.6.2.1,
|
||||
distributive +semigroups +tagged,
|
||||
any.dlist ==1.0,
|
||||
@ -109,28 +113,27 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.entropy ==0.4.1.10,
|
||||
entropy -donotgetentropy,
|
||||
any.exact-pi ==0.5.0.2,
|
||||
any.exceptions ==0.10.4,
|
||||
any.exceptions ==0.10.7,
|
||||
any.extensible-exceptions ==0.1.1.4,
|
||||
any.extra ==1.7.14,
|
||||
any.fast-logger ==3.2.2,
|
||||
any.extra ==1.7.16,
|
||||
any.fast-logger ==3.2.3,
|
||||
any.file-embed ==0.0.16.0,
|
||||
any.filelock ==0.1.1.7,
|
||||
any.filepath ==1.4.2.2,
|
||||
any.filepath ==1.4.200.1,
|
||||
any.fingertree ==0.1.5.0,
|
||||
any.foldable1-classes-compat ==0.1,
|
||||
foldable1-classes-compat +tagged,
|
||||
any.free ==5.2,
|
||||
any.generically ==0.1.1,
|
||||
any.ghc-bignum ==1.2,
|
||||
any.ghc-boot-th ==9.2.8,
|
||||
any.ghc-prim ==0.8.0,
|
||||
any.ghc-bignum ==1.3,
|
||||
any.ghc-boot-th ==9.8.2,
|
||||
any.ghc-prim ==0.11.0,
|
||||
any.gitrev ==1.3.1,
|
||||
any.half ==0.3.1,
|
||||
any.happy ==1.20.1.1,
|
||||
any.hashable ==1.4.3.0,
|
||||
any.hashable ==1.4.4.0,
|
||||
hashable +integer-gmp -random-initial-seed,
|
||||
any.hashtables ==1.3.1,
|
||||
hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks,
|
||||
any.haskeline ==0.8.2,
|
||||
any.haskeline ==0.8.2.1,
|
||||
any.haskell-lexer ==1.1.1,
|
||||
any.hgmp ==0.1.2.1,
|
||||
any.hostname ==1.0,
|
||||
@ -138,24 +141,25 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.hsc2hs ==0.68.10,
|
||||
hsc2hs -in-ghc-tree,
|
||||
any.http-date ==0.0.11,
|
||||
any.http-semantics ==0.0.0,
|
||||
any.http-types ==0.12.4,
|
||||
any.http2 ==5.0.1,
|
||||
any.http2 ==5.2.1,
|
||||
http2 -devel -h2spec,
|
||||
any.ieee754 ==0.8.0,
|
||||
any.indexed-traversable ==0.1.3,
|
||||
any.indexed-traversable-instances ==0.1.1.2,
|
||||
any.indexed-traversable ==0.1.4,
|
||||
any.indexed-traversable-instances ==0.1.2,
|
||||
any.infinite-list ==0.1.1,
|
||||
any.integer-conversion ==0.1.0.1,
|
||||
any.integer-conversion ==0.1.1,
|
||||
any.integer-gmp ==1.1,
|
||||
any.integer-logarithms ==1.0.3.1,
|
||||
integer-logarithms -check-bounds +integer-gmp,
|
||||
any.integer-roots ==1.0.2.0,
|
||||
any.invariant ==0.6.2,
|
||||
any.invariant ==0.6.3,
|
||||
any.io-streams ==1.5.2.2,
|
||||
io-streams +network -nointeractivetests +zlib,
|
||||
any.iproute ==1.7.12,
|
||||
any.js-chart ==2.9.4.1,
|
||||
any.kan-extensions ==5.2.5,
|
||||
any.kan-extensions ==5.2.6,
|
||||
any.language-c99 ==0.2.0,
|
||||
any.language-c99-simple ==0.3.0,
|
||||
any.language-c99-util ==0.2.0,
|
||||
@ -165,23 +169,23 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
libBF -system-libbf,
|
||||
any.libffi ==0.2.1,
|
||||
libffi +ghc-bundled-libffi,
|
||||
any.math-functions ==0.3.4.3,
|
||||
any.math-functions ==0.3.4.4,
|
||||
math-functions +system-erf +system-expm1,
|
||||
any.megaparsec ==9.6.1,
|
||||
megaparsec -dev,
|
||||
any.memory ==0.18.0,
|
||||
memory +support_bytestring +support_deepseq,
|
||||
any.microstache ==1.0.2.3,
|
||||
any.microstache ==1.0.3,
|
||||
any.mod ==0.2.0.1,
|
||||
mod +semirings +vector,
|
||||
any.monad-control ==1.0.3.1,
|
||||
any.monadLib ==3.10.1,
|
||||
any.mtl ==2.2.2,
|
||||
any.mtl ==2.3.1,
|
||||
any.mwc-random ==0.15.0.2,
|
||||
any.network ==3.1.4.0,
|
||||
network -devel,
|
||||
any.network-byte-order ==0.1.7,
|
||||
any.network-control ==0.0.2,
|
||||
any.network-control ==0.1.0,
|
||||
any.network-info ==0.2.1,
|
||||
any.network-uri ==2.6.4.2,
|
||||
any.newtype-generics ==0.6.2,
|
||||
@ -190,12 +194,13 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.old-time ==1.1.0.4,
|
||||
any.optparse-applicative ==0.18.1.0,
|
||||
optparse-applicative +process,
|
||||
any.ordered-containers ==0.2.3,
|
||||
any.ordered-containers ==0.2.4,
|
||||
any.os-string ==2.0.2.2,
|
||||
any.panic ==0.4.0.1,
|
||||
any.parallel ==3.2.2.0,
|
||||
any.parameterized-utils ==2.1.8.0,
|
||||
parameterized-utils +unsafe-operations,
|
||||
any.parsec ==3.1.15.0,
|
||||
any.parsec ==3.1.17.0,
|
||||
any.parser-combinators ==1.3.0,
|
||||
parser-combinators -dev,
|
||||
any.pem ==0.2.4,
|
||||
@ -206,14 +211,14 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.prettyprinter-ansi-terminal ==1.1.3,
|
||||
any.prettyprinter-compat-ansi-wl-pprint ==1.0.2,
|
||||
any.primitive ==0.9.0.0,
|
||||
any.process ==1.6.16.0,
|
||||
any.process ==1.6.18.0,
|
||||
any.profunctors ==5.6.2,
|
||||
any.psqueues ==0.2.8.0,
|
||||
any.quickcheck-instances ==0.3.30,
|
||||
quickcheck-instances -bytestring-builder,
|
||||
any.random ==1.2.1.2,
|
||||
any.recv ==0.1.0,
|
||||
any.reflection ==2.1.7,
|
||||
any.reflection ==2.1.8,
|
||||
reflection -slow +template-haskell,
|
||||
any.regex-base ==0.94.0.2,
|
||||
any.regex-compat ==0.95.2.1,
|
||||
@ -225,18 +230,20 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
s-cargot -build-example,
|
||||
any.safe ==0.3.21,
|
||||
any.safe-exceptions ==0.1.7.4,
|
||||
any.sbv ==10.2,
|
||||
any.scientific ==0.3.7.0,
|
||||
scientific -bytestring-builder -integer-simple,
|
||||
any.scotty ==0.12.1,
|
||||
any.semialign ==1.3,
|
||||
any.sbv ==10.10,
|
||||
any.scientific ==0.3.8.0,
|
||||
scientific -integer-simple,
|
||||
any.scotty ==0.21,
|
||||
any.semialign ==1.3.1,
|
||||
semialign +semigroupoids,
|
||||
any.semigroupoids ==6.0.0.1,
|
||||
any.semigroupoids ==6.0.1,
|
||||
semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers,
|
||||
any.semigroups ==0.20,
|
||||
semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers,
|
||||
any.semirings ==0.6,
|
||||
semirings +containers +unordered-containers,
|
||||
any.serialise ==0.2.6.1,
|
||||
serialise +newtime15,
|
||||
any.silently ==1.2.5.3,
|
||||
any.simple-get-opt ==0.4,
|
||||
any.simple-sendfile ==0.2.32,
|
||||
@ -245,7 +252,7 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.splitmix ==0.1.0.5,
|
||||
splitmix -optimised-mixer,
|
||||
any.statistics ==0.16.2.1,
|
||||
any.stm ==2.5.0.2,
|
||||
any.stm ==2.5.2.1,
|
||||
any.streaming-commons ==0.2.2.6,
|
||||
streaming-commons -use-bytestring-builder,
|
||||
any.strict ==0.5,
|
||||
@ -256,39 +263,37 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
tasty +unix,
|
||||
any.tasty-hunit ==0.10.1,
|
||||
any.tasty-quickcheck ==0.10.3,
|
||||
any.template-haskell ==2.18.0.0,
|
||||
any.template-haskell ==2.21.0.0,
|
||||
any.temporary ==1.3,
|
||||
any.terminfo ==0.4.1.5,
|
||||
any.terminfo ==0.4.1.6,
|
||||
any.test-framework ==0.8.2.0,
|
||||
any.test-framework-hunit ==0.3.0.2,
|
||||
test-framework-hunit -base3 +base4,
|
||||
any.test-lib ==0.4,
|
||||
any.text ==1.2.5.0,
|
||||
any.text-iso8601 ==0.1,
|
||||
any.text-short ==0.1.5,
|
||||
any.text ==2.1.1,
|
||||
any.text-iso8601 ==0.1.1,
|
||||
any.text-short ==0.1.6,
|
||||
text-short -asserts,
|
||||
any.tf-random ==0.5,
|
||||
any.th-abstraction ==0.6.0.0,
|
||||
any.th-compat ==0.1.4,
|
||||
any.th-compat ==0.1.5,
|
||||
any.th-lift ==0.8.4,
|
||||
any.th-lift-instances ==0.1.20,
|
||||
any.these ==1.2,
|
||||
any.time ==1.11.1.1,
|
||||
any.time-compat ==1.9.6.1,
|
||||
time-compat -old-locale,
|
||||
any.time-manager ==0.0.1,
|
||||
any.tls ==1.9.0,
|
||||
tls +compat -hans +network,
|
||||
any.tls-session-manager ==0.0.4,
|
||||
any.transformers ==0.5.6.2,
|
||||
any.these ==1.2.1,
|
||||
any.time ==1.12.2,
|
||||
any.time-compat ==1.9.7,
|
||||
any.time-manager ==0.1.0,
|
||||
any.tls ==2.0.5,
|
||||
tls -devel,
|
||||
any.tls-session-manager ==0.0.5,
|
||||
any.transformers ==0.6.1.0,
|
||||
any.transformers-base ==0.4.6,
|
||||
transformers-base +orphaninstances,
|
||||
any.transformers-compat ==0.7.2,
|
||||
transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
|
||||
any.type-equality ==1,
|
||||
any.unbounded-delays ==0.1.1.1,
|
||||
any.uniplate ==1.6.13,
|
||||
any.unix ==2.7.2.2,
|
||||
any.unix ==2.8.4.0,
|
||||
any.unix-compat ==0.7.1,
|
||||
unix-compat -old-time,
|
||||
any.unix-time ==0.4.12,
|
||||
@ -308,23 +313,23 @@ constraints: any.BoundedChan ==1.0.3.0,
|
||||
any.vector-binary-instances ==0.2.5.2,
|
||||
any.vector-stream ==0.1.0.1,
|
||||
any.vector-th-unbox ==0.2.2,
|
||||
any.versions ==6.0.5,
|
||||
any.versions ==6.0.6,
|
||||
any.void ==0.7.3,
|
||||
void -safe,
|
||||
any.wai ==3.2.4,
|
||||
any.wai-extra ==3.1.14,
|
||||
any.wai-extra ==3.1.15,
|
||||
wai-extra -build-example,
|
||||
any.wai-logger ==2.4.0,
|
||||
any.warp ==3.3.31,
|
||||
any.warp ==3.4.1,
|
||||
warp +allow-sendfilefd -network-bytestring -warp-debug +x509,
|
||||
any.warp-tls ==3.4.4,
|
||||
any.what4 ==1.5.1,
|
||||
any.warp-tls ==3.4.5,
|
||||
any.what4 ==1.6,
|
||||
what4 -drealtestdisable -solvertests -stptestdisable,
|
||||
any.witherable ==0.4.2,
|
||||
any.witherable ==0.5,
|
||||
any.word8 ==0.1.3,
|
||||
any.xml ==1.3.14,
|
||||
any.zenc ==0.1.2,
|
||||
any.zlib ==0.6.3.0,
|
||||
zlib -bundled-c-zlib -non-blocking-ffi -pkg-config,
|
||||
any.zlib ==0.7.1.0,
|
||||
zlib +non-blocking-ffi,
|
||||
any.zlib-bindings ==0.1.1.5
|
||||
index-state: hackage.haskell.org 2024-02-06T22:11:38Z
|
||||
index-state: hackage.haskell.org 2024-05-20T12:40:45Z
|
@ -1,9 +1,9 @@
|
||||
ARG GHCVER="9.2.8"
|
||||
ARG CABALVER="3.10.1.0"
|
||||
ARG GHCVER="9.4.8"
|
||||
ARG CABALVER="3.10.3.0"
|
||||
# This is the version of GHC that we use as part of the process of building a
|
||||
# separate copy of GHC from source. The version of GHC that we build from source
|
||||
# is determined by the value of GHCVER.
|
||||
ARG GHCVER_BOOTSTRAP="8.10.2"
|
||||
ARG GHCVER_BOOTSTRAP="9.0.2"
|
||||
# We pin specific versions of alex and happy that are necessary to build
|
||||
# GHC. In general, we don't want to build the latest versions of each
|
||||
# tool, as GHC may not support them (see, for example,
|
||||
@ -27,7 +27,7 @@ ENV LANG=C.UTF-8 \
|
||||
LC_ALL=C.UTF-8
|
||||
ENV GHCUP_INSTALL_BASE_PREFIX=/opt \
|
||||
PATH=/opt/.ghcup/bin:/root/.local/bin:$PATH
|
||||
RUN curl -o /usr/local/bin/ghcup "https://downloads.haskell.org/~ghcup/0.1.19.4/x86_64-linux-ghcup-0.1.19.4" && \
|
||||
RUN curl -o /usr/local/bin/ghcup "https://downloads.haskell.org/~ghcup/0.1.22.0/x86_64-linux-ghcup-0.1.22.0" && \
|
||||
chmod +x /usr/local/bin/ghcup
|
||||
RUN ghcup install cabal ${CABALVER} --set
|
||||
ENV PATH=/root/.cabal/bin:$PATH
|
||||
|
@ -40,11 +40,11 @@ common errors
|
||||
|
||||
common deps
|
||||
build-depends:
|
||||
base >=4.11.1.0 && <4.19,
|
||||
base >=4.11.1.0 && <4.20,
|
||||
argo,
|
||||
aeson >= 1.4.2 && < 2.3,
|
||||
base64-bytestring >= 1.0,
|
||||
bytestring >= 0.10.8 && < 0.12,
|
||||
bytestring >= 0.10.8 && < 0.13,
|
||||
containers >=0.6.0.1 && <0.7,
|
||||
cryptol >= 2.9.0,
|
||||
directory,
|
||||
@ -52,7 +52,7 @@ common deps
|
||||
lens >= 4.17 && < 5.3,
|
||||
mtl >= 2.2 && < 2.4,
|
||||
scientific ^>= 0.3,
|
||||
text >= 1.2.3 && < 2.1,
|
||||
text >= 1.2.3 && < 2.2,
|
||||
tf-random,
|
||||
unordered-containers ^>= 0.2,
|
||||
vector >= 0.12 && < 0.14,
|
||||
|
@ -74,7 +74,7 @@ library
|
||||
prettyprinter >= 1.7.0,
|
||||
pretty-show,
|
||||
process >= 1.2,
|
||||
sbv >= 9.1 && < 10.3,
|
||||
sbv >= 9.1 && < 10.11,
|
||||
simple-smt >= 0.9.7,
|
||||
stm >= 2.4,
|
||||
strict,
|
||||
@ -85,7 +85,7 @@ library
|
||||
mtl >= 2.2.1,
|
||||
time >= 1.6.0.1,
|
||||
panic >= 0.3,
|
||||
what4 >= 1.4 && < 1.6
|
||||
what4 >= 1.4 && < 1.7
|
||||
|
||||
if impl(ghc >= 9.0)
|
||||
build-depends: ghc-bignum >= 1.0 && < 1.4
|
||||
|
@ -9,6 +9,7 @@
|
||||
module REPL.Logo where
|
||||
|
||||
import Cryptol.REPL.Monad
|
||||
import Cryptol.Utils.Panic (panic)
|
||||
import Paths_cryptol (version)
|
||||
|
||||
import Cryptol.Version (commitShortHash,commitDirty)
|
||||
@ -22,6 +23,7 @@ type Version = String
|
||||
|
||||
type Logo = [String]
|
||||
|
||||
-- | The list of 'String's returned by the @mk@ function should be non-empty.
|
||||
logo :: Bool -> (String -> [String]) -> Logo
|
||||
logo useColor mk =
|
||||
[ sgr [SetColor Foreground Dull White] ++ l | l <- ws ]
|
||||
@ -43,7 +45,10 @@ logo useColor mk =
|
||||
slen = length ls `div` 3
|
||||
(ws,rest) = splitAt slen ls
|
||||
(vs,ds) = splitAt slen rest
|
||||
lineLen = length (head ls)
|
||||
line = case ls of
|
||||
line':_ -> line'
|
||||
[] -> panic "logo" ["empty lines"]
|
||||
lineLen = length line
|
||||
|
||||
displayLogo :: Bool -> Bool -> REPL ()
|
||||
displayLogo useColor useUnicode =
|
||||
|
@ -7,6 +7,8 @@
|
||||
module Cryptol.Backend.FFI.Error where
|
||||
|
||||
import Control.DeepSeq
|
||||
import qualified Data.List.NonEmpty as NE
|
||||
import Data.List.NonEmpty (NonEmpty)
|
||||
import GHC.Generics
|
||||
|
||||
import Cryptol.Utils.PP
|
||||
@ -19,7 +21,7 @@ data FFILoadError
|
||||
| CantLoadFFIImpl
|
||||
String -- ^ Function name
|
||||
String -- ^ Error message
|
||||
| FFIDuplicates [Name]
|
||||
| FFIDuplicates (NonEmpty Name)
|
||||
| FFIInFunctor Name
|
||||
deriving (Show, Generic, NFData)
|
||||
|
||||
@ -38,8 +40,8 @@ instance PP FFILoadError where
|
||||
-- 4 (text _msg)
|
||||
FFIDuplicates xs ->
|
||||
hang "Multiple foreign declarations with the same name:"
|
||||
4 (backticks (pp (nameIdent (head xs))) <+>
|
||||
"defined at" <+> align (vcat (map (pp . nameLoc) xs)))
|
||||
4 (backticks (pp (nameIdent (NE.head xs))) <+>
|
||||
"defined at" <+> align (vcat (map (pp . nameLoc) (NE.toList xs))))
|
||||
FFIInFunctor x ->
|
||||
hang (pp (nameLoc x) <.> ":")
|
||||
4 "Foreign declaration" <+> backticks (pp (nameIdent x)) <+>
|
||||
|
@ -9,9 +9,9 @@ module Cryptol.Eval.FFI.GenHeader
|
||||
) where
|
||||
|
||||
import Control.Monad.Writer.Strict
|
||||
import Data.Functor
|
||||
import Data.Char(isAlphaNum)
|
||||
import Data.List
|
||||
import Data.Functor ((<&>))
|
||||
import Data.Char (isAlphaNum)
|
||||
import Data.List (mapAccumL)
|
||||
import Data.Set (Set)
|
||||
import qualified Data.Set as Set
|
||||
import Language.C99.Pretty as C
|
||||
|
@ -11,6 +11,7 @@ import Data.Map ( Map )
|
||||
import qualified Data.Map as Map
|
||||
|
||||
import Cryptol.TypeCheck.AST
|
||||
import Cryptol.Utils.Panic ( panic )
|
||||
import Cryptol.Utils.RecordMap
|
||||
|
||||
data Deps = Deps { valDeps :: Set Name
|
||||
@ -52,9 +53,10 @@ rmVals p x = x { valDeps = Set.difference (valDeps x) p }
|
||||
-- | Compute the transitive closure of the given dependencies.
|
||||
transDeps :: Map Name Deps -> Map Name Deps
|
||||
transDeps mp0 = fst
|
||||
$ head
|
||||
$ headInfList
|
||||
$ dropWhile (uncurry (/=))
|
||||
$ zip steps (tail steps)
|
||||
$ zip steps
|
||||
$ drop 1 steps
|
||||
where
|
||||
step1 mp d = mconcat [ Map.findWithDefault
|
||||
mempty { valDeps = Set.singleton x }
|
||||
@ -63,6 +65,15 @@ transDeps mp0 = fst
|
||||
|
||||
steps = iterate step mp0
|
||||
|
||||
-- The only call site for this function is on the result of an invocation
|
||||
-- of `iterate`, which returns an infinite list. As such, it is safe to call
|
||||
-- `head` on it. Alternatively, we could depend on a library such as
|
||||
-- `infinite-list`, but this is likely overkill for this one use site.
|
||||
headInfList l =
|
||||
case l of
|
||||
x:_ -> x
|
||||
[] -> panic "transDeps" ["`iterate` returned empty list"]
|
||||
|
||||
-- | Dependencies of top-level declarations in a module.
|
||||
-- These are dependencies on module parameters or things
|
||||
-- defined outside the module.
|
||||
|
@ -23,7 +23,9 @@ import Control.Monad (unless,forM)
|
||||
import Data.Set(Set)
|
||||
import qualified Data.Set as Set
|
||||
import Data.Maybe (fromMaybe)
|
||||
import Data.List(sortBy,groupBy)
|
||||
import Data.List(sortBy)
|
||||
import qualified Data.List.NonEmpty as NE
|
||||
import Data.List.NonEmpty (NonEmpty(..))
|
||||
import Data.Function(on)
|
||||
import Data.Monoid ((<>),Endo(..), Any(..))
|
||||
import Data.Text.Encoding (decodeUtf8')
|
||||
@ -67,7 +69,7 @@ import qualified Cryptol.Parser as P
|
||||
import qualified Cryptol.Parser.Unlit as P
|
||||
import Cryptol.Parser.AST as P
|
||||
import Cryptol.Parser.NoPat (RemovePatterns(removePatterns))
|
||||
import qualified Cryptol.Parser.ExpandPropGuards as ExpandPropGuards
|
||||
import qualified Cryptol.Parser.ExpandPropGuards as ExpandPropGuards
|
||||
( expandPropGuards, runExpandPropGuardsM )
|
||||
import Cryptol.Parser.NoInclude (removeIncludesModule)
|
||||
import Cryptol.Parser.Position (HasLoc(..), Range, emptyRange)
|
||||
@ -320,9 +322,9 @@ doLoadModule eval quiet isrc path fp incDeps pm0 =
|
||||
|
||||
where foreigns = findForeignDecls tcm
|
||||
foreignFs = T.findForeignDeclsInFunctors tcm
|
||||
dups = [ d | d@(_ : _ : _) <- groupBy ((==) `on` nameIdent)
|
||||
$ sortBy (compare `on` nameIdent)
|
||||
$ map fst foreigns ]
|
||||
dups = [ d | d@(_ :| _ : _) <- NE.groupBy ((==) `on` nameIdent)
|
||||
$ sortBy (compare `on` nameIdent)
|
||||
$ map fst foreigns ]
|
||||
doEvalForeign handleErrs =
|
||||
case path of
|
||||
InFile p -> io (loadForeignSrc p) >>=
|
||||
|
@ -16,6 +16,7 @@ import Cryptol.ModuleSystem.Name
|
||||
data Names = One Name | Ambig (Set Name) -- ^ Non-empty
|
||||
deriving (Show,Generic,NFData)
|
||||
|
||||
-- | The returned list of names will be non-empty.
|
||||
namesToList :: Names -> [Name]
|
||||
namesToList xs =
|
||||
case xs of
|
||||
@ -23,7 +24,14 @@ namesToList xs =
|
||||
Ambig ns -> Set.toList ns
|
||||
|
||||
anyOne :: Names -> Name
|
||||
anyOne = head . namesToList
|
||||
anyOne xs =
|
||||
case xs of
|
||||
One x -> x
|
||||
Ambig ns
|
||||
| Set.null ns
|
||||
-> panic "anyOne" ["Ambig with no names"]
|
||||
| otherwise
|
||||
-> Set.elemAt 0 ns
|
||||
|
||||
instance Semigroup Names where
|
||||
xs <> ys =
|
||||
|
@ -929,10 +929,14 @@ resolveNameMaybe nt expected qn =
|
||||
return (Just n)
|
||||
Ambig symSet ->
|
||||
do let syms = Set.toList symSet
|
||||
headSym =
|
||||
case syms of
|
||||
sym:_ -> sym
|
||||
[] -> panic "resolveNameMaybe" ["Ambig with no names"]
|
||||
mapM_ use syms -- mark as used to avoid unused warnings
|
||||
n <- located qn
|
||||
recordError (MultipleSyms n syms)
|
||||
return (Just (head syms))
|
||||
return (Just headSym)
|
||||
|
||||
Nothing -> pure Nothing
|
||||
|
||||
@ -1221,8 +1225,13 @@ checkLabels = foldM_ check [] . map labs
|
||||
(RecordSel a _, RecordSel b _) -> a == b
|
||||
_ -> False
|
||||
|
||||
reLoc xs = (head xs) { thing = map thing xs }
|
||||
|
||||
-- The input comes from UpdField, and as such, it is expected to be a
|
||||
-- non-empty list.
|
||||
reLoc xs = x { thing = map thing xs }
|
||||
where
|
||||
x = case xs of
|
||||
x':_ -> x'
|
||||
[] -> panic "checkLabels" ["UpdFields with no labels"]
|
||||
|
||||
mkEInfix :: Expr Name -- ^ May contain infix expressions
|
||||
-> (Located Name,Fixity) -- ^ The operator to use
|
||||
|
@ -61,7 +61,9 @@ layout :: Bool -> [Located Token] -> [Located Token]
|
||||
layout isMod ts0
|
||||
|
||||
-- Star an implicit layout block at the top of the module
|
||||
| let t = head ts0
|
||||
| let t = case ts0 of
|
||||
t':_ -> t'
|
||||
[] -> panic "layout" ["Unexpected empty list of tokens"]
|
||||
rng = srcRange t
|
||||
blockCol = max 1 (col (from rng)) -- see startImplicitBlock
|
||||
implictMod = case map (tokenType . thing) ts0 of
|
||||
@ -159,7 +161,11 @@ layout isMod ts0
|
||||
|
||||
|
||||
startImplicitBlock =
|
||||
let nextRng = srcRange (head advanceTokens)
|
||||
let curAdvanceTok =
|
||||
case advanceTokens of
|
||||
curAdvanceTok':_ -> curAdvanceTok'
|
||||
[] -> panic "layout" ["Unexpected empty list of advanceTokens"]
|
||||
nextRng = srcRange curAdvanceTok
|
||||
nextLoc = from nextRng
|
||||
blockCol = max 1 (col nextLoc)
|
||||
-- the `max` ensuraes that indentation is always at least 1,
|
||||
|
@ -1178,9 +1178,15 @@ ufToNamed (UpdField h ls e) =
|
||||
case (h,ls) of
|
||||
(UpdSet, [l]) | RecordSel i Nothing <- thing l ->
|
||||
pure Named { name = l { thing = i }, value = e }
|
||||
_ -> errorMessage (srcRange (head ls))
|
||||
_ -> errorMessage (srcRange lab)
|
||||
["Invalid record field. Perhaps you meant to update a record?"]
|
||||
where
|
||||
-- The list of field updates in an UpdField should always be non-empty.
|
||||
lab = case ls of
|
||||
lab':_ -> lab'
|
||||
[] -> panic "ufToNamed" ["UpdField with empty labels"]
|
||||
|
||||
-- | The returned list of 'Selector's will be non-empty.
|
||||
exprToFieldPath :: Expr PName -> ParseM [Located Selector]
|
||||
exprToFieldPath e0 = reverse <$> go noLoc e0
|
||||
where
|
||||
@ -1190,7 +1196,11 @@ exprToFieldPath e0 = reverse <$> go noLoc e0
|
||||
ELocated e1 r -> go r e1
|
||||
ESel e2 s ->
|
||||
do ls <- go loc e2
|
||||
let rng = loc { from = to (srcRange (head ls)) }
|
||||
let l =
|
||||
case ls of
|
||||
l':_ -> l'
|
||||
[] -> panic "exprToFieldPath" ["empty list of selectors"]
|
||||
let rng = loc { from = to (srcRange l) }
|
||||
pure (Located { thing = s, srcRange = rng } : ls)
|
||||
EVar (UnQual l) ->
|
||||
pure [ Located { thing = RecordSel l Nothing, srcRange = loc } ]
|
||||
|
@ -415,16 +415,16 @@ processResults ProverCommand{..} ts results =
|
||||
[] -> return $ ThmResult (unFinType <$> ts)
|
||||
|
||||
-- otherwise something is wrong
|
||||
_ -> return $ ProverError (rshow results)
|
||||
resultsHead:_ -> return $ ProverError res
|
||||
#if MIN_VERSION_sbv(10,0,0)
|
||||
where rshow | isSat = show . (SBV.AllSatResult False False False)
|
||||
where res | isSat = show $ SBV.AllSatResult False False False results
|
||||
-- sbv-10.0.0 removes the `allSatHasPrefixExistentials` field
|
||||
#elif MIN_VERSION_sbv(8,8,0)
|
||||
where rshow | isSat = show . (SBV.AllSatResult False False False False)
|
||||
where res | isSat = show $ SBV.AllSatResult False False False False results
|
||||
#else
|
||||
where rshow | isSat = show . SBV.AllSatResult . (False,False,False,)
|
||||
where res | isSat = show $ SBV.AllSatResult (False,False,False,results)
|
||||
#endif
|
||||
| otherwise = show . SBV.ThmResult . head
|
||||
| otherwise = show $ SBV.ThmResult resultsHead
|
||||
|
||||
where
|
||||
mkTevs prims result = do
|
||||
|
@ -41,7 +41,7 @@ import qualified Control.Exception as X
|
||||
import System.IO (Handle, IOMode(..), withFile)
|
||||
import Data.Time
|
||||
import Data.IORef
|
||||
import Data.List (intercalate, tails, inits)
|
||||
import Data.List (intercalate, inits)
|
||||
import Data.List.NonEmpty (NonEmpty(..))
|
||||
import Data.Proxy
|
||||
import qualified Data.Map as Map
|
||||
@ -631,7 +631,7 @@ computeSplits vs cs = reverse
|
||||
| prefix <- inits (zip vs cs)
|
||||
| v <- vs
|
||||
| c <- cs
|
||||
| tl <- tail (tails vs)
|
||||
| tl <- NE.tail (NE.tails vs)
|
||||
]
|
||||
-- == END Support operations for multi-SAT ==
|
||||
|
||||
|
@ -6,10 +6,11 @@
|
||||
module Cryptol.TypeCheck.Error where
|
||||
|
||||
import qualified Data.IntMap as IntMap
|
||||
import qualified Data.List.NonEmpty as NE
|
||||
import qualified Data.Set as Set
|
||||
import Control.DeepSeq(NFData)
|
||||
import GHC.Generics(Generic)
|
||||
import Data.List((\\),sortBy,groupBy,partition)
|
||||
import Data.List((\\),sortBy,partition)
|
||||
import Data.Function(on)
|
||||
|
||||
import Cryptol.Utils.Ident(Ident,Namespace(..))
|
||||
@ -32,14 +33,15 @@ cleanupErrors = dropErrorsFromSameLoc
|
||||
|
||||
-- pick shortest error from each location.
|
||||
dropErrorsFromSameLoc = concatMap chooseBestError
|
||||
. groupBy ((==) `on` fst)
|
||||
. NE.groupBy ((==) `on` fst)
|
||||
|
||||
addErrorRating (r,e) = (errorImportance e, (r,e))
|
||||
chooseBestError = map snd
|
||||
. head
|
||||
. groupBy ((==) `on` fst)
|
||||
. sortBy (flip compare `on` fst)
|
||||
. map addErrorRating
|
||||
chooseBestError = NE.toList
|
||||
. fmap snd
|
||||
. NE.head
|
||||
. NE.groupBy1 ((==) `on` fst)
|
||||
. NE.sortBy (flip compare `on` fst)
|
||||
. fmap addErrorRating
|
||||
|
||||
|
||||
cmpR r = ( source r -- First by file
|
||||
|
@ -137,8 +137,11 @@ checkArity r mf args =
|
||||
case args of
|
||||
|
||||
P.DefaultInstArg arg ->
|
||||
let i = Located { srcRange = srcRange arg
|
||||
, thing = head (Map.keys ps0)
|
||||
let p0 = case Map.keys ps0 of
|
||||
p':_ -> p'
|
||||
[] -> panic "checkArity" ["functor with no parameters"]
|
||||
i = Located { srcRange = srcRange arg
|
||||
, thing = p0
|
||||
}
|
||||
in checkArgs [] ps0 [ P.ModuleInstanceNamedArg i arg ]
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user