$ /nix/store/rry6qingvsrqmc7ll7jgaqpybcbdgf5v-coreutils-9.7/bin/timeout --kill-after=15s 1800s /nix/store/mycbwkcm1jzjgsaiydvzib9phmzfz9vx-nix-2.31.1/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes --extra-substituters https://sellout.cachix.org --extra-trusted-public-keys sellout.cachix.org-1:v37cTpWBEycnYxSPAgSQ57Wiqd3wjljni2aC0Xry1DE= --netrc-file /tmp/nix-ci-worker-b3d67be498f57716/cachix-590eadb2c232ec06/netrc --extra-substituters https://cache.nix-ci.com --extra-trusted-public-keys nix-ci-staging:Q5+aawDG0LPCgu1fP9e+9hktvsfSyvu/Xe5PvzTLRVs= --netrc-file /tmp/nix-ci-worker-b3d67be498f57716/nix-ci-cache-ea4160697aedc89c/netrc --extra-substituters ssh-ng://worker.nix-ci.com?ssh-key=/tmp/nix-ci-worker-b3d67be498f57716/ssh-key-95a6113ce733197e/ssh.key&remote-store=/cache/nix-ci/&base64-ssh-public-host-key=c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSU9EQXdicHlRaVYwb2lyakhxbHIwbitnWDNNVjQwbDBKTmlKdVNDZHdoZ1o= --extra-trusted-public-keys nix-ci-staging:Q5+aawDG0LPCgu1fP9e+9hktvsfSyvu/Xe5PvzTLRVs= --print-build-logs build --no-link git+https://x-access-token:@github.com/sellout/duoids?ref=renovate%2Flock-file-maintenance&rev=86e5cce6ed1d4413db707a535c16e7239b9cfaf0#devShells.x86_64-linux.default --post-build-hook /tmp/nix-ci-worker-b3d67be498f57716/nix-ci-cache-upload.sh warning: ignoring untrusted flake configuration setting 'allow-import-from-derivation'. Pass '--accept-flake-config' to trust it warning: ignoring untrusted flake configuration setting 'extra-experimental-features'. Pass '--accept-flake-config' to trust it warning: ignoring untrusted flake configuration setting 'extra-substituters'. Pass '--accept-flake-config' to trust it warning: ignoring untrusted flake configuration setting 'extra-trusted-public-keys'. Pass '--accept-flake-config' to trust it warning: ignoring untrusted flake configuration setting 'sandbox'. Pass '--accept-flake-config' to trust it warning: ignoring untrusted flake configuration setting 'use-registries'. Pass '--accept-flake-config' to trust it copying path '/nix/store/zgvs09ng4h12cb27p3ymyrhks1asqcn0-glibc-locales-2.40-66' from 'https://cache.nixos.org'... copying path '/nix/store/7ljb0cnv51jcysdq23jbb0v3cs7jvmkn-mirrors-list' from 'https://cache.nixos.org'... copying path '/nix/store/w3bcj49m8z597bcv0111wd4yf5ygnv8m-curl-8.14.1-man' from 'https://cache.nixos.org'... copying path '/nix/store/ab0vkfi0bibpnpcx8pz6galnw5zyixzj-nghttp2-1.65.0' from 'https://cache.nixos.org'... copying path '/nix/store/2rigkcn6544b2hvq13nvqsjwwjdlf6mh-unzip-6.0' from 'https://cache.nixos.org'... copying path '/nix/store/xphznssmasahax8b1pcs7bvzxl0zskhg-nghttp2-1.65.0-lib' from 'https://cache.nixos.org'... copying path '/nix/store/ks8wcljvkvi14c1ivy7irm1j9hvamr2a-openssl-3.4.3' from 'https://cache.nixos.org'... copying path '/nix/store/ybhi1g8z643mcg5n4pkwhsihj4klk9y0-zlib-1.3.1-dev' from 'https://cache.nix-ci.com'... copying path '/nix/store/4lqkj853fy57hmkda8i6gf2sirgl3w46-nghttp2-1.65.0-dev' from 'https://cache.nixos.org'... copying path '/nix/store/dr7dgvcbnnygss27a9askb5pilbciyn6-krb5-1.21.3-lib' from 'https://cache.nixos.org'... copying path '/nix/store/nfpqi8wq87n08ddcb5vfs9jnplp4im6j-libssh2-1.11.1' from 'https://cache.nixos.org'... copying path '/nix/store/98s2jyqkki6q1wqxd628nm36mjnvy5yd-openssl-3.4.3-bin' from 'https://cache.nixos.org'... copying path '/nix/store/5bfcsl07gyqym27g9sfgcfg5mzr8r4s0-openssl-3.4.3-dev' from 'https://cache.nixos.org'... copying path '/nix/store/fbalzq9zp0r8fbzniw011mq5dc9fppwg-curl-8.14.1' from 'https://cache.nixos.org'... copying path '/nix/store/jifsp8licxy2wjs7nqy6w1p6krncpvxz-krb5-1.21.3' from 'https://cache.nixos.org'... copying path '/nix/store/67cabjyjm7h80gpaq8ym8rs8454vgnhg-libssh2-1.11.1-dev' from 'https://cache.nixos.org'... copying path '/nix/store/mjsa84zmq21vhyhka3dzp1i6k10v0w2y-curl-8.14.1-bin' from 'https://cache.nixos.org'... copying path '/nix/store/n84718cq8lhqkzndknn1xdbyafkg0jy1-krb5-1.21.3-dev' from 'https://cache.nixos.org'... copying path '/nix/store/7swzihjk0c0524bggq0hwb1pddvdr5k9-curl-8.14.1-dev' from 'https://cache.nixos.org'... building '/nix/store/0kp94rd4cdq81nf99hx2i2w2i929wvxz-source.drv'... source> source> trying https://hackage.haskell.org/package/no-recursion-0.3.0.0/no-recursion-0.3.0.0.tar.gz source> % Total % Received % Xferd Average Speed Time Time Time Current source> Dload Upload Total Spent Left Speed source> 100 25707 100 25707 0 0 522k 0 --:--:-- --:--:-- --:--:-- 534k source> unpacking source archive /build/no-recursion-0.3.0.0.tar.gz source (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/m17m98cfs3z832acdfkbis1jvgl60n38-source source (post)> Pushing 1 paths (0 are already present) using zstd to cache sellout ⏳ source (post)> source (post)> Pushing /nix/store/m17m98cfs3z832acdfkbis1jvgl60n38-source (82.76 KiB) source (post)> source (post)> All done. source (post)> added 1 signatures source (post)> added 1 signatures source (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/m17m98cfs3z832acdfkbis1jvgl60n38-source source (post)> copying 1 paths... source (post)> copying path '/nix/store/m17m98cfs3z832acdfkbis1jvgl60n38-source' to 'https://cache.nix-ci.com'... source (post)> copying 1 paths... source (post)> copying path '/nix/store/0kp94rd4cdq81nf99hx2i2w2i929wvxz-source.drv' to 'https://cache.nix-ci.com'... source (post)> added 0 signatures source (post)> added 0 signatures source (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/m17m98cfs3z832acdfkbis1jvgl60n38-source source (post)> copying 1 paths... source (post)> copying path '/nix/store/m17m98cfs3z832acdfkbis1jvgl60n38-source' to 'ssh-ng://worker.nix-ci.com'... source (post)> copying 1 paths... source (post)> copying path '/nix/store/0kp94rd4cdq81nf99hx2i2w2i929wvxz-source.drv' to 'ssh-ng://worker.nix-ci.com'... building '/nix/store/lhxsbavsl6gnvpydnri6a5zxd72jiww7-cabal2nix-no-recursion.drv'... cabal2nix-no-recursion (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/zdsqbzhai8y10ahv3n4n0ayf9zp229p6-cabal2nix-no-recursion cabal2nix-no-recursion (post)> Pushing 1 paths (1 are already present) using zstd to cache sellout ⏳ cabal2nix-no-recursion (post)> cabal2nix-no-recursion (post)> Pushing /nix/store/zdsqbzhai8y10ahv3n4n0ayf9zp229p6-cabal2nix-no-recursion (848.00 B) cabal2nix-no-recursion (post)> cabal2nix-no-recursion (post)> All done. cabal2nix-no-recursion (post)> added 1 signatures cabal2nix-no-recursion (post)> added 1 signatures cabal2nix-no-recursion (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/zdsqbzhai8y10ahv3n4n0ayf9zp229p6-cabal2nix-no-recursion cabal2nix-no-recursion (post)> copying 1 paths... cabal2nix-no-recursion (post)> copying path '/nix/store/zdsqbzhai8y10ahv3n4n0ayf9zp229p6-cabal2nix-no-recursion' to 'https://cache.nix-ci.com'... cabal2nix-no-recursion (post)> copying 1 paths... cabal2nix-no-recursion (post)> copying path '/nix/store/lhxsbavsl6gnvpydnri6a5zxd72jiww7-cabal2nix-no-recursion.drv' to 'https://cache.nix-ci.com'... cabal2nix-no-recursion (post)> added 0 signatures cabal2nix-no-recursion (post)> added 0 signatures cabal2nix-no-recursion (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/zdsqbzhai8y10ahv3n4n0ayf9zp229p6-cabal2nix-no-recursion cabal2nix-no-recursion (post)> copying 1 paths... cabal2nix-no-recursion (post)> copying path '/nix/store/zdsqbzhai8y10ahv3n4n0ayf9zp229p6-cabal2nix-no-recursion' to 'ssh-ng://worker.nix-ci.com'... cabal2nix-no-recursion (post)> copying 1 paths... cabal2nix-no-recursion (post)> copying path '/nix/store/lhxsbavsl6gnvpydnri6a5zxd72jiww7-cabal2nix-no-recursion.drv' to 'ssh-ng://worker.nix-ci.com'... these 19 derivations will be built: /nix/store/18xb04slazjwcsbr2ryj11rkc4ahd7yn-builder.pl.drv /nix/store/sn6s96c052qcav9w02f37mpsjxba34jn-treefmt.toml.drv /nix/store/8lv062znkjdv7nwq8yix81rcvvp78v8m-treefmt.drv /nix/store/6hwl2f3sqw46qd8kyadiw8c5zwhkl3i7-pm-session-vars.sh.drv /nix/store/6m64ml7fg02m33z5wf8as4hr53bmzr6q-pm-shell-aliases.sh.drv /nix/store/1710b6izbmi3cdb9d6ignm6gs42awbgy-project-manager-path-for-duoids.drv /nix/store/g1p9gxdr6s3znm58grj874jsmhcgvd7c-haskell-generic-builder-test-wrapper.sh.drv /nix/store/dnbzii8jzifhf76z41zhi2chv1q3vgwv-ghc-paths-0.1.0.12.drv /nix/store/qpsr0jngfqji9wd533n4mxqkkdn84mzr-doctest-0.22.6.drv /nix/store/646673qh9df9sglyca3dqg6fgvlp9nsx-vector-0.13.2.0.drv /nix/store/7qlcj84dhzw4qj2bi1lri15b56qjdvkj-nothunks-0.3.0.0.drv /nix/store/kd82f77swbga7qbbw21x9pl7myq4dsmi-unordered-containers-0.2.20.drv /nix/store/3i938nwnxca35b5cj7d63868n233c4gh-quickcheck-instances-0.3.32.drv /nix/store/38dxvd6b506l9khi773rv0hw8kiqp43i-extra-1.7.16.drv /nix/store/n1f59s36p0igzm5fzibh8myihr6li9ch-cabal-doctest-1.0.11.drv /nix/store/ksxhc25by0r8b14h5l1sgrgky01xacvn-no-recursion-0.3.0.0.drv /nix/store/r2w6za8qag5j42r0naczjqa0yppwdvrn-algebraic-graphs-0.7.drv /nix/store/mk6zx2ji9yl9zdlx8ic9wjdkpyf5pxvy-ghc-9.8.4-with-packages.drv /nix/store/yq46bwj4rrb0v55ks3k1r6bdz35swxxy-ghc-shell-for-packages-0.drv these 814 paths will be fetched (774.14 MiB download, 8363.67 MiB unpacked): /nix/store/r05mp7s3pazfagbx9hy60z0bn8064y8y-Cabal-3.12.1.0 /nix/store/akix0rlp3i34sdc8kymj2136dlcycyil-Cabal-3.12.1.0-doc /nix/store/ngk63la5nc7kdmm3mmlsysr2w674phb8-Cabal-syntax-3.12.1.0 /nix/store/4jir8y6m08bjzk2w9qr64a8r38jlq081-Cabal-syntax-3.12.1.0-doc /nix/store/my433d99j4mkyx1j9fkspckpl3adys21-ChasingBottoms-1.3.1.15 /nix/store/47b130fb108flz8jhpsai784bs2xb1dy-ChasingBottoms-1.3.1.15-doc /nix/store/ylm2yrjf11833yn2b5ja3spc6vwcqr5i-Diff-0.5 /nix/store/5g27za2i5drnl6mmyriakj88wl7amawa-Diff-0.5-doc /nix/store/d3hb35yg7ph565pf29bzsj4c2ycdva17-Glob-0.10.2 /nix/store/rsimb37vw5yg9m8bk15dvvqq4zijzd10-Glob-0.10.2-doc /nix/store/99ks2vbgaj7q2s3js06acg299rg407lm-HUnit-1.6.2.0 /nix/store/qzlaw24pik1k9wgq8mkns94wkbf4gj0w-HUnit-1.6.2.0-doc /nix/store/ix6akam19ws1xzbq74z0j9z8x3r61l7v-HsYAML-0.2.1.5 /nix/store/yl3f2lmx43yp3v8gfn7z20vs946qn7pn-HsYAML-0.2.1.5-doc /nix/store/s496akcf96rpnryvikfgvf7y8r2qy9f3-HsYAML-aeson-0.2.0.2 /nix/store/szs43lbljhhwqsks7byxxmvyh56nk5w0-HsYAML-aeson-0.2.0.2-doc /nix/store/b5qc7dv0kdl8dlx5crmh787xd085nqlh-ListLike-4.7.8.3 /nix/store/6cy2qsccvyd51inbf5xqax65f28036xx-ListLike-4.7.8.3-doc /nix/store/406w81b9f5zj2b68v2qd4lps0kdbbxz1-MemoTrie-0.6.11 /nix/store/1a3v3wvsclaj1mg4yzxvc119ardjl69i-MemoTrie-0.6.11-doc /nix/store/a16d3g0qyp44rdp9l0nx6ljw9bj2dah8-MonadRandom-0.6.2 /nix/store/85y5ag227anw23d9czk8phfhr3snhd8f-MonadRandom-0.6.2-doc /nix/store/5bh0my136qilvyz9rwh6q815330d03vb-OneTuple-0.4.2 /nix/store/pafnpgb8gdg16b2r6w3jhh14b46kqm69-OneTuple-0.4.2-doc /nix/store/2h6fi4cxd6vvgvlchcg00jnx4z3azy4n-Only-0.1 /nix/store/zzj7hpbw3l6yfqwhxrqgfb2xv6yf2cf7-Only-0.1-doc /nix/store/yin0fv8y0ni6qdzybc9gwi83y20jnz9s-QuickCheck-2.14.3 /nix/store/gc8cd5b8nvijr591w7nyk7lqcmjkgqsr-QuickCheck-2.14.3-doc /nix/store/q42sl13pf58sdymiclk61qsacd6rvmr5-StateVar-1.2.2 /nix/store/2in5nnmljr31w6l20gvsvdhxghvxjjy8-StateVar-1.2.2-doc /nix/store/aw9p38mmbw33gm0cnvlmlqqpddrxy801-adjunctions-4.4.3 /nix/store/x4nhb07c39vq9hqqzmsc715200jn69ms-adjunctions-4.4.3-doc /nix/store/w918rylqkkb5dw2nnmnqz6iz8ffkkvcj-aeson-2.2.3.0 /nix/store/qmx99g24skmml1j01lznqmf9i4n2wi2m-aeson-2.2.3.0-doc /nix/store/m6psxqdl1l2i3mcjldazm98vsrvbfzdw-aeson-pretty-0.8.10 /nix/store/nzzk7q5nn9lg0bp1crnx0dljw5q7fina-aeson-pretty-0.8.10-doc /nix/store/1crkydpxl0sh8214grfpxhafggbyd7fc-alejandra-4.0.0 /nix/store/cqrac3n37lz70flmsn42i35q1v5bdb26-algebraic-graphs-0.7 /nix/store/bic35525ghqm3gn3rpd0yl3hraacb0w4-algebraic-graphs-0.7-doc /nix/store/58pj5537vyg2rzi2l521q29l2b9c6klp-algebraic-graphs-0.7-r3.cabal /nix/store/gfjyfw1hcshbfclk91difmkphwib8nbd-algebraic-graphs-0.7.tar.gz /nix/store/2xv8vxjyvnvk973grzzd6im726v3v5bg-ansi-terminal-1.1.2 /nix/store/plaqs3sdjv86ifffsw2v4fk7m0cqvb4s-ansi-terminal-1.1.2-doc /nix/store/li109klp14s99c88l1k2vcnlm5v6klny-ansi-terminal-types-1.1 /nix/store/813kfcphzpkjymhibn9wk1w445669x0l-ansi-terminal-types-1.1-doc /nix/store/c7zq7jqr1b34n0qimzg2cda6y0lb8hkl-ansi-wl-pprint-1.0.2 /nix/store/0y29b1iskan3884n14ax73inb1w124zd-ansi-wl-pprint-1.0.2-doc /nix/store/zhhg3j17gcshay93d5iqpn0wc5i9d4m9-apply-refact-0.14.0.0 /nix/store/ml8p0dplkqbrcxpa8icdp5mns2kc2ld7-apply-refact-0.14.0.0-doc /nix/store/0yaz62f622xd8b2q4jpaxddvz9xb0f19-assoc-1.1.1 /nix/store/g284p5x4iqkcy2vx7021v1pcryll77ci-assoc-1.1.1-doc /nix/store/37in0v9zkmia4cjsj1zlv2frs86c24l5-async-2.2.5 /nix/store/bn7qpa8vlhx1r8w16ra40wkls4pi40jq-async-2.2.5-doc /nix/store/w9jwv4594gv3g2r9c341h4g47cppxfb2-attoparsec-0.14.4 /nix/store/gn227yjnkxw2ah086dv5f1scwpgh3lm8-attoparsec-aeson-2.2.2.0 /nix/store/crj1v8wxca90bpi1vkkayy6j6ac0iwik-attoparsec-aeson-2.2.2.0-doc /nix/store/b0j07izl8bymrfdjiqiqpbbd31j6fah4-aws-c-auth-0.8.1 /nix/store/gjcvgjvr1m4f386i2279n8z2ks0dp4rn-aws-c-cal-0.8.0 /nix/store/dw43m0akrx4i361mz3v39gc5v79msy4v-aws-c-common-0.10.3 /nix/store/1191rci8hq31x01ibch6rw01hxyppzf1-aws-c-compression-0.3.0 /nix/store/lv09vqv0iwl5xhalivqrh9vq50dd0qhg-aws-c-event-stream-0.5.0 /nix/store/sshykf1xl0gx5f5fccs192953ca48mlz-aws-c-http-0.9.2 /nix/store/72clwj3z0160c40d4kraa515fnaxpg95-aws-c-io-0.15.3 /nix/store/2py9gyblpjn4md4dajbrjdpkici9fdjz-aws-c-mqtt-0.11.0 /nix/store/ygxiry6v791vkaixa54v2pr00r00qs56-aws-c-s3-0.7.1 /nix/store/78jpg9csx11aflfk32zj9mapc8ag8658-aws-c-sdkutils-0.2.1 /nix/store/4fpvq180yap1qcr05gnv3r0z6rr2sw43-aws-checksums-0.2.2 /nix/store/wgsh6dpfj8dmdnkrhvhzm1jrx4sa4zw0-aws-crt-cpp-0.29.4 /nix/store/kz3gilypl4hqdv6dpq1akbdl4frhysla-aws-sdk-cpp-1.11.448 /nix/store/c4sa84kmd5gpykwg12ism3p5vff5j0zg-barbies-2.1.1.0 /nix/store/n4nbsv6dkp6cz607wvbl57igyzrcg2gg-barbies-2.1.1.0-doc /nix/store/9g2qqvy16mzizmky35lp78d8hx9qscyq-base-compat-0.13.1 /nix/store/601hhc5zajr4cddrxf4ld0v3w2ssilan-base-compat-0.13.1-doc /nix/store/cc948fgzkc4qv7ssn8bdyaa1sni6m05w-base-orphans-0.9.3 /nix/store/i9nli6lwcrv4crjl7vs8wrs9w2v1rnyq-base-orphans-0.9.3-doc /nix/store/y0bjwbz6070xha4kbsjzgvd61rjjsdkf-base16-bytestring-1.0.2.0 /nix/store/rcc1h3l76dzv9iayb3ih23yxg2kcja0q-base16-bytestring-1.0.2.0-doc /nix/store/6gh3f0mhc8y9wg7w88n3k0zc5x8cfvgn-base64-1.0 /nix/store/y694infplszb5pr80pcarvcahm39a24w-base64-1.0-doc /nix/store/nn27l879np49xvx6l1a8nqnqlp9apd8n-bash-interactive-5.2p37 /nix/store/a4rx79vkyfssicg7cc9jn005nqpliiwc-bash-language-server-5.4.0 /nix/store/khkwdrvwm1kljaw7xwpq8jhqwcb5w4vx-bash-strict-mode-0.1.0 /nix/store/xh63fh45wmc9cwkv9gm4hdbr4qqzrhd8-bifunctors-5.6.2 /nix/store/rk56p84hqhqiq12hwbqvh1zh45njidgp-bifunctors-5.6.2-doc /nix/store/snrrbvfwydh7dpdyyg2igb2gkjpa87wh-binary-instances-1.0.6 /nix/store/65rfnb8ndrnqizg2p1zz9y00k1984h5a-binary-instances-1.0.6-doc /nix/store/l392193kz87cxbssyj5whfnyd5b1m01d-binary-orphans-1.0.5 /nix/store/sclqk76z01yp6h3x6j4502qx5ffphnx2-binary-orphans-1.0.5-doc /nix/store/42pzy4ahwk8p41hwfmz2nldgvsdws8q1-binutils-2.44 /nix/store/5i17rngglby671bra0ns7nr01v1c0340-binutils-2.44-lib /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44 /nix/store/i3nq2s2ym3w5nblv40z70mnxyzhrmwaq-bitvec-1.1.5.0 /nix/store/pss90hkpy7jqz25a45s0kyhgb6m6dq68-bitvec-1.1.5.0-doc /nix/store/sxb6b6k1jni5wczww0h86q3znjic6lnc-blaze-builder-0.4.2.3 /nix/store/9342wlfyiqc6q89sdalci12manb4sigc-blaze-builder-0.4.2.3-doc /nix/store/ywwqyk2z3kl83317lp1cxyns1jwck8rm-blaze-html-0.9.2.0 /nix/store/g9k8sbr8im739s1c8yabdk6hhmjflrlg-blaze-html-0.9.2.0-doc /nix/store/cj2wrxz3248h38k78cbmrmb0zyvidf7m-blaze-markup-0.8.3.0 /nix/store/5954k9g6wpsig7s61ag0vxki8n5jmxnh-blaze-markup-0.8.3.0-doc /nix/store/ildax0ljr3kmh3m99cky1pjvklnchzjp-blaze-textual-0.2.3.1 /nix/store/3pbls3r91ax5a2yvqh2rh2sz332sggvj-blaze-textual-0.2.3.1-doc /nix/store/60mh60sl0igwn43xx6rpzswqapa90da9-boehm-gc-8.2.8 /nix/store/rmfracij0cs1c5nrs86dnnrx4xw97j6i-boring-0.2.2 /nix/store/646cvz918g59v7xadnr5mg3bjgqjl8z3-boring-0.2.2-doc /nix/store/yv4kz5qk38y7x5x5rg8a5lmgd9pcd09n-busybox-1.36.1 /nix/store/d3am2ppdlqmvw41b5qv8k0smwwk8v5sd-cabal-add-0.1 /nix/store/rpsmyh8a6fgn7lkq910s2q62iz2qvmsw-cabal-add-0.1-doc /nix/store/8ic4r88607c95vfk7d2idwr4rh3qz6cd-cabal-doctest-1.0.11.tar.gz /nix/store/rwr0pmgbryp0rk4ffvjc45rxqhm38r3v-cabal-install-3.14.2.0 /nix/store/d6naibpf9f7fmh391z7asf5yq8p110a4-cabal-install-parsers-0.6.1.1 /nix/store/sbzkdlzz1j4axjp7gxmqnw9r4d46ai51-cabal-install-parsers-0.6.1.1-doc /nix/store/fnmq9002xgpclpc8fpxzwks1rqh5q9ys-cairo-1.18.2 /nix/store/4fd51xjyp26jdw5qpvrj0w37ssshccz2-call-stack-0.4.0 /nix/store/p6zxv198fdqchb3wfhmw6lhpg6cv30b5-call-stack-0.4.0-doc /nix/store/bal7v0rdv5848zgyds0l54ipmzkg18jy-case-insensitive-1.2.1.0 /nix/store/kfsg2jli8ihxpb7s9z8aywaarygv1yxg-case-insensitive-1.2.1.0-doc /nix/store/825ryzl22qv1nhd4rhpjmhvaiximb36s-cereal-0.5.8.3 /nix/store/frywk9g9acgkx1lzxqsmg4qkqwkjyc18-cereal-0.5.8.3-doc /nix/store/27hmflr3hcp0z8rncb7jfn1qvgyig7md-character-ps-0.1 /nix/store/mbigg6npy9wqryk7d4v72sm9qc6fvb0g-character-ps-0.1-doc /nix/store/mwsm92y2q2l4mgwnq6vscvz0km95jc4j-charset-0.3.12 /nix/store/h7wymgmc87jag3fxr7gp8c2vlfzwh6w3-charset-0.3.12-doc /nix/store/7gdzqg1l245dzqk4vvq827g09kv36s6q-clay-0.15.0 /nix/store/x1aqpm6hw575i11x0kzlhpi0wg8b5vpj-clay-0.15.0-doc /nix/store/g6rg7y0brcjfqhccsnkw7585w6ys0bq9-clock-0.8.4 /nix/store/vcwmgdz4xzy4wjd4fdda81ph6n5z6yxm-clock-0.8.4-doc /nix/store/20jih15gcpazb0k0ymqmj0lcgpx9i6qz-cmdargs-0.10.22 /nix/store/rpih0wwb0dkdz1qkc1rfbj4jdr1aqcp2-cmdargs-0.10.22-doc /nix/store/cqx6r5qjk82gwhwnqjl9zks4hjgh8qz9-co-log-core-0.3.2.5 /nix/store/jfmirsc7nwbnlbi1i3rfljla92pjcphc-co-log-core-0.3.2.5-doc /nix/store/ycpf5x5fm4jc63i2ypm0wfcixmy2z29c-code-page-0.2.1 /nix/store/wdfqm1z8d1j09fjif9r17r46sinjdirv-code-page-0.2.1-doc /nix/store/8fh3wdml3jdwf8l78xnhvcxgmxzf0ym5-colour-2.3.6 /nix/store/rqwk738052v9nnh6sgqjkj063860ffvl-colour-2.3.6-data /nix/store/rim6bfbcna2671yhnaa642aj5d0dm2hm-colour-2.3.6-doc /nix/store/7qmj4bdghsawx0xns5h8vcrpmihywksc-colourista-0.1.0.2 /nix/store/mbc4ifhcyf5crysnvgjiwmg803qa7ab8-colourista-0.1.0.2-doc /nix/store/i4ha89gcrm4crkbbwjnnn96iz25psy46-commutative-semigroups-0.2.0.2 /nix/store/vvkg922wmcdi9i4pv9v96m4s1n6hnrx8-commutative-semigroups-0.2.0.2-doc /nix/store/dvwgqs03xvw0c3v09f74ccpmsy333gb5-comonad-5.0.9 /nix/store/jsr61k9n0vnzg5wf91w2h63a7x5q4c8q-comonad-5.0.9-doc /nix/store/f98msspwiy2v0bx8rzasfbbm40b2x496-concurrent-output-1.10.21 /nix/store/fgs5s5fdg8qpqz3i9xnj5g8an4yn0in5-concurrent-output-1.10.21-doc /nix/store/bzi0zd00dhxn1vq3xn3apz2slsxajwak-conduit-1.3.6.1 /nix/store/il0xxqx0rxdn4h6kpd5fnbjhp56vdg3l-conduit-1.3.6.1-doc /nix/store/0smnh0swh9bxy2rmg7bwiywfm7v6kh2k-conduit-extra-1.3.7 /nix/store/sh12qhbs29j5knxa710bqgyqpggjsd6z-conduit-extra-1.3.7-doc /nix/store/czqbgavnqpyhi1797snavnif5c351sr6-conduit-parse-0.2.1.1 /nix/store/iqfcc937am7v5mxrf8ksr561f94qf050-conduit-parse-0.2.1.1-doc /nix/store/fgdhvl8219gqkbnwnmfhcmkv5pxif8kq-constraints-0.14.2 /nix/store/pm7prz3fdnv0mw3a8f9nmsdc93fp4rf1-constraints-0.14.2-doc /nix/store/137d25s8fnbcwbiki09f4fra9ajlif8v-constraints-extras-0.4.0.2 /nix/store/y8cvr6fgyf7yf55v0xr3iq20vbriplsm-constraints-extras-0.4.0.2-doc /nix/store/7sv9r935q5j6mgl8izjzyyfbja8adkqg-contravariant-1.5.5 /nix/store/y36qgh3a5zkcsvrv2zdhkk06sdx6qh8s-contravariant-1.5.5-doc /nix/store/pwx3j4rfs2igcv0lr1idpb5bqqylc1q0-cpphs-1.20.9.1 /nix/store/wnvs725nhziv0373mnvpm86w712jvn0i-cpphs-1.20.9.1-doc /nix/store/kz1p8xv7schlrngsk1n01hsyn3wxk2gm-cryptohash-sha1-0.11.101.0 /nix/store/d6p9yzxrcai953aja04rb67m0izzwq7j-cryptohash-sha1-0.11.101.0-doc /nix/store/8cc0dxd92kbbfrrk6p2dmckdh7w1h864-cryptohash-sha256-0.11.102.1 /nix/store/vwkl8nhjp2gqpy3a11a8z9isdrvlfyw7-cryptohash-sha256-0.11.102.1-doc /nix/store/iaap55bad199wwkq91j4nh1g47jxfccy-data-default-0.7.1.3 /nix/store/4gm6s2172yj6926dhlz56wfg80bnrfjp-data-default-0.7.1.3-doc /nix/store/q8b7izagn5n5mmqzh6vkqmp3cr9qpqjg-data-default-class-0.1.2.2 /nix/store/rv6xpcvrg5ajcbgabsrcfhkq5c4vfl9q-data-default-class-0.1.2.2-doc /nix/store/2df8d7ynz197ckm5gwpiqgbm440799as-data-default-instances-containers-0.1.0.3 /nix/store/89p51115xz9dmvinajld8nc7sb8v44lg-data-default-instances-containers-0.1.0.3-doc /nix/store/1gd18rx7hys6l66kkfhm0q605cbiyn4g-data-default-instances-dlist-0.0.1.2 /nix/store/vljkk5gafldyy8a4587gq37gfkiiy0kv-data-default-instances-dlist-0.0.1.2-doc /nix/store/wla0ygwcilpacmf6a9liw34i08nvbira-data-default-instances-old-locale-0.0.1.2 /nix/store/16j0f17alj1pakkvr53c1zq7ggnf0g0g-data-default-instances-old-locale-0.0.1.2-doc /nix/store/5j72hjj2l7d809jkanhnk4ji0r5awp7l-data-fix-0.3.4 /nix/store/j3hnx85qdvrd39a8385jdciypmywlh3f-data-fix-0.3.4-doc /nix/store/x96w22l8iqhd0k92x7gys2qsy0wcsc89-dav1d-1.5.1 /nix/store/xcaznsndin98ig8w4bbq6nq4idrhqgh6-dav1d-1.5.1-dev /nix/store/l5139jbvk2ynp6g78yyycxcs5ay6y84m-deferred-folds-0.9.18.7 /nix/store/7xmkldzh2ns38nambwnpic1hn5hs3zcd-deferred-folds-0.9.18.7-doc /nix/store/f2c0p6w6x2dmp252xjh144mncw8m2rjs-dejavu-fonts-minimal-2.37 /nix/store/dbznn2qzj7iz3l5188j956w5vyqrssya-dependent-map-0.4.0.0 /nix/store/sz2wi8lx3ici7q9m1fs5hphnsas70hrl-dependent-map-0.4.0.0-doc /nix/store/4dzp5y3i1yv7ph5n7bd2rv54jwhgnavb-dependent-sum-0.7.2.0 /nix/store/wpfwj7lshqkr98py30i0wphmn71bwmy8-dependent-sum-0.7.2.0-doc /nix/store/j9ll0y8wqszqblbjwqvcxsp1f9sydl5m-deriving-aeson-0.2.10 /nix/store/pdzqd9jnnf9rkm93kw0x8dz5450xv9ak-deriving-aeson-0.2.10-doc /nix/store/nl8506nciivgw17jnj9bawh0j314m7an-die-hook /nix/store/4hcnnx1m03571ifbhd12vgvzp0kf7msn-dir-traverse-0.2.3.0 /nix/store/mrdsh8pwa9pifvgrj1ivmbc7ya2kfljn-dir-traverse-0.2.3.0-doc /nix/store/f2fr205cif1lyixd6pa0wg7pkn48azwi-direct-sqlite-2.3.29 /nix/store/1yd8q870hsvm9g53gr9f7b196pjz3f3b-direct-sqlite-2.3.29-doc /nix/store/ry6fmjgjp58jrrhfjzjd4n8ygb7k09yd-direnv-2.36.0 /nix/store/7v1j2j5lqng1l48d3ycckv5yqgic6y65-distributive-0.6.2.1 /nix/store/qgha9nk9pwr1wmccmllyy3i8hhw66hg1-distributive-0.6.2.1-doc /nix/store/q9shhbm90b9gl6klrz3fm9ljw5sf0iyz-dlist-1.0 /nix/store/5xmqnwj94rgkmvbmw230ms997g8nq145-dlist-1.0-doc /nix/store/25rjicrjsc82nyg4cj2ykkmcb69kxlij-dns-root-data-2025-04-14 /nix/store/mk30nc4vbm3vmsbjqpy8zxvmg7i4j2bx-doctest-0.22.6.tar.gz /nix/store/q6x451lgsrmarzh4grswgr3s1j4iqadx-doctest-0.23.0-ghc-9.12.patch /nix/store/5xckmr6v2gv9v1s7g8pc80lgxs62pns9-double-conversion-3.3.1 /nix/store/ncjvky2z13rk45nqlrizdh9ypn108pch-editline-1.17.1 /nix/store/rh4hvsib7vsqx5qnfbd54qdmg2ahbzzy-elfutils-0.192-bin /nix/store/3vsxig0sb5q6vbdfgh3gc0drfvw43yj5-elfutils-0.192-dev /nix/store/s9iy1c0jbfwjb7cc0rf4nrfjga7lm5x4-enummapset-0.7.3.0 /nix/store/1mm0fl7805hz3jarhdvn3cmlp573z3ai-enummapset-0.7.3.0-doc /nix/store/rwyjabsm3d7bxljyq6caqj4p7w327ihd-erf-2.0.0.0 /nix/store/x44xmgj7br692qici0s98cmkqqih55dc-erf-2.0.0.0-doc /nix/store/fid5v1wd8wkrz39yp73d0hhlny2ms9w5-expand-response-params /nix/store/jr8kyv517lyd5xcv3pnhr6z4wirbi06r-expat-2.7.3 /nix/store/xbnajkap3zk2w34c72jfn2zpl3pffjg6-extensions-0.1.0.1 /nix/store/14xjqd344anzs71xh13zbflgqlwm53yz-extensions-0.1.0.1-doc /nix/store/vld2a6i910ng24qngfasjldhil43qbfs-extra-1.7.16 /nix/store/bk0rrawv24b6843ivvbk8qnp9n365m5a-extra-1.7.16-doc /nix/store/s4y4rd0nih0fyzyddnv17wh7r3csbp4n-extra-1.7.16-r1.cabal /nix/store/zap07ayqyv48lfcxp4yva8sylcvy2knk-extra-1.7.16.tar.gz /nix/store/jkziyjcmyn0grm7fanxsiwgwydqjwigw-fail-4.9.0.0 /nix/store/frdii1y5ghz793asl86kjyz8vmiprnmq-file-embed-0.0.16.0 /nix/store/zr2fbn0r1l9p6sk3767nksyf2vlyy965-file-embed-0.0.16.0-doc /nix/store/izhaxbhkg3qinin8x9mmsnn3f37apwp7-filemanip-0.3.6.3 /nix/store/cf0vvygk9ip82fc24lw58ddb058yn2m1-filemanip-0.3.6.3-doc /nix/store/ng13vzylm9gg7afiwk97m8am9nimk9gs-filepattern-0.1.3 /nix/store/2m7alrp4p2xvzylwdhmmc2zp4xl8zx88-filepattern-0.1.3-doc /nix/store/0ajkrarh964cybmkx4qz66h3s8c64h1v-filtrable-0.1.6.0 /nix/store/yg3hg4ra5myf9syfsn36waxifcy5164g-filtrable-0.1.6.0-doc /nix/store/vmclcsm3bgmc5ga1d4yc5nriyqss0bi4-fingertree-0.1.5.0 /nix/store/d4d1czp0svxln841m877ndwwy0694kj1-fingertree-0.1.5.0-doc /nix/store/ghnd5dds5jiwiy1ad02lwr5iag4ag81b-floskell-0.11.1 /nix/store/30qz2fp7xd4hpii5f9zvfc4anram685y-floskell-0.11.1-data /nix/store/926qg4gs0822kpcrfibs5nkqy8d221fn-floskell-0.11.1-doc /nix/store/98j2vkk9pxjibm3c94iqcpgggs9wnvmq-fmlist-0.9.4 /nix/store/z5hv8194n1dahdz406nwfsvkkw8gn3vw-fmlist-0.9.4-doc /nix/store/0fhpamld6vl20jwqgcfqp0675lsjdxsn-focus-1.0.3.2 /nix/store/iyx5y152blz6j1wpw70wxmv5b92df4gr-focus-1.0.3.2-doc /nix/store/iy8gnrpny58703004yz6a33xxg916lfv-foldl-1.4.18 /nix/store/vvcdx2q4yghqfvqhm075x1y44w50s9c3-foldl-1.4.18-doc /nix/store/59s8rkrndv5vk8bhb9ljy6pvgyh63baf-fontconfig-2.16.0 /nix/store/wnvcwai159xvb8m4i6c9aiv90c3ilhk7-fontconfig-2.16.0-lib /nix/store/bgiqa8jp4xkwjvyhrv2i2jqf0zzz9h45-fourmolu-0.15.0.0 /nix/store/rnlkpz4zf50amd1fyxmyh9c7lhczk8mr-fourmolu-0.15.0.0-doc /nix/store/50495hibnd1icii4xhb8qypj8k6pd3an-free-5.2 /nix/store/mb3dp3p9wmwhjx8x0x8g2y0mpskgpibx-free-5.2-doc /nix/store/p1cqrricl0ch7qab8b8w3krhc91d890v-freetype-2.13.3 /nix/store/62h5sfxr4s1qc3fghcan06viq4gms6yg-fribidi-1.0.16 /nix/store/plq4i2vr73rihcxx4s8m29h9wr9837q3-fuzzy-0.1.1.0 /nix/store/kfgw511kv1d5gk87d5m3bbbaa2b1dkl8-fuzzy-0.1.1.0-doc /nix/store/y28c83zz73yr4vwz1fsl4nsrn6yz5fj0-gcc-14.3.0 /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0 /nix/store/awm8a4wpvh14h42jl21m2armqhm8fhy7-gd-2.3.3 /nix/store/vmw4ghy1v0lz64f1xx4cyv6g6qc1lb1k-gdbm-1.25-lib /nix/store/akc947m4vlrmzjil7d0wv91v3gkjflf3-gdk-pixbuf-2.42.12 /nix/store/vzchq4p13rq4467x2iba6bcvhfvr1mvn-generic-arbitrary-1.0.1.2 /nix/store/4485gl5v5dklmpyyhkhwljl02gyhmncf-generic-arbitrary-1.0.1.2-doc /nix/store/ql9mvkkidd8z0gizx3dm504cw9dvd6a0-generic-deriving-1.14.6 /nix/store/7yk54vqz03kha1kinra8l8cc3846zgh7-generic-deriving-1.14.6-doc /nix/store/6gqa9gbikmck3w4anci8c9nww5vlkvmi-generic-lens-2.2.2.0 /nix/store/5am1xpi4xx6ngz5q0jky6k4c91fs64f9-generic-lens-2.2.2.0-doc /nix/store/7lmp9lkzhm9yykzw1ccgazr3wbxy3l2l-generic-lens-core-2.2.1.0 /nix/store/s1zf9mwygys208lvdf366fm5bf63xhli-generic-lens-core-2.2.1.0-doc /nix/store/rplav9hh6x0iy0rjiynng1da3q3wq5yf-generically-0.1.1 /nix/store/rld2kq0aynfv3ibw44dpwz273vb4df7g-generically-0.1.1-doc /nix/store/sz6wx51pnm4dpcliyysd27i0jqywm15x-gettext-0.22.5 /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4 /nix/store/nika7jrbhi3cbb22c28v7m8ra6r19f2w-ghc-9.8.4-doc /nix/store/aqa99h6l45x9lswa54p2yasmg4b4dhw4-ghc-exactprint-1.8.0.0 /nix/store/kv7skpq0f5m68b4b1z1lg08ck1m65v0v-ghc-exactprint-1.8.0.0-doc /nix/store/ma6fh52z3m21qf0i1yvbrqj31mbnr5xj-ghc-lib-parser-9.8.5.20250214 /nix/store/7cgh0g4z2p1kpb3yfccllalg8avj7jg5-ghc-lib-parser-9.8.5.20250214-data /nix/store/kb3xpwk6cn4pb4mpccxcq5k650q1y9jp-ghc-lib-parser-9.8.5.20250214-doc /nix/store/k7x75w6xc8h8sad4pkdbnk1q4iqxmk4h-ghc-lib-parser-ex-9.8.0.2 /nix/store/1ji80zwwbw5xgm1qb8jp6h8v264mfq31-ghc-lib-parser-ex-9.8.0.2-doc /nix/store/61lsqjs72m8i97df6f12badxk7lhxjwl-ghc-paths-0.1.0.12 /nix/store/l5803valfkbbli1akrcr95jd1475m8nx-ghc-paths-0.1.0.12-doc /nix/store/nb6f6gsg55nky42zddn60xr2wbd7s08c-ghc-paths-0.1.0.12-r7.cabal /nix/store/jbdk3r2ic959xyc0394gn6n61wgjf6n0-ghc-paths-0.1.0.12.tar.gz /nix/store/7fkvhacrmmcb5jzids5a9gbk1dhkn8h1-ghc-trace-events-0.1.2.10 /nix/store/6g0x9hbm8yzj2vkhl6c14il755ay1nj3-ghc-trace-events-0.1.2.10-doc /nix/store/zlbx52fn71zg53dlqg4ymbcnrfv5d4sr-ghcide-2.10.0.0 /nix/store/mhwx2z8xak15w95g6db6gpqqw5d9jlsg-ghcide-2.10.0.0-doc /nix/store/imw7yr5pkn22zaq7z7hczpb9dim29scw-giflib-5.2.2 /nix/store/639k78iljhfmciklnivi0wja8jcy788g-git-2.50.1 /nix/store/ka79yp3ljjdkglkg0m55fxcbl130rjm6-git-2.50.1-doc /nix/store/021pzk1221ncd3xngh98wfqv74ymr593-githash-0.1.7.0 /nix/store/2prkmd3yqx65s8z7pa5vabqcypk7n5m7-githash-0.1.7.0-doc /nix/store/z0ak0df7isqb2jk35ylql4dcfcr4wkyc-gitrev-1.3.1 /nix/store/brdhhz5mmj55lki4m2nachsmr1sw96np-gitrev-1.3.1-doc /nix/store/8gfq9pn1shnhi6mha2a56aa3ny7g9r6f-glib-2.84.3 /nix/store/fm1snxs1cg8ml9fjj6kra32sc8413k8z-glibc-2.40-66-bin /nix/store/1v9ggwkpb0xy708s11s1g9fhinn3b06r-glibc-2.40-66-dev /nix/store/6mxnr68qgihr5pmp4avjbijjgwifdnml-gmp-6.3.0 /nix/store/mml8yn060rz4krfdcqpqy435imx3x2k3-gmp-with-cxx-6.3.0-dev /nix/store/zrqnaqv2l3vq6w80jwaf5qhgjjkdk937-gnutls-3.8.9 /nix/store/spmkixfl0sj5l0vvj9gxxlymid3nkwh2-graphite2-1.3.14 /nix/store/4agib1rqrq7dplfhakg6xh9injdyan0n-graphviz-12.2.1 /nix/store/zyg1px9d41rmv75jr76lxxfxv3zwkn2z-groff-1.23.0 /nix/store/kgshgyy6warcdj62p7gm0rnmdl9c9mn0-gtest-1.16.0 /nix/store/l1y3v80zbq5yw155ldyhs3g1pvg8hb8i-gts-0.7.6 /nix/store/c2xq2n5wfq77rr1vp7x4sj0g21ykkqqc-haddock-library-1.11.0 /nix/store/fwax3phx7g55rpdgc2szgjzjfdg3gq0r-haddock-library-1.11.0-doc /nix/store/v03a1m3b2z4gml5z7d9wbh8kxz32l9xr-harfbuzz-10.2.0 /nix/store/8sh962fh6cxs6sk2ml4ayzmdwn21fzni-hashable-1.4.7.0 /nix/store/wq1ra37vr17bgkd71pa66wj0sxq15rn0-hashable-1.4.7.0-doc /nix/store/4zl25x7hvls52idv5pm8i0i3d5n98a3i-haskell-language-server-2.10.0.0 /nix/store/njykrswqxy2mnd2krqanz1z5cgdyf243-haskell-lexer-1.1.2 /nix/store/vfdk8dapw51nkf8fzg2k32k4vncgym2b-haskell-lexer-1.1.2-doc /nix/store/s6vz4vy9hlg7z8s3s9srwnaa8376qkcs-haskell-src-exts-1.23.1 /nix/store/qgp7lvs6hch5m51r4x21p5rnx2yc37rj-haskell-src-exts-1.23.1-doc /nix/store/gh9nyh9wca8219pr2blv5zbg1jyhhgn7-heaps-0.4.1 /nix/store/s8mgq3y0jd9br0dqyvsfri5bpzslhw1s-heaps-0.4.1-doc /nix/store/6vzlny7c64g47yz03sj7hpx6chcxj067-hedgehog-1.5 /nix/store/3r26wrq4h69ix8hvaaa74hmcdi6w00ss-hedgehog-1.5-doc /nix/store/ff005535k68sw6g8qggl5zv976ab90zj-hie-bios-0.14.0 /nix/store/f4rf89374kfsir0wrb26msib1rqipdpa-hie-bios-0.14.0-doc /nix/store/zv0cqinwscfp29sr35wfxrgkqvz45sps-hie-compat-0.3.1.2 /nix/store/l7nwi8scq499hi7w2nz3z7aq9rys740i-hie-compat-0.3.1.2-doc /nix/store/gfia6y2r453d2qknal39xyj182wjfvs9-hiedb-0.6.0.2 /nix/store/afc3vaixzp1cpxzmv97dx4fbh0n6s6xb-hiedb-0.6.0.2-doc /nix/store/4rz036fnrva50bgz39igj2wm7khckdwl-hlint-3.8 /nix/store/qbscv63yl3pi2p2k2052ygjh7svbgbgp-hlint-3.8 /nix/store/vhrmyvyvdm4abqlkra65ik98s9na1j6m-hlint-3.8-data /nix/store/xpqq6zqzqyyviajl2sfkcaj1s0ck7z4p-hlint-3.8-data /nix/store/53dny638ydl3j53c6dmfl4mwd5dvprc6-hlint-3.8-doc /nix/store/19w5c1jjamq29xawwmfazmwbljrqyy6c-hls-graph-2.10.0.0 /nix/store/19kjng9fwwxcqk37sh2rsfyckazkzafi-hls-graph-2.10.0.0-data /nix/store/1xz35xdxxikl079c6wpilmnfcyil4cnd-hls-graph-2.10.0.0-doc /nix/store/jrcs2bclf3x8l574n0x2d1vpkc4bj0wp-hls-plugin-api-2.10.0.0 /nix/store/bsngjrw22n8v2hmqmklg9cb50bq9pqjh-hls-plugin-api-2.10.0.0-doc /nix/store/jf0rg3cplzcq3s8qnfkz5mq5bnaa2skl-hls-test-utils-2.10.0.0 /nix/store/v9rgg0si9djlpr1jpxmjq1m7xjvwdsd7-hls-test-utils-2.10.0.0-doc /nix/store/4kpbg61sraqf1rlvj5ka125j2s93y4r8-hostname-net-tools-2.10 /nix/store/fb7sllj82i2dv2ijivsz2abp0agz40p9-hscolour-1.25 /nix/store/wl1gvkq7a2axby0pc5ckyackix0z3g41-hscolour-1.25 /nix/store/anhqhsw7qxxmmmj6scjxvaix52s6hmfq-hscolour-1.25-data /nix/store/qz0py0123jhn7dii6ikajf5ji7crxsbf-hscolour-1.25-doc /nix/store/vg59rygy8q5hphj6q9pm2s8w3sng0h3y-hspec-2.11.12 /nix/store/rk6b22q6rv31qrjkljhbmxnr1a9q937q-hspec-2.11.12-doc /nix/store/75azhmyh4b81yd1hyv2fqy4avnxipdvf-hspec-core-2.11.12 /nix/store/j97ymf6qf4a0412jbwajqgkgk0di4mqp-hspec-core-2.11.12-doc /nix/store/v9rbk5982v38z941la4v8cg6ahppzrpi-hspec-discover-2.11.12 /nix/store/fwdkfdy3zd47kb8zihha2755slxpxb2r-hspec-discover-2.11.12-doc /nix/store/86ikn2vbws485s9jf8hy9dbvwq97405q-hspec-expectations-0.8.4 /nix/store/cnmyqn0ng5xvq78079qzsvzyhs92sg0w-hspec-expectations-0.8.4-doc /nix/store/sbmkvbzwb9dbvnyrakdvnxqcb7hwmzb1-hw-fingertree-0.1.2.1 /nix/store/vgbrni93r1jfbbjr9awbg4r8333vxxn6-hw-fingertree-0.1.2.1-doc /nix/store/rb84pplrxk35ya8ild9r068dbxgpbdhy-hw-prim-0.6.3.2 /nix/store/h0iw88wgnqy6pjknsdk0izmsz1ibkmfg-hw-prim-0.6.3.2-doc /nix/store/rymdwd8k4abh40b3mw4pf69g793mdqbi-iana-etc-20250108 /nix/store/krj0md2jkaaz4ksrg8wqab80wk34d1d0-icu4c-76.1 /nix/store/70sl6zdmxwxp0hi6q0dr3dhf3h4mf8fn-icu4c-76.1-dev /nix/store/ymawrkg9xbfprb25r4hvz1hq3n1lwwyh-implicit-hie-0.1.4.0 /nix/store/hlafbfg1ghhy24hcw8bg68icziqcngyy-implicit-hie-0.1.4.0-doc /nix/store/86gz4xb4jd4w72bw28h8qddnzmp60469-indexed-profunctors-0.1.1.1 /nix/store/9qgynjzfclgxx1a7y71lz2arphldhav3-indexed-profunctors-0.1.1.1-doc /nix/store/r357m8bjqkwpzs47h5h9qi3bl3asaxyg-indexed-traversable-0.1.4 /nix/store/mh1mvs53l7xnncbbgbdvmsb5xzmrhg75-indexed-traversable-0.1.4-doc /nix/store/6syi9kw2kz4d1wfxahmw414hbhcp69zd-indexed-traversable-instances-0.1.2 /nix/store/2330h26pfsp4z9i9p7qyfdajlj06vddi-indexed-traversable-instances-0.1.2-doc /nix/store/k147b5kxb26b448ph8xcayh6xh9sh2z6-inspection-testing-0.5.0.3 /nix/store/0b6jaz0wgpa8iwqrzlrkypc4w1dhsrfh-inspection-testing-0.5.0.3-doc /nix/store/vcid8cqhp49ncshhmjdvd1vyv8r4m4zz-integer-conversion-0.1.1 /nix/store/11x1zh9dc459ib2b78bdda1zb24g2506-integer-conversion-0.1.1-doc /nix/store/d3vcii9kvhii8fn3k4v6cxnbp6dli60f-integer-logarithms-1.0.4 /nix/store/77xz1zi7pkzhzxi26b58ihppl8ki5c1a-integer-logarithms-1.0.4-doc /nix/store/l0n7dgx5kjhfd1xhdhkjzkng287n64bd-invariant-0.6.4 /nix/store/pz8vmvr6l8cmqbzmm88xdqp6mcz9yf01-invariant-0.6.4-doc /nix/store/fpsjnh09h1jnyqm51925wa2xck72jchb-isl-0.20 /nix/store/zmclk9wgp95wc674lc8qgg67dv9b8bhc-jailbreak-cabal-1.4.1 /nix/store/b4rm0x46a7p3f0ihqgshf3zhiw6gk8is-jq-1.7.1 /nix/store/r49zci44xq7i6wl61ayhq82wn6v7w9lm-jq-1.7.1-bin /nix/store/2xy6mha9sjlgspmabx8mm93kp6qm9xqk-js-dgtable-0.5.2 /nix/store/lvr9j12nprvdgqxrack8zq4zg89xdryf-js-dgtable-0.5.2-data /nix/store/0401xpgchbv0gsxi39ann7ppfnr7xjvv-js-dgtable-0.5.2-doc /nix/store/rirdfw9a3p7fb5ya5lhrp8mrqmk7f8kj-js-flot-0.8.3 /nix/store/9mfv3hjb4bvx5jny2axygmyj81xqc8y7-js-flot-0.8.3-data /nix/store/izbb7c0gvnapp1c2hxj64vg84m69jxgx-js-flot-0.8.3-doc /nix/store/238x4isp1pllgr5zg3bi3i125wx9q8bn-js-jquery-3.3.1 /nix/store/k68rd1glqaxhjsishvhbd5v3as9fdpc6-js-jquery-3.3.1-data /nix/store/3nm0w0b2n88gdjjpyh0d2nz4gnf9w2dq-js-jquery-3.3.1-doc /nix/store/k2gx5dnqljdlpf2aimrck0znw1jnsi20-kan-extensions-5.2.6 /nix/store/v04k085xvnhy29l3z5am73cnfgiyxs1j-kan-extensions-5.2.6-doc /nix/store/laryjwvjl934mlv503g3n1mzfak4jgpi-keep-sorted-0.6.1 /nix/store/vnyhl74y8h6c0wjv5jbscabji7mdsz21-lens-5.3.4 /nix/store/qn9r6v9fjn52l9q6p3w3v1xcj1i6ppqr-lens-5.3.4-doc /nix/store/z3ys3md5gy7dz64nmlcgv4bqmx9d5kcm-lens-aeson-1.2.3 /nix/store/6lc4sfwqgvbqd6f8p99wmr5dias6ws10-lens-aeson-1.2.3-doc /nix/store/cacml0j41d0zkj043va8ryg29cfs3s0j-lerc-4.0.0 /nix/store/p8fdrwah2spzb8i0f666bn7lpm1ccqj7-less-668 /nix/store/2yvh4kwhfd65dcd3r6y6bgdwclfndvzr-libX11-1.8.12 /nix/store/4gybpyd4avw8hz8gk0fhhkh2pk06rm6d-libXau-1.0.12 /nix/store/rl14lfb8yhxxajpvlkp7ymvy2gy9f1lk-libXdmcp-1.1.5 /nix/store/2v2nlnxm34grn5iq1s1n4di9vsn3k4si-libXext-1.3.6 /nix/store/73z88bd7ad3qqvyy7j1rgflvpadqzkqi-libXft-2.3.9 /nix/store/279a53jiv7pg1bds2ln3zl5ipmmfv9pn-libXpm-3.5.17 /nix/store/x9agy8k80f2d7qcds6rhrqrv68xqcqiz-libXrender-0.9.12 /nix/store/y3qhvjg23hq8j7b0z4ixp076sk4l83rv-libaom-3.11.0 /nix/store/xsr9bwrfr0yz4s61qjr9jx8wv1756bgk-libaom-3.11.0-bin /nix/store/rjb0brw6yy6hjpjj006qbl9m1z26pci0-libaom-3.11.0-dev /nix/store/b7lgmwg8dcm6qvi62sncv1r9k7pl70vs-libarchive-3.8.2-lib /nix/store/vn4zlycwkh6kvds89l34mb04nd6dc055-libavif-1.2.1 /nix/store/y38l4arx7jj82splqhcna30w8484inlb-libblake3-1.8.2 /nix/store/hkj8hw50n2jafdd9ls7ibq09lddgkgnv-libcap-ng-0.8.5 /nix/store/s3a1b4z1g76ghg8lx7n9x1x737fk50yk-libcpuid-0.7.1 /nix/store/crxsllsl4kg5p0001gfal6a58yxmhjnw-libdatrie-2019-12-20-lib /nix/store/ck7khcf4za0whllxl5v2p0g5qcfkzzmh-libdeflate-1.23 /nix/store/ka48qwfbrhac03afnw6pcmnfq11agwpr-libevent-2.1.12 /nix/store/a7qf1v4q79pqvkx66ra8dy36anrd7nmw-libffi-3.4.8-dev /nix/store/dl9967vkjl6i3k3vc8hyh01yvawwsm4i-libgit2-1.9.0-lib /nix/store/4iwxcmla6n5yzwbwj57jkhas92jrjb1q-libjpeg-turbo-3.0.4 /nix/store/lagazc9fy36vg2h9dh7rjxd3a19az0m7-libmicrohttpd-1.0.1 /nix/store/h8xdapcbh1hgqrbcs1xbfamxgx4wwrj3-libmpc-1.3.1 /nix/store/pi5lc3mghn6m2c8x2psvp6z9m1cmbapc-libpipeline-1.5.8 /nix/store/8a6g04hk9jbq2cpx7afpl1j9f2q6h5sz-libpng-apng-1.6.46 /nix/store/5njwabxkp1adj6q55a0yhncj51mnzib9-libseccomp-2.6.0-lib /nix/store/7alkpy53ndwgg2j1548vlgc3j6pzmjkj-libselinux-3.8.1 /nix/store/imwag50h7nn22kvky64v82i6c5bfgxql-libsodium-1.0.20 /nix/store/w8mfdhc191qmajj92g6yi0izqzvacj2w-libtasn1-4.20.0 /nix/store/qyz709rdi8pdai3krdmyppaw6w21bjsj-libthai-0.1.29 /nix/store/f5ijn1z4aih5gjby8xr2264p1y8gnn46-libtiff-4.7.0 /nix/store/aj10j7rli4yhdfpl1f7yw31rkq4ha7yk-libtool-2.5.4-lib /nix/store/j3y24dy35j88w7vk1cnf3lf1g3w9r2c9-libuv-1.51.0 /nix/store/xgkmxh2vg0ff61y8ngdcx73i58zs0fmg-libuv-1.51.0-dev /nix/store/1f3i1xmh7mc7llqgzryhgm4cfzsbyisb-libvmaf-3.0.0 /nix/store/smphwkfmvcw623296s39lnj6ahvjbh28-libvmaf-3.0.0-dev /nix/store/0mj66hc9mf2bfj9d0v8mis77d51c7kzp-libwebp-1.5.0 /nix/store/5wbk6hz3xcxkhrndryxkh1p1ms0k20im-libwebp-1.5.0 /nix/store/xwd1s74zk3bwilv4p02284ckyy319vhz-libxcb-1.17.0 /nix/store/cvd68krxqrwgrsigszs0al2i8dnvlwk4-libxcrypt-4.4.38 /nix/store/f35fr3iklsi4kb4jznr025bzrksg1hms-libxml2-2.13.8 /nix/store/xi8h2ls6xl8pksxizl8rvxpgc5ywqbdn-libyaml-0.1.4 /nix/store/ni00x4azxra4kwmjzx0f4w20mvww67af-libyaml-0.1.4-doc /nix/store/rf83vadrrhxmf5r5nh7pv8r6p8xbwr5j-libyaml-0.2.5 /nix/store/nikwcsxvbj82wfbsq2qrvlxhgdjsbbr7-libyaml-clib-0.2.5 /nix/store/yb0da9d5xbvpjdpvai5yajsrm5728iy7-libyuv-1908 /nix/store/q3qxm7qirc9390na182ryr99ngpm2h6n-lifted-async-0.10.2.7 /nix/store/z416k4x3s8005iizhiaz5naff1big7c9-lifted-async-0.10.2.7-doc /nix/store/fplaxsl6w90cnpypz5pvsxhi34bysi5q-lifted-base-0.2.3.12 /nix/store/08a71lkcdvxxsyg47ffm82bbaxklydbh-lifted-base-0.2.3.12-doc /nix/store/dlfjyqx1c99z7szp881jpnzbakw8m97x-linux-headers-6.12.7 /nix/store/8sq6c5nxw9yc6b428kd6xzy24drwsdga-list-t-1.0.5.7 /nix/store/q9xy1cly7s06l8kmdbblbazgwqwi2kbi-list-t-1.0.5.7-doc /nix/store/6xk5plhj8i31xky6n4318r9720aclvhv-llhttp-9.2.1 /nix/store/hqd6vbajkgl0zsnfdk3v3in8nszh1qfl-lndir-1.0.5 /nix/store/3iq69sh7yyd9swzms1a12ypvdqd9zb7w-logging-facade-0.3.1 /nix/store/6ganddpdbgfkp9m0i910i0jrzkh9ibp6-logging-facade-0.3.1-doc /nix/store/40f0420jg39ryxkbryysdjhyp5mfpffa-logict-0.8.2.0 /nix/store/bn88p5c848rs3p1wpm7q0qrqi6zwxf7g-logict-0.8.2.0-doc /nix/store/d7rwmcrxibwyvfrdy8cs6x1lzl6w17aw-lowdown-1.3.2-lib /nix/store/jnvcl0q6zyzvgrpnkrd0m6hhk0pdjkcp-lsp-2.7.0.1 /nix/store/6d1h8bggh9xglbq99iiz9isrzw1xq2fa-lsp-2.7.0.1-doc /nix/store/d7qa9dks06dysly4y123jwz9kb31q6z3-lsp-test-0.17.1.1 /nix/store/ip9ffsd0p15863wi45illwfjwwc2l2fi-lsp-test-0.17.1.1-doc /nix/store/gzl4qhb3y5iq7zzwjq2kbfxhgw84xsqy-lsp-types-2.3.0.1 /nix/store/g7w8r5bghb8753ccz8jagzf4f8c893ng-lucid-2.11.20250303 /nix/store/nb7zyc0dijznz7xhx0pd83jsf749cn8y-lucid-2.11.20250303-doc /nix/store/4g2697lyga0y2szksxld842d21w02g95-lukko-0.1.2 /nix/store/lidz4qz15ygqpifysk653bagzy9y1285-lukko-0.1.2-doc /nix/store/4kw98q84pbv2nwq3ay12aavfa9zi4d9z-mailcap-2.1.54 /nix/store/iw8i9xxh37lhx7sg2pmnw54gmmvcvd2w-make-shell-wrapper-hook /nix/store/c0f2wpa3h99yrjhr0lzxgb3hlans4yb6-man-db-2.13.0 /nix/store/6bk128yvs483s18wypgxy94l8lawvv8p-megaparsec-9.7.0 /nix/store/1zvniagvr0xgamnr0f6q2k22m03p41k7-megaparsec-9.7.0-doc /nix/store/fn63vi065v8xrzdsp55c0sz2y8w4sw71-microaeson-0.1.0.2 /nix/store/78ra1wnd0yswabnrvr09bq2wqfvscadx-microaeson-0.1.0.2-doc /nix/store/kvcrz23klyzd2m2l6h44r7qs0glzmy3d-mmap-0.5.9 /nix/store/9bn6979ar2is4l6l360ncmq840jjb2fr-mmap-0.5.9-doc /nix/store/1vp4sdgx9hiys0gi7fd3i9cvl83c28q9-mmorph-1.2.0 /nix/store/0w4vybzlx4l4wfj8ny97c01wmjvy1vh4-mmorph-1.2.0-doc /nix/store/h1srj4p1j71y9ppg0i85nsvj440iw96j-mockery-0.3.5 /nix/store/y9a8956gkvdq6rr4jr3mfy6gdikgg3sc-mockery-0.3.5-doc /nix/store/ka3g4wfd31yi65v3zvd6zabsn1s2i5g8-mod-0.2.0.1 /nix/store/1za9151ycdhsa9bnjvj6c1jj38qp6877-mod-0.2.0.1-doc /nix/store/zxx7mwa8f2vin45fxqxqnzq7zhxrx0df-monad-control-1.0.3.1 /nix/store/aiiklmmnfqrpg4h2rv6n9wic40fsarhy-monad-control-1.0.3.1-doc /nix/store/a8jbj7487ddq94112fzipn0cssbqndci-monad-dijkstra-0.1.1.5 /nix/store/2gq4455wbawwpyl3xlzlf7h9pa910ip3-monad-dijkstra-0.1.1.5-doc /nix/store/2p85fn8c61p0yiy566zrxsw2xfbb62fb-mono-traversable-1.0.21.0 /nix/store/2psyrvdp6a1gyz0dx84p03lchai9qjgm-mono-traversable-1.0.21.0-doc /nix/store/s9s1c47ljix01w6kr2bx8y6w9m4s8k3f-monoid-subclasses-1.2.6 /nix/store/w706c0z93ncgqalf6sgfqfcbzvh6qf5j-monoid-subclasses-1.2.6-doc /nix/store/68bgk51v8baq44lqb3ps74b7jpcgc30z-mpdecimal-4.0.0 /nix/store/bgp9znk5cnzmh0fbb2l0rwclbz2qv0w8-mpfr-4.2.2 /nix/store/jbc7djw77c1mp62hc37lcfgbzfi1pvyy-ncompress-5.0 /nix/store/vj3rmg6937p9icir6bazbdcb4xdnrg9j-ncurses-6.5 /nix/store/hgc91dkd1iqjdic0s55j1j2rycxd20k0-ncurses-6.5-dev /nix/store/10jlvwj869vdcgk9kzgxxficq81y7bzm-ncurses-6.5-man /nix/store/hagfkz4dky8y2f7b0mcvalx0gip42agq-neat-interpolation-0.5.1.4 /nix/store/x1dm398sx0sanzqfzlvy7swfc2p1czd7-neat-interpolation-0.5.1.4-doc /nix/store/dlq6da0kanx17zih03cbkwz61y8ijfjd-net-tools-2.10 /nix/store/hfwp8v0hkf1msb88xxak64kwsskbg5id-nettle-3.10.1 /nix/store/fx5ff3jym9il33qlx6f74imd062f92j4-network-3.2.7.0 /nix/store/pznqdzv9ysg2yfzkhhirzgz6ay3mig3m-network-3.2.7.0-doc /nix/store/rq4cibdgzdpj2jk3c22mwym13sw5yfaj-network-uri-2.6.4.2 /nix/store/zdg6a43bmqdsv6q0zv1xvix9glhjq8fk-network-uri-2.6.4.2-doc /nix/store/bw9hkimjxi4m2p5zsrlxhsjjxnijkwhq-newtype-generics-0.6.2 /nix/store/54kxnnfxjvv68cgs072fihrcqr2wfkw5-newtype-generics-0.6.2-doc /nix/store/baai0iy8l2j08zx05ydwz4cf0qgyllx7-nil-2024-08-06 /nix/store/x92x70hdpnpdblgnvpyar7nbvp8h74nb-nix-2.28.5 /nix/store/hb74b7w63fdcc69213qzr2mc6x4wr0k5-nix-2.28.5-man /nix/store/righ0a5sp3swjn2xr59zibpqa8hg85jf-nixos-option /nix/store/s0jzinq4ym2l1n7mqf0j0chpcc9caj08-nodejs-22.20.0 /nix/store/xa1dr7cjlg1cczxwsc5zmw81s9yv816m-nothunks-0.3.0.0-r1.cabal /nix/store/wzdyx5j9ylkjc475kaylxv5w38vhyy44-nothunks-0.3.0.0.tar.gz /nix/store/ja5rziw1vhvrxj1p4f17qp172d12hy4c-old-locale-1.0.0.7 /nix/store/nxjzp89zh6d32pmg0v7aq7jv10bngqsd-old-locale-1.0.0.7-doc /nix/store/msrxfcx7igkdgz33xxl5s7wpap5rsg8i-old-time-1.1.0.4 /nix/store/y8v2lwg26dicjv12pkzd8rqphc3y7bnp-old-time-1.1.0.4-doc /nix/store/5540mrdimy0hzz8zd3j1r622bcrxidz0-oniguruma-6.9.10-lib /nix/store/y490z63bh4d0yqh55fqvplnkn9kfda3r-openssl-3.4.3-bin /nix/store/dhrylylhir0cy7a0scg1zmq0gbq3lwpm-openssl-3.4.3-dev /nix/store/b9ipfmkv7az89r1da12j3n1a6g67gzkh-opentelemetry-0.8.0 /nix/store/9pxafj94idma76z7nnvq1wr2nsc9l98f-opentelemetry-0.8.0-doc /nix/store/qgrmq4kf9kfmfcz2gflpxh1h1dxz73sn-optparse-applicative-0.18.1.0 /nix/store/ypw9z6l306hya9xmjvwyn11x3q3ahx2b-optparse-applicative-0.18.1.0-doc /nix/store/ppbgskdwlqahh82cyplramkzpk6jlaqa-optparse-simple-0.1.1.4 /nix/store/5zl3qyjx5rbmr4x3c7bpgb78jx0whykg-optparse-simple-0.1.1.4-doc /nix/store/m1d4946hr32h10bp257l2gwf7aw529nl-ordered-containers-0.2.4 /nix/store/y25swps20rngijb8gl07rc2b49l1vs9f-ordered-containers-0.2.4-doc /nix/store/3paxrgcf4rppqp839c2085sw655jdvva-ormolu-0.7.4.0 /nix/store/3z07arviz8y5fyl2568akykm9slrjr7a-ormolu-0.7.4.0-bin /nix/store/900bir0sjxm7pc45xl9664cg8ghv065l-ormolu-0.7.4.0-bin /nix/store/mhvg9vq57v8zgwf4q5vzf3g5hv4i2ykp-ormolu-0.7.4.0-doc /nix/store/9ii8r6wk4vhp018mm63df83155palgbs-os-string-2.0.7 /nix/store/c1a1xp0r6rmxws99g4sk6d9dnqhhpkfr-os-string-2.0.7-doc /nix/store/mr2qlbg1005kpgcq06jfmcll69zzfav4-p11-kit-0.25.5 /nix/store/jphjx778qgmsa5awgdal5vmxan2ay2iv-pango-1.56.3 /nix/store/vipb5hcl80yr4fws7a12d1zj631z1z8j-parallel-3.2.2.0 /nix/store/jp08c9k37vay1mk45bgcsail6d2qhrrh-parallel-3.2.2.0-doc /nix/store/55v4cfgxmnj81afcp1g0f3bd1y3nmnwv-parser-combinators-1.3.0 /nix/store/x9zc0mcw52dpvwa4c9gsfcszkqlv0icy-parser-combinators-1.3.0-doc /nix/store/rzja1nr0vn2cjndpa0qw1gq7sgz8cvfy-parsers-0.12.12 /nix/store/j2n7ygqhxy9i748nqbiiy2rlf0kfagi6-parsers-0.12.12-doc /nix/store/k9lfh0l007sp61rag7d9bf3nn5bg3qy7-perl-5.40.0 /nix/store/dkj8lkhrnxszlqrfhp72isf4gbh011wz-perl5.40.0-Authen-SASL-2.1700 /nix/store/cpmmmdmdqwssg63l87ry66gqa32dy251-perl5.40.0-CGI-4.59 /nix/store/xm50jlvjhvfgafac1bgg725mzx1ha7zy-perl5.40.0-CGI-Fast-2.16 /nix/store/sa3nxi77fbvhsqrsyrh9jank9qlvpqd2-perl5.40.0-Clone-0.46 /nix/store/rcm5xr7jbv4ppd52xxkhf86ljvkszzij-perl5.40.0-Crypt-URandom-0.39 /nix/store/dyvvj190jffvi40qqgfqh6pjnhpfalx7-perl5.40.0-Digest-HMAC-1.04 /nix/store/9hkmjwiwmzjhc3bldlzjfllx35kb0z72-perl5.40.0-Encode-Locale-1.05 /nix/store/bfaj5s5p74d608q7v6b62rv4gnbcw4zc-perl5.40.0-FCGI-0.82 /nix/store/d6qwk9wlslhisb7imqq5gfcqppf1yhlh-perl5.40.0-FCGI-ProcManager-0.28 /nix/store/cs3bmq8ppvm13icjdwdp5f753j663ck6-perl5.40.0-File-Listing-6.16 /nix/store/ka4vb8g9byjyhz6fwb1567jw34kv8yxr-perl5.40.0-HTML-Parser-3.81 /nix/store/znd3lz8b5nkqb80ymrrxf0p3v2d4klm8-perl5.40.0-HTML-TagCloud-0.38 /nix/store/wyfc8fx4h9fw9jscjb69pldxz7npy948-perl5.40.0-HTML-Tagset-3.20 /nix/store/1yzyw24zirzv7p3fb9aikik9hpg2yl6i-perl5.40.0-HTTP-CookieJar-0.014 /nix/store/gjaa2wzl71i6j2mi6f7dyjigpw7iqa84-perl5.40.0-HTTP-Cookies-6.10 /nix/store/ggj3jz0vspp622bllbd9q98k30rrjhvj-perl5.40.0-HTTP-Daemon-6.16 /nix/store/3lwgl9b6mv8rnqn9bnrjkj7m6h1p259p-perl5.40.0-HTTP-Date-6.06 /nix/store/9r8a8rfwgf39vz0i8nl4fw51nik3rn37-perl5.40.0-HTTP-Message-6.45 /nix/store/3d43mg79p6j94pi1ids55886wpzvhypn-perl5.40.0-HTTP-Negotiate-6.01 /nix/store/hp1khv252qq4mf8bca6mgwnddjhk4xwi-perl5.40.0-IO-HTML-1.004 /nix/store/vyjsqcmiy5d5xz1m8dlyhc4dh1hf0x3w-perl5.40.0-IO-Socket-SSL-2.083 /nix/store/ngvraf6n06mdc2arhcaz6hqc6i9n55c3-perl5.40.0-LWP-MediaTypes-6.04 /nix/store/0snbyniwb1r3cnjl9x9nbif0gfhmwph0-perl5.40.0-Mozilla-CA-20230821 /nix/store/ph5pv9f7pimg7pj8zb72fslinlmlsdda-perl5.40.0-Net-HTTP-6.23 /nix/store/nybj8mlvvy2dg5mz5fazrn96amc80bn2-perl5.40.0-Net-SMTP-SSL-1.04 /nix/store/41val8hvldpsba2p5h968qxvkcbdc2ka-perl5.40.0-Net-SSLeay-1.92 /nix/store/34gjbw1i8m18s7qbfv3x17qzmrps1iqq-perl5.40.0-TermReadKey-2.38 /nix/store/pvcgn24aldi3jpib51va7kgay77iy565-perl5.40.0-Test-Fatal-0.017 /nix/store/2f26afhylw5929dzsw3sd6yxqnv7jc0a-perl5.40.0-Test-Needs-0.002010 /nix/store/fg9kf6i51a5d0a526lh81x7vlp4sn6gj-perl5.40.0-Test-RequiresInternet-0.05 /nix/store/55hq32l96ck1jgfdq2q0xa8c82gb3cmc-perl5.40.0-TimeDate-2.33 /nix/store/gni1fvxkj5cn8qlj27qz30hz1ilcf826-perl5.40.0-Try-Tiny-0.31 /nix/store/ifk5d3lg114pqlm5j8pyhvvj19652cmn-perl5.40.0-URI-5.21 /nix/store/r5syz7c6hpviypkpxsmlxnfvhc8f9s4y-perl5.40.0-WWW-RobotRules-6.02 /nix/store/3r0yzwy2cbwmmvqdhn3rz72rzwg719g1-perl5.40.0-libnet-3.15 /nix/store/6pi18h9fngcwyhh6sn19cqsgwd9r4d91-perl5.40.0-libwww-perl-6.72 /nix/store/89f2cpa92syklzh88wrphnj6az46hrv0-pixman-0.44.2 /nix/store/pkyg56xsx6ih1y6hi7kyfmxqzkaxb06j-polyparse-1.13 /nix/store/qsy3smcjcllcxlsmw3dd4bxivqb1fgy6-polyparse-1.13-doc /nix/store/1v83kfdr30f4vi0d1nfsqpg3c8h5d3ny-prettier-3.5.3 /nix/store/jq4090yw2v494qwmr4w3w7flj9wx3pzf-pretty-show-1.10 /nix/store/fsq08rsarbyx32czdks26yjbxsbivfid-pretty-show-1.10-data /nix/store/00xma4dg14cim6fg7fp07j3awz1ic5v1-pretty-show-1.10-doc /nix/store/yh6a1s8p1d8hiafxwah4vmclhayisjdp-pretty-simple-4.1.3.0 /nix/store/7l18k5k78wl80brjmj0sy9kv87ayznyz-pretty-simple-4.1.3.0-doc /nix/store/d92h7wx0gdyi20i5b4fccfkmxnx48a0f-prettyprinter-1.7.1 /nix/store/k1svkn34pdkay8r1ny3gzpmgp9b42zrl-prettyprinter-1.7.1-doc /nix/store/ns2lr7fxfg5a9lpy2faqvrdwp1w3fxr8-prettyprinter-ansi-terminal-1.1.3 /nix/store/z1wbxpj14szgi3ch5jhd6csfcyybvk79-prettyprinter-ansi-terminal-1.1.3-doc /nix/store/52cvscbbx23mda0xrhn81qf6w74bzbb4-prettyprinter-compat-ansi-wl-pprint-1.0.2 /nix/store/kng20hbzf91kwj657gar6fdb8h7l531h-prettyprinter-compat-ansi-wl-pprint-1.0.2-doc /nix/store/f99fa0d9srqw1xph9gw718qy60yvr1v6-primes-0.2.1.0 /nix/store/89in12s4jvx45yzhq2xpvkbcnh6jlgji-primes-0.2.1.0-doc /nix/store/gdj744ziyaamx376x49dnadyhc6547f3-primitive-0.9.1.0 /nix/store/zi067bm53iqwh6hy9zwhdi9y1a5pb34h-primitive-0.9.1.0-doc /nix/store/7mdzr3jg03hnd5hdhpam2w7i3xdvy1gz-primitive-extras-0.10.2.2 /nix/store/yr3lilmblcwap3nmhg67ziy18fra6na1-primitive-extras-0.10.2.2-doc /nix/store/hklnhxaap05zhk6dp3lwpdza843sv4y5-primitive-unlifted-2.1.0.0 /nix/store/q9hizk2ypfadz2hx7nki5hxlkngfcjl0-primitive-unlifted-2.1.0.0-doc /nix/store/y65y2li6dwvq8yvvp0cp24lwa0ysdddi-process-extras-0.7.4 /nix/store/312l5xq30dplhx8ypl511vkhs5i45i2l-process-extras-0.7.4-doc /nix/store/j8lsn12g0h1yx6hfkjixk761y5zppiwx-profunctors-5.6.2 /nix/store/jlmr7p9jlqaawnij3x108icj4s6kxx9r-profunctors-5.6.2-doc /nix/store/kf5v9rymcwv753pa8hhhivcj4ndlw7a2-project-manager /nix/store/sqij7l0ijrqyhig4lmw3g5lrndkv31v9-psqueues-0.2.8.1 /nix/store/nm2a50p4ni4m69b99gijcmi4x4j57vpp-psqueues-0.2.8.1-doc /nix/store/jd20rkmqmkfkcvk2wl2lmzz7acq4svlr-python3-3.12.12 /nix/store/ylrhjq0zrl1y1mvq0imh5j8absw6hrng-python3.12-cbor2-5.6.5 /nix/store/qd1zza844sl6pwc8wcpm1ic3vbg48s4i-python3.12-colorama-0.4.6 /nix/store/p29h97x88mwh5f0qbp18sjx1jd8wda37-python3.12-markdown-it-py-3.0.0 /nix/store/cz0jfzqqr3ga5qi2vnn7k1l06jk7sba2-python3.12-mdurl-0.1.2 /nix/store/hdikjhn6cic0ibvb3j8cghy7lg3kv6yy-python3.12-pygments-2.19.1 /nix/store/dn6x1maxc5cxyq84fc51z8pzjk2f4wq6-python3.12-python-dateutil-2.9.0.post0 /nix/store/9ap0fph2ybcfnl0f1rsklj990n25ll84-python3.12-pyyaml-6.0.2 /nix/store/y36kdhm1nhjg3sgxl0g19f8c551vy84m-python3.12-remarshal-1.0.0 /nix/store/hbrm26lwmi0sap9d2a2hdb2bcchb0qbg-python3.12-rich-14.0.0 /nix/store/9gzizlngmh03dgkyj7ljic1iv83ynkp7-python3.12-rich-argparse-1.7.0 /nix/store/ck769p6rspl9pkp4pswzkb0qahp4nmck-python3.12-ruamel-base-1.0.0 /nix/store/ak4xh8c0mxlzicdnhr61qwv55izxpzl1-python3.12-ruamel-yaml-0.18.10 /nix/store/1ig9zriwl7ywcyjr8mdc3fnvqcfdqm05-python3.12-ruamel-yaml-clib-0.2.12 /nix/store/vfy6pmqhgw9kaxiqyhmlg8rmn2aaw6fd-python3.12-six-1.17.0 /nix/store/3l7f9nnq6zgcapbjhl1vqi4h3yd6l90k-python3.12-tomlkit-0.13.2 /nix/store/qq8q19pav7jznqkh5j53rppqri906rm3-python3.12-u-msgpack-python-2.8.0 /nix/store/cb4l6zgz7d2bg11jscffrg8w8hmih17x-quickcheck-instances-0.3.32 /nix/store/925f1hw6ciscdlg46i2m8lsnv90hdd5j-quickcheck-instances-0.3.32-doc /nix/store/rdyclnza81hs6dvba743pc1zri6zlx9n-quickcheck-instances-0.3.32-r1.cabal /nix/store/kz0fzqcr8g42rvq6dwlwvzxmg8rjfhqn-quickcheck-instances-0.3.32.tar.gz /nix/store/8vp6j2cg8dhcvp00mcz80wd4q3anr6v4-quickcheck-io-0.2.0 /nix/store/pnfd2kbad1907pjxx6ah3xkgwidq29ki-quickcheck-io-0.2.0-doc /nix/store/xirz9xz95gfy43zb4wcc9kyhhyka2irc-random-1.2.1.3 /nix/store/95mzfyi0zl7d802pa313bw0jhs00xba1-random-1.2.1.3-doc /nix/store/a7cz50859zrybp99h22kadcrp39k9xci-random-shuffle-0.0.4 /nix/store/75r4gn64varcmjk2pxj86lylk69v9z9v-random-shuffle-0.0.4-doc /nix/store/gjzm7r9g1qwl5aq2l7ay8n42y47g61ns-rapidcheck-0-unstable-2023-12-14 /nix/store/k8c60f1c543yng7878rfkc12han58hiv-readline-8.2p13 /nix/store/ypzdrhfba4795yjhs1jrs27pzc5crwqh-refact-0.3.0.2 /nix/store/5qjvbvbwi8jm6nkigzl2ir170dr2lzjp-refact-0.3.0.2-doc /nix/store/85cg33jvjks71qivxqgx3kw0c3yglvsw-reflection-2.1.9 /nix/store/vgxribp2ba5667jbzr8v93shp8xzcmca-reflection-2.1.9-doc /nix/store/ygagi5cnpnwniym0k3riq2ky2sfd0snb-regex-1.1.0.2 /nix/store/rrij5jn41rmycg06i2szwly7lzn45c91-regex-1.1.0.2-doc /nix/store/nbdcn1wqp6r5rg7yyg21pc8j3j7qcmjw-regex-applicative-0.3.4 /nix/store/y08qzdgfymn2q6jfpsww9h2k2l858z5b-regex-applicative-0.3.4-doc /nix/store/zdc2garzmq1prxhfmpqx1f5zlbp8xqss-regex-base-0.94.0.3 /nix/store/44dq1vrjcy4b7r3yn62nhfhm0v6rp0ms-regex-base-0.94.0.3-doc /nix/store/ik5fkf7hf8l07qk7x21s99jwjhhqi4j9-regex-pcre-builtin-0.95.2.3.8.44 /nix/store/qy2qyi66rqw0zd5kmdlgb2jpxzz46nsx-regex-pcre-builtin-0.95.2.3.8.44-doc /nix/store/zricqs2skfwv52c80zmij1gri1kg9y4c-regex-tdfa-1.3.2.3 /nix/store/f45399q7r54zpk6sq4lr63l851nlfacc-regex-tdfa-1.3.2.3-doc /nix/store/4vyii9n753nsl6wh1k8vv0awrg7z4z9p-relude-1.2.2.0 /nix/store/s7q8qzkssfdzvhsk428xjz57zlbcqslk-relude-1.2.2.0-doc /nix/store/jrc53jks2ab6qzqw9lvgh8qcs21xh39q-remove-references-to /nix/store/mbvxpdgzila70dznqx7c9hlk1b70hp02-resourcet-1.3.0 /nix/store/ajhgr5y74w5a4pxn1hnycvpf3r806aj5-resourcet-1.3.0-doc /nix/store/jvw3hzaa62wp4asb9ylbglkccn1g86qi-retrie-1.2.3 /nix/store/9px3dcd1j2zbagc0nb95jxriqqp5w7nf-retrie-1.2.3-doc /nix/store/8zacc79kr8p222nj7c16llxs1j5wbkrq-row-types-1.0.1.2 /nix/store/18nwyslyqbcn8k2s9s8638vwpxccrfvl-row-types-1.0.1.2-doc /nix/store/zvfwx5xsqc62vpq3wsq6pq035v8ivzsk-s2n-tls-1.5.17 /nix/store/qdvbh52i5khrg3dryw0mccn465yk7bfq-safe-0.3.21 /nix/store/akrqnbbmh1kymdwdk1awh00xgw3d8wng-safe-0.3.21-doc /nix/store/4bl6fybp6m796ps1nw13glf1d63dqr5l-safe-exceptions-0.1.7.4 /nix/store/654hc4q9rfi6h42jm2q1n5cj6x3dikh9-safe-exceptions-0.1.7.4-doc /nix/store/nrf4y6l435ncqc5q870096zkc1m97pgj-scientific-0.3.8.0 /nix/store/gmndhb2156m05czh2adfsfq6b5wsi6j9-scientific-0.3.8.0-doc /nix/store/bd1lmigw7c5cqqfxyii75k3mk4h1g9kc-selective-0.7.0.1 /nix/store/ayh9pvniwd40zilcr7jqaqpmb2s8c931-selective-0.7.0.1-doc /nix/store/229svdhfp5y00x785cjjj2h0dy3liz0m-semialign-1.3.1 /nix/store/15akx4i3ypr79mmck4b257jbpafw08vp-semialign-1.3.1-doc /nix/store/xzvaig0016qi9rq9ccx5ghd2mdz1fahr-semigroupoids-6.0.1 /nix/store/dmbil4qd8rli0zh782ca98r9sbrfy8li-semigroupoids-6.0.1-doc /nix/store/pajs9msbzp1prslmnnrxgvw8cx7hci0j-semigroups-0.20 /nix/store/5im32l5bs8s8zgapni1mzrw131mxn5h9-semigroups-0.20-doc /nix/store/dyjw7b67ksgwmx8pgmn1xz0vgxqk5rd6-semirings-0.7 /nix/store/v1w5qgncgjhglwfbgydgxlpdlmhz4yi2-semirings-0.7-doc /nix/store/amfs7ad9h4zkxwdiz9pnxsl4lzi9rcb4-setup-debug-info-dirs-hook /nix/store/rf4aj890v99xqbymhs0wflza3bys0jx4-shake-0.19.8 /nix/store/fpgph65qy8hbbsw97cf48q2zv8rz2pdq-shake-0.19.8-data /nix/store/h1h62yjwsmfsa9nz0zpw1l2qpry67sx2-shake-0.19.8-doc /nix/store/yjjsam4isbmf38nzw055sy19ayir49hn-shellcheck-0.10.0-bin /nix/store/h161xq84k32nk698wmb2wv9ngw60gw13-silently-1.2.5.4 /nix/store/ffw4cfn5xz4i12m6cp1ah2nnjzkx8j5k-silently-1.2.5.4-doc /nix/store/kyj32fdgjgb63kfwkf1yvk9ric2kbs2w-slist-0.2.1.0 /nix/store/92vhd7db6g4q9v39s9sdxdb0hx7fsl6d-slist-0.2.1.0-doc /nix/store/83qkkhf5n4p0q7nyh1y5z92sfx46bf27-some-1.0.6 /nix/store/w93mg1g1a8vl0k58ysljfkg73sm8wcqf-some-1.0.6-doc /nix/store/wx2l46387qgmgzv670c56zliqawc0584-sorted-list-0.2.3.1 /nix/store/1fa1a51qzrf84vkl4vn67j6hlyv4jm7x-sorted-list-0.2.3.1-doc /nix/store/bnfd79a6rm73gcdmgky7mdvdi5ls1283-split-0.2.5 /nix/store/32288xr9ksrs0fbrc6gmf2mlw3n9n039-split-0.2.5-doc /nix/store/14i9g2p7b5jd53minhgn4qyizvpi32w4-splitmix-0.1.1 /nix/store/bz2qg083m2bv9zifindipajmq9x2nldk-splitmix-0.1.1-doc /nix/store/ks3slx52c0jmfgg717n0jq9lp354mlnw-sqlite-3.48.0 /nix/store/17qrg8r0mpynmz06lx60fgs8g6dgbb3a-sqlite-3.48.0-bin /nix/store/x8r21k5xskd7647wzb625g3gfxrj97w8-sqlite-3.48.0-dev /nix/store/00nihnsiwz5qbwfjg6f0a7wj8b56vwg3-sqlite-simple-0.4.19.0 /nix/store/qgak97nr000g766hvf6nlifg7vgscavj-sqlite-simple-0.4.19.0-doc /nix/store/awqc7p5b73sqwmmnhhirnv8azfcywzrb-stan-0.2.0.0 /nix/store/lfwfj17y9fpjb73nsj2m35rmkh587a0x-stdenv-linux /nix/store/5zwi4p2i70z8f315i1wk756i7ngb6zzb-stm-containers-1.2.1.1 /nix/store/8isic6xxmvvs3287q08d6hrzh68rcbck-stm-containers-1.2.1.1-doc /nix/store/1azaw6qpy67k4f7qgsyirfxmps7d8szx-stm-hamt-1.2.1.1 /nix/store/py8fs00mcf5vdsss2sn0l69dfab0vxzq-stm-hamt-1.2.1.1-doc /nix/store/fywyqhm71r33d7s48x6k201n4bbn9rnf-streaming-commons-0.2.3.0 /nix/store/4kln4kzy2w2fsxvs0pqfv3mq8wrh7zls-streaming-commons-0.2.3.0-doc /nix/store/kzndp0387w7cckkr868m4f6wm4g2xwk5-strict-0.5.1 /nix/store/sxj4rl6r6h8fhfkghh5q0vmzkvki3f2m-strict-0.5.1-doc /nix/store/1r32w410kjhsyzzbrv12rv2hsz834sgx-stringbuilder-0.5.1 /nix/store/v2dd3jykkh5q1yzj6hz559j1am9wb076-stringbuilder-0.5.1-doc /nix/store/zcidshbn73yz3z662clwp0238sgxsd7a-stylish-haskell-0.14.6.0 /nix/store/jgz8nm3axg4kar6k097dy7zfmn72x5rh-stylish-haskell-0.14.6.0-doc /nix/store/w0vbhm7mllgs7ksd7ic2ys51smsnbkad-syb-0.7.2.4 /nix/store/8zcbhciby3hfash7vga5s5x7p4d350hl-syb-0.7.2.4-doc /nix/store/968zkd8g01dc6syjyjykix0sxly7hi4h-tagged-0.8.8 /nix/store/3m6zngrxfnfc6x377swvk2hhcbpv6575-tagged-0.8.8-doc /nix/store/k76hri3jq2spwaii9kmyz83cv8spyksg-tar-0.6.3.0 /nix/store/zn5mhkv9bsa25rqdr8ja6ilplx1b17za-tasty-1.5.3 /nix/store/apjq42sws62d1rmxp98csp6bj4yjhyqg-tasty-1.5.3-doc /nix/store/l1zv61wl4gjpdk05v4f635s1bwzgjmx2-tasty-expected-failure-0.12.3 /nix/store/k9dl350hxb0m6jpk2shh86knvnc98q76-tasty-expected-failure-0.12.3-doc /nix/store/f9pj2gbjy9xsl7xxmj96pk096lcm3pm7-tasty-golden-2.3.5 /nix/store/nddnb0wfn257al2k971xij1k6zicw71h-tasty-golden-2.3.5-doc /nix/store/y6440f43zwn533yk3wbinrv0wrs81pkm-tasty-hedgehog-1.4.0.2 /nix/store/l6v14bz9d4gkyf1q8gs9xalsvnhdig5a-tasty-hedgehog-1.4.0.2-doc /nix/store/aplbwm9k3j2lqizpriz8fq7r1sja5gav-tasty-hunit-0.10.2 /nix/store/sljw1ji58900lf4bvv5vx5g8mah6qa9c-tasty-hunit-0.10.2-doc /nix/store/w135wkxpaalpykzlcr79nyjxxyd62953-tasty-inspection-testing-0.2.1 /nix/store/b3v3n8qc6i8hx31s2d7281f6smrvz90k-tasty-inspection-testing-0.2.1-doc /nix/store/dfqfrzhircay9zi2m70l8jvjrc94jcwz-tasty-quickcheck-0.11 /nix/store/6h2dq8ndd28prfbkb67mqrbbp6n0spkn-tasty-quickcheck-0.11-doc /nix/store/iy95prnp70l7llgi01m5k499bdzn3b3y-tasty-rerun-1.1.20 /nix/store/3v6p636qinl32xpap9h9bfhacwqg2spn-tasty-rerun-1.1.20-doc /nix/store/k89i56m6xryzi4cp5szdqxi39v82mk5p-tbb-2021.11.0 /nix/store/1v1hww4wcl2h88fx8dv8lg2wkp4rb9n5-tbb-2021.11.0-dev /nix/store/jmcicddbg7djkwppqdkb25s08i6lf5ll-temporary-1.3 /nix/store/nzdmj2zpqv39whd7f1wp0hkc2awmqyks-temporary-1.3-doc /nix/store/2j364w000j4qg7kqgyivwmwaibiwhn8c-terminal-size-0.3.4 /nix/store/kxrn1xai31cdz05i85jyrdxgxkvn8zxq-terminal-size-0.3.4-doc /nix/store/4rvwr1igsdak1dlmp4gy174is575px09-text-iso8601-0.1.1 /nix/store/iaj8c22h2gfiiippsldwlvxdyrwfqxq5-text-iso8601-0.1.1-doc /nix/store/4rdrhwfnkaaca6mi3aiqk5rzij5dgq0n-text-rope-0.2 /nix/store/86szrgl28a12qkyvyns5bwcmhnmq418f-text-rope-0.2-data /nix/store/k4yjzzi9xhlgqhhgq57fpwpfnw2vd8r8-text-rope-0.2-doc /nix/store/i46mg7180sghs8gfwnvda1yqayqhhzc7-text-short-0.1.6 /nix/store/l8dgljz3vlgw4433pdpknpa4h4vxdjrs-text-short-0.1.6-doc /nix/store/jy5pans5xil7p9lb3xk2992jlkqj6yrh-tf-random-0.5 /nix/store/6asxqvfip2ph8kkm35qd3psx8qdrzyx9-tf-random-0.5-doc /nix/store/s7vd3mqbjbkbbb3dy5lb5ccpvnkjsgnx-th-abstraction-0.7.1.0 /nix/store/plpnp6q4lcnwdsxy9j0l483zsj0aqzhl-th-abstraction-0.7.1.0-doc /nix/store/zrkdib75q5q4xnkq40nf1lwzynn2m1ir-th-compat-0.1.6 /nix/store/bzfna2nkxvwb84is0rpqf7gsnw3y0ryd-th-compat-0.1.6-doc /nix/store/jghnxwzb66h33nih19zyvy81wr0fb1mg-th-env-0.1.1 /nix/store/rwm7im6kayxxv24ggk2yngszb92brwms-th-env-0.1.1-doc /nix/store/dgplwvr3s83hj4946dpr0hjpwp1lpwjg-these-1.2.1 /nix/store/yh6vxbx7dwy0a7cs5ykd115gbcm8718b-these-1.2.1-doc /nix/store/jp3wsjxkar774l1pwb8miydpyv2ldip7-time-compat-1.9.7 /nix/store/f3xqrg7anmpxlbq8kl5fj8vgbqin6ldv-time-compat-1.9.7-doc /nix/store/74s5n817spiajwavi5hw220h67hwy6dw-time-locale-compat-0.1.1.5 /nix/store/7lmv08bx07kbyc16gyc6yh4k7s9iwqn6-time-locale-compat-0.1.1.5-doc /nix/store/yqmjr9xl6a8d816aj9ixifjip0fkvv02-tomland-1.3.3.3 /nix/store/y5js0hlv7q0fdps5xwhyzpgvw64mydd0-tomland-1.3.3.3-doc /nix/store/kp2ksw5fppvi7s1xw04fpvg7aq7svpn2-transformers-base-0.4.6 /nix/store/asyq6jh1shsksx8c0p35p2ssk8nqnaqx-transformers-base-0.4.6-doc /nix/store/rv26wvx2gali05x1y8x4jvf6py5i40z9-transformers-compat-0.7.2 /nix/store/0chxc1j6gki43c8s8kjhgad54ahw5j5q-transformers-compat-0.7.2-doc /nix/store/fwvs562iykzdi02kddg62f7vk297ll4g-treefmt-2.3.1 /nix/store/jb4a0y0h5ws4slzkz7mvxdgc4b7ffxkl-trial-0.0.0.0 /nix/store/a6zk5gfjhi1rwrszm0qicw7mgwyy53xd-trial-0.0.0.0-doc /nix/store/vih9zh99b219d4ikn368bmlyhnk549mf-trial-optparse-applicative-0.0.0.0 /nix/store/4849qih1fi5z5cg8b871j864x2s3s7ir-trial-optparse-applicative-0.0.0.0-doc /nix/store/xdh3lzppgqnmgb02f0r7r2affgvz581k-trial-tomland-0.0.0.0 /nix/store/xz9i1k0vlc2y80m8ldagwsxbpdg7wkh4-trial-tomland-0.0.0.0-doc /nix/store/1r9sjambvsz77s2kh8ic1n8v1x7a2bi5-typed-process-0.2.13.0 /nix/store/b2zvhvq3qby4i2ndkjywvn8y1yl024rw-typed-process-0.2.13.0-doc /nix/store/2s4hpq73hn49jd84x976m3acp3rd3k1x-tzdata-2025b /nix/store/zysii25rs1dd8liwmrzfa4apbpwq90rq-unbound-1.23.1-lib /nix/store/3pi2bfrfq3smdj98j6p3f5imibj1wy3l-unbounded-delays-0.1.1.1 /nix/store/zd5y12372va6n2pfv27vwk5rj0s2ckk9-unbounded-delays-0.1.1.1-doc /nix/store/4hi0j8a1y7j23j2i2s41s7jvxmwibl7s-uniplate-1.6.13 /nix/store/9gqi2j9dnsa3y6v4qh3n4bd7ksnvlqj9-uniplate-1.6.13-doc /nix/store/32gly86j9avfcjana26bq921d9n0f3s6-unix-compat-0.7.4 /nix/store/p5j6av51d1gzrksf9i84azsc7hnam9vp-unix-compat-0.7.4-doc /nix/store/zb053qmhz8v21n2z8m8hnayhv81fad31-unliftio-0.2.25.1 /nix/store/lk2zcwmsccn6y42lrfi2lk7mx9n6wslp-unliftio-0.2.25.1-doc /nix/store/l7innqzg7pklm2v92zmvn27mmadf5ykq-unliftio-core-0.2.1.0 /nix/store/lqhp1317b3651i9r2b6yjh1h3r8iwhr2-unliftio-core-0.2.1.0-doc /nix/store/6vj2rp9v8fd33fxll3mv6izc2hkmcvy6-unordered-containers-0.2.20 /nix/store/568rzwhibrz7rda7mxqsj3g63bkzn147-unordered-containers-0.2.20-doc /nix/store/25zlmz5xa3xsw61nnvnr0apygnb0jncn-unordered-containers-0.2.20-r4.cabal /nix/store/46rvk8vjzsagr58a6pqwimivmr0ahxys-unordered-containers-0.2.20.tar.gz /nix/store/nj25i82i8kbbsfva1jjfz9mvvcwpbch6-utf8-string-1.0.2 /nix/store/1pll96gryr84a0niylbzghv2mid4gbvk-utf8-string-1.0.2-doc /nix/store/vviigq6ivqsvccdcqa8x6yjkjyha37mj-util-linux-minimal-2.41.1-bin /nix/store/18ks84vwka6v1ldjp0cnil98pyykr3a9-util-linux-minimal-2.41.1-lib /nix/store/xhll94m7ylb2v42xadrrrrlhrn798x0k-util-linux-minimal-2.41.1-login /nix/store/izqi1kbfayrajfvmsbsq5gb5qlrr65pa-util-linux-minimal-2.41.1-mount /nix/store/s1xwhyh16gnl7zcxmmdhjirkzwaxda3p-util-linux-minimal-2.41.1-swap /nix/store/5k15x2d515ll569mdi8ilpkzmpwx8yd0-uuid-types-1.0.6 /nix/store/mi0d3rirgd164fg59zdy895g8m7n8mq4-uuid-types-1.0.6-doc /nix/store/sdrsmvdgjxh8270frrwq212wkh4w6bvd-vale-3.11.2 /nix/store/b50400k0zkplmr6wxcgi00j3aydlfzyi-validation-selective-0.2.0.0 /nix/store/yjmlx2sr5vg4i449ckr0ivi2d0rd51wb-validation-selective-0.2.0.0-doc /nix/store/b7n06rkj8minq4gjpri32q0f8n0j2180-vector-0.13.2.0 /nix/store/61ibdhyk58w8ks0cj49z3c77vmzb6y0y-vector-0.13.2.0-r1.cabal /nix/store/ysi2m95adzhn3nmggwppnxvmps3a93x3-vector-0.13.2.0.tar.gz /nix/store/z23i4phlakd9vvbxsrr187gsdc7m09sf-vector-algorithms-0.9.1.0 /nix/store/2njwk1a4h4av30zdlignmbdv9di51y6g-vector-algorithms-0.9.1.0-doc /nix/store/av1s52ndndbcmd2wcxfbqz8qqq5ji9ck-vector-binary-instances-0.2.5.2 /nix/store/bx3as5f5avsxhasxvj5smb2yb02728mj-vector-binary-instances-0.2.5.2-doc /nix/store/kr32gbqjh3f4lm0djf9k7knpj3xx3dpv-vector-stream-0.1.0.1 /nix/store/kn9039ybjganyxa3ix3dzvrysdhmppzh-vector-stream-0.1.0.1-doc /nix/store/jqgl0qrimsvcblcx0i91xz2i2qx7989f-void-0.7.3 /nix/store/sa7gcqd5p8bi9cqh9a0qm3fpxrcziz79-void-0.7.3-doc /nix/store/psqjy5kz7nvv8rffq9i301bx2m528s32-wherefrom-compat-0.1.1.1 /nix/store/a8ynp3myvxi7dv5c8db70avfcblc7315-wherefrom-compat-0.1.1.1-doc /nix/store/av3x89r51559y299dgyrwjsh64gbhjg2-witherable-0.5 /nix/store/zr670xz0qnh2p5866s55q6rd98fxkhd8-witherable-0.5-doc /nix/store/r9fhxmn6yy3kf8z0v7zd67mxnnq2mwr6-wl-pprint-annotated-0.1.0.1 /nix/store/f33rrs07la1x2h523j4czaqw070g2sl3-wl-pprint-annotated-0.1.0.1-doc /nix/store/2l24cpmf9bf2v58xbhmymakzma012qra-yaml-0.11.11.2 /nix/store/7v0biiwnpw7fzy0nzzkvcljbra8sdw4c-yaml-0.11.11.2-doc /nix/store/ggv4vm2fzhls8m00g39ygz6178kvs41j-zlib-0.7.1.0 /nix/store/1dph3im0wlphfsqh9swifbi9x1ncfw12-zlib-0.7.1.0-doc /nix/store/f17vj6c0s3rb57dda77p176abpa3v4x8-zlib-ng-2.2.4 /nix/store/rigwlrg08iw071x8brffd9cq8x039k6z-zstd-1.5.7-bin copying path '/nix/store/rqwk738052v9nnh6sgqjkj063860ffvl-colour-2.3.6-data' from 'https://cache.nix-ci.com'... copying path '/nix/store/30qz2fp7xd4hpii5f9zvfc4anram685y-floskell-0.11.1-data' from 'https://cache.nix-ci.com'... copying path '/nix/store/7cgh0g4z2p1kpb3yfccllalg8avj7jg5-ghc-lib-parser-9.8.5.20250214-data' from 'https://cache.nix-ci.com'... copying path '/nix/store/vhrmyvyvdm4abqlkra65ik98s9na1j6m-hlint-3.8-data' from 'https://cache.nix-ci.com'... copying path '/nix/store/19kjng9fwwxcqk37sh2rsfyckazkzafi-hls-graph-2.10.0.0-data' from 'https://cache.nix-ci.com'... copying path '/nix/store/anhqhsw7qxxmmmj6scjxvaix52s6hmfq-hscolour-1.25-data' from 'https://cache.nix-ci.com'... copying path '/nix/store/lvr9j12nprvdgqxrack8zq4zg89xdryf-js-dgtable-0.5.2-data' from 'https://cache.nix-ci.com'... copying path '/nix/store/9mfv3hjb4bvx5jny2axygmyj81xqc8y7-js-flot-0.8.3-data' from 'https://cache.nix-ci.com'... copying path '/nix/store/k68rd1glqaxhjsishvhbd5v3as9fdpc6-js-jquery-3.3.1-data' from 'https://cache.nix-ci.com'... copying path '/nix/store/dlfjyqx1c99z7szp881jpnzbakw8m97x-linux-headers-6.12.7' from 'https://cache.nix-ci.com'... copying path '/nix/store/fpgph65qy8hbbsw97cf48q2zv8rz2pdq-shake-0.19.8-data' from 'https://cache.nix-ci.com'... copying path '/nix/store/86szrgl28a12qkyvyns5bwcmhnmq418f-text-rope-0.2-data' from 'https://cache.nix-ci.com'... copying path '/nix/store/5xckmr6v2gv9v1s7g8pc80lgxs62pns9-double-conversion-3.3.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/fid5v1wd8wkrz39yp73d0hhlny2ms9w5-expand-response-params' from 'https://cache.nix-ci.com'... copying path '/nix/store/vj3rmg6937p9icir6bazbdcb4xdnrg9j-ncurses-6.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/10jlvwj869vdcgk9kzgxxficq81y7bzm-ncurses-6.5-man' from 'https://cache.nix-ci.com'... building '/nix/store/18xb04slazjwcsbr2ryj11rkc4ahd7yn-builder.pl.drv'... building '/nix/store/6m64ml7fg02m33z5wf8as4hr53bmzr6q-pm-shell-aliases.sh.drv'... building '/nix/store/g1p9gxdr6s3znm58grj874jsmhcgvd7c-haskell-generic-builder-test-wrapper.sh.drv'... builder.pl> Running phase: patchPhase builder.pl> Running phase: updateAutotoolsGnuConfigScriptsPhase builder.pl> Running phase: configurePhase builder.pl> no configure script, doing nothing builder.pl> Running phase: buildPhase builder.pl> Running phase: checkPhase builder.pl> Running phase: installPhase builder.pl> no Makefile or custom installPhase, doing nothing builder.pl> Running phase: fixupPhase builder.pl> shrinking RPATHs of ELF executables and libraries in /nix/store/2awfh7sr3vf9d0ir666fi5qm03ng35sp-builder.pl builder.pl> checking for references to /build/ in /nix/store/2awfh7sr3vf9d0ir666fi5qm03ng35sp-builder.pl... builder.pl> patching script interpreter paths in /nix/store/2awfh7sr3vf9d0ir666fi5qm03ng35sp-builder.pl pm-shell-aliases.sh (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/0jmd2bmazii5bd3kkri5prcky7swrn88-pm-shell-aliases.sh pm-shell-aliases.sh (post)> Nothing to push - all store paths are already on Cachix. pm-shell-aliases.sh (post)> added 1 signatures pm-shell-aliases.sh (post)> added 1 signatures pm-shell-aliases.sh (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/0jmd2bmazii5bd3kkri5prcky7swrn88-pm-shell-aliases.sh pm-shell-aliases.sh (post)> copying 0 paths... pm-shell-aliases.sh (post)> copying 0 paths... pm-shell-aliases.sh (post)> added 0 signatures pm-shell-aliases.sh (post)> added 0 signatures pm-shell-aliases.sh (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/0jmd2bmazii5bd3kkri5prcky7swrn88-pm-shell-aliases.sh pm-shell-aliases.sh (post)> copying 0 paths... pm-shell-aliases.sh (post)> copying 0 paths... copying path '/nix/store/1crkydpxl0sh8214grfpxhafggbyd7fc-alejandra-4.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/58pj5537vyg2rzi2l521q29l2b9c6klp-algebraic-graphs-0.7-r3.cabal' from 'https://cache.nixos.org'... copying path '/nix/store/gfjyfw1hcshbfclk91difmkphwib8nbd-algebraic-graphs-0.7.tar.gz' from 'https://cache.nixos.org'... copying path '/nix/store/5i17rngglby671bra0ns7nr01v1c0340-binutils-2.44-lib' from 'https://cache.nix-ci.com'... copying path '/nix/store/yv4kz5qk38y7x5x5rg8a5lmgd9pcd09n-busybox-1.36.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/8ic4r88607c95vfk7d2idwr4rh3qz6cd-cabal-doctest-1.0.11.tar.gz' from 'https://cache.nixos.org'... copying path '/nix/store/60mh60sl0igwn43xx6rpzswqapa90da9-boehm-gc-8.2.8' from 'https://cache.nix-ci.com'... copying path '/nix/store/dw43m0akrx4i361mz3v39gc5v79msy4v-aws-c-common-0.10.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/x96w22l8iqhd0k92x7gys2qsy0wcsc89-dav1d-1.5.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/nl8506nciivgw17jnj9bawh0j314m7an-die-hook' from 'https://cache.nixos.org'... copying path '/nix/store/f2c0p6w6x2dmp252xjh144mncw8m2rjs-dejavu-fonts-minimal-2.37' from 'https://cache.nix-ci.com'... copying path '/nix/store/mk30nc4vbm3vmsbjqpy8zxvmg7i4j2bx-doctest-0.22.6.tar.gz' from 'https://cache.nixos.org'... copying path '/nix/store/ncjvky2z13rk45nqlrizdh9ypn108pch-editline-1.17.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/q6x451lgsrmarzh4grswgr3s1j4iqadx-doctest-0.23.0-ghc-9.12.patch' from 'https://cache.nixos.org'... copying path '/nix/store/25rjicrjsc82nyg4cj2ykkmcb69kxlij-dns-root-data-2025-04-14' from 'https://cache.nix-ci.com'... builder.pl (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/2awfh7sr3vf9d0ir666fi5qm03ng35sp-builder.pl builder.pl (post)> Nothing to push - all store paths are already on Cachix. builder.pl (post)> added 1 signatures builder.pl (post)> added 2 signatures builder.pl (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/2awfh7sr3vf9d0ir666fi5qm03ng35sp-builder.pl builder.pl (post)> copying 0 paths... builder.pl (post)> copying 0 paths... builder.pl (post)> added 0 signatures builder.pl (post)> added 0 signatures builder.pl (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/2awfh7sr3vf9d0ir666fi5qm03ng35sp-builder.pl builder.pl (post)> copying 0 paths... builder.pl (post)> copying 0 paths... haskell-generic-builder-test-wrapper.sh (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/4aglf609sav489rr35hg8vwpx8zh2cnb-haskell-generic-builder-test-wrapper.sh haskell-generic-builder-test-wrapper.sh (post)> Nothing to push - all store paths are already on Cachix. haskell-generic-builder-test-wrapper.sh (post)> added 2 signatures haskell-generic-builder-test-wrapper.sh (post)> added 0 signatures haskell-generic-builder-test-wrapper.sh (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/4aglf609sav489rr35hg8vwpx8zh2cnb-haskell-generic-builder-test-wrapper.sh haskell-generic-builder-test-wrapper.sh (post)> copying 0 paths... haskell-generic-builder-test-wrapper.sh (post)> copying 0 paths... haskell-generic-builder-test-wrapper.sh (post)> added 0 signatures haskell-generic-builder-test-wrapper.sh (post)> added 0 signatures haskell-generic-builder-test-wrapper.sh (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/4aglf609sav489rr35hg8vwpx8zh2cnb-haskell-generic-builder-test-wrapper.sh haskell-generic-builder-test-wrapper.sh (post)> copying 0 paths... haskell-generic-builder-test-wrapper.sh (post)> copying 0 paths... copying path '/nix/store/jr8kyv517lyd5xcv3pnhr6z4wirbi06r-expat-2.7.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/zap07ayqyv48lfcxp4yva8sylcvy2knk-extra-1.7.16.tar.gz' from 'https://cache.nixos.org'... copying path '/nix/store/s4y4rd0nih0fyzyddnv17wh7r3csbp4n-extra-1.7.16-r1.cabal' from 'https://cache.nixos.org'... copying path '/nix/store/jkziyjcmyn0grm7fanxsiwgwydqjwigw-fail-4.9.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/62h5sfxr4s1qc3fghcan06viq4gms6yg-fribidi-1.0.16' from 'https://cache.nix-ci.com'... copying path '/nix/store/sz6wx51pnm4dpcliyysd27i0jqywm15x-gettext-0.22.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/fm1snxs1cg8ml9fjj6kra32sc8413k8z-glibc-2.40-66-bin' from 'https://cache.nix-ci.com'... copying path '/nix/store/nb6f6gsg55nky42zddn60xr2wbd7s08c-ghc-paths-0.1.0.12-r7.cabal' from 'https://cache.nixos.org'... copying path '/nix/store/jbdk3r2ic959xyc0394gn6n61wgjf6n0-ghc-paths-0.1.0.12.tar.gz' from 'https://cache.nixos.org'... copying path '/nix/store/mml8yn060rz4krfdcqpqy435imx3x2k3-gmp-with-cxx-6.3.0-dev' from 'https://cache.nix-ci.com'... copying path '/nix/store/ka79yp3ljjdkglkg0m55fxcbl130rjm6-git-2.50.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/spmkixfl0sj5l0vvj9gxxlymid3nkwh2-graphite2-1.3.14' from 'https://cache.nix-ci.com'... copying path '/nix/store/zyg1px9d41rmv75jr76lxxfxv3zwkn2z-groff-1.23.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/6mxnr68qgihr5pmp4avjbijjgwifdnml-gmp-6.3.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/vmw4ghy1v0lz64f1xx4cyv6g6qc1lb1k-gdbm-1.25-lib' from 'https://cache.nix-ci.com'... copying path '/nix/store/imw7yr5pkn22zaq7z7hczpb9dim29scw-giflib-5.2.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/gjcvgjvr1m4f386i2279n8z2ks0dp4rn-aws-c-cal-0.8.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/1191rci8hq31x01ibch6rw01hxyppzf1-aws-c-compression-0.3.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/78jpg9csx11aflfk32zj9mapc8ag8658-aws-c-sdkutils-0.2.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/4fpvq180yap1qcr05gnv3r0z6rr2sw43-aws-checksums-0.2.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/42pzy4ahwk8p41hwfmz2nldgvsdws8q1-binutils-2.44' from 'https://cache.nix-ci.com'... copying path '/nix/store/xcaznsndin98ig8w4bbq6nq4idrhqgh6-dav1d-1.5.1-dev' from 'https://cache.nix-ci.com'... copying path '/nix/store/59s8rkrndv5vk8bhb9ljy6pvgyh63baf-fontconfig-2.16.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/kgshgyy6warcdj62p7gm0rnmdl9c9mn0-gtest-1.16.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/xpqq6zqzqyyviajl2sfkcaj1s0ck7z4p-hlint-3.8-data' from 'https://cache.nix-ci.com'... copying path '/nix/store/fb7sllj82i2dv2ijivsz2abp0agz40p9-hscolour-1.25' from 'https://cache.nixos.org'... copying path '/nix/store/rymdwd8k4abh40b3mw4pf69g793mdqbi-iana-etc-20250108' from 'https://cache.nix-ci.com'... copying path '/nix/store/krj0md2jkaaz4ksrg8wqab80wk34d1d0-icu4c-76.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/qbscv63yl3pi2p2k2052ygjh7svbgbgp-hlint-3.8' from 'https://cache.nix-ci.com'... copying path '/nix/store/fpsjnh09h1jnyqm51925wa2xck72jchb-isl-0.20' from 'https://cache.nix-ci.com'... copying path '/nix/store/zmclk9wgp95wc674lc8qgg67dv9b8bhc-jailbreak-cabal-1.4.1' from 'https://cache.nixos.org'... copying path '/nix/store/cacml0j41d0zkj043va8ryg29cfs3s0j-lerc-4.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/p8fdrwah2spzb8i0f666bn7lpm1ccqj7-less-668' from 'https://cache.nix-ci.com'... copying path '/nix/store/4gybpyd4avw8hz8gk0fhhkh2pk06rm6d-libXau-1.0.12' from 'https://cache.nix-ci.com'... copying path '/nix/store/rl14lfb8yhxxajpvlkp7ymvy2gy9f1lk-libXdmcp-1.1.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/1v9ggwkpb0xy708s11s1g9fhinn3b06r-glibc-2.40-66-dev' from 'https://cache.nix-ci.com'... copying path '/nix/store/hkj8hw50n2jafdd9ls7ibq09lddgkgnv-libcap-ng-0.8.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/s3a1b4z1g76ghg8lx7n9x1x737fk50yk-libcpuid-0.7.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/crxsllsl4kg5p0001gfal6a58yxmhjnw-libdatrie-2019-12-20-lib' from 'https://cache.nix-ci.com'... copying path '/nix/store/ck7khcf4za0whllxl5v2p0g5qcfkzzmh-libdeflate-1.23' from 'https://cache.nix-ci.com'... copying path '/nix/store/ka48qwfbrhac03afnw6pcmnfq11agwpr-libevent-2.1.12' from 'https://cache.nix-ci.com'... copying path '/nix/store/a7qf1v4q79pqvkx66ra8dy36anrd7nmw-libffi-3.4.8-dev' from 'https://cache.nix-ci.com'... copying path '/nix/store/4iwxcmla6n5yzwbwj57jkhas92jrjb1q-libjpeg-turbo-3.0.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/pi5lc3mghn6m2c8x2psvp6z9m1cmbapc-libpipeline-1.5.8' from 'https://cache.nix-ci.com'... copying path '/nix/store/8a6g04hk9jbq2cpx7afpl1j9f2q6h5sz-libpng-apng-1.6.46' from 'https://cache.nix-ci.com'... copying path '/nix/store/5njwabxkp1adj6q55a0yhncj51mnzib9-libseccomp-2.6.0-lib' from 'https://cache.nix-ci.com'... copying path '/nix/store/7alkpy53ndwgg2j1548vlgc3j6pzmjkj-libselinux-3.8.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/imwag50h7nn22kvky64v82i6c5bfgxql-libsodium-1.0.20' from 'https://cache.nix-ci.com'... copying path '/nix/store/p1cqrricl0ch7qab8b8w3krhc91d890v-freetype-2.13.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/w8mfdhc191qmajj92g6yi0izqzvacj2w-libtasn1-4.20.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/qyz709rdi8pdai3krdmyppaw6w21bjsj-libthai-0.1.29' from 'https://cache.nix-ci.com'... copying path '/nix/store/aj10j7rli4yhdfpl1f7yw31rkq4ha7yk-libtool-2.5.4-lib' from 'https://cache.nix-ci.com'... copying path '/nix/store/j3y24dy35j88w7vk1cnf3lf1g3w9r2c9-libuv-1.51.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/1f3i1xmh7mc7llqgzryhgm4cfzsbyisb-libvmaf-3.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/5wbk6hz3xcxkhrndryxkh1p1ms0k20im-libwebp-1.5.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/xwd1s74zk3bwilv4p02284ckyy319vhz-libxcb-1.17.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/cvd68krxqrwgrsigszs0al2i8dnvlwk4-libxcrypt-4.4.38' from 'https://cache.nix-ci.com'... copying path '/nix/store/f35fr3iklsi4kb4jznr025bzrksg1hms-libxml2-2.13.8' from 'https://cache.nix-ci.com'... copying path '/nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44' from 'https://cache.nix-ci.com'... copying path '/nix/store/y3qhvjg23hq8j7b0z4ixp076sk4l83rv-libaom-3.11.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/smphwkfmvcw623296s39lnj6ahvjbh28-libvmaf-3.0.0-dev' from 'https://cache.nix-ci.com'... copying path '/nix/store/rf83vadrrhxmf5r5nh7pv8r6p8xbwr5j-libyaml-0.2.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/f5ijn1z4aih5gjby8xr2264p1y8gnn46-libtiff-4.7.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/xgkmxh2vg0ff61y8ngdcx73i58zs0fmg-libuv-1.51.0-dev' from 'https://cache.nix-ci.com'... copying path '/nix/store/nikwcsxvbj82wfbsq2qrvlxhgdjsbbr7-libyaml-clib-0.2.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/yb0da9d5xbvpjdpvai5yajsrm5728iy7-libyuv-1908' from 'https://cache.nix-ci.com'... copying path '/nix/store/6xk5plhj8i31xky6n4318r9720aclvhv-llhttp-9.2.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/hqd6vbajkgl0zsnfdk3v3in8nszh1qfl-lndir-1.0.5' from 'https://cache.nixos.org'... copying path '/nix/store/d7rwmcrxibwyvfrdy8cs6x1lzl6w17aw-lowdown-1.3.2-lib' from 'https://cache.nix-ci.com'... copying path '/nix/store/0mj66hc9mf2bfj9d0v8mis77d51c7kzp-libwebp-1.5.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/4kw98q84pbv2nwq3ay12aavfa9zi4d9z-mailcap-2.1.54' from 'https://cache.nix-ci.com'... copying path '/nix/store/iw8i9xxh37lhx7sg2pmnw54gmmvcvd2w-make-shell-wrapper-hook' from 'https://cache.nixos.org'... copying path '/nix/store/dl9967vkjl6i3k3vc8hyh01yvawwsm4i-libgit2-1.9.0-lib' from 'https://cache.nix-ci.com'... copying path '/nix/store/68bgk51v8baq44lqb3ps74b7jpcgc30z-mpdecimal-4.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/bgp9znk5cnzmh0fbb2l0rwclbz2qv0w8-mpfr-4.2.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/jbc7djw77c1mp62hc37lcfgbzfi1pvyy-ncompress-5.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/hgc91dkd1iqjdic0s55j1j2rycxd20k0-ncurses-6.5-dev' from 'https://cache.nix-ci.com'... copying path '/nix/store/b7lgmwg8dcm6qvi62sncv1r9k7pl70vs-libarchive-3.8.2-lib' from 'https://cache.nix-ci.com'... copying path '/nix/store/dlq6da0kanx17zih03cbkwz61y8ijfjd-net-tools-2.10' from 'https://cache.nix-ci.com'... copying path '/nix/store/hfwp8v0hkf1msb88xxak64kwsskbg5id-nettle-3.10.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/baai0iy8l2j08zx05ydwz4cf0qgyllx7-nil-2024-08-06' from 'https://cache.nix-ci.com'... copying path '/nix/store/h8xdapcbh1hgqrbcs1xbfamxgx4wwrj3-libmpc-1.3.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/wnvcwai159xvb8m4i6c9aiv90c3ilhk7-fontconfig-2.16.0-lib' from 'https://cache.nix-ci.com'... copying path '/nix/store/hb74b7w63fdcc69213qzr2mc6x4wr0k5-nix-2.28.5-man' from 'https://cache.nix-ci.com'... copying path '/nix/store/y28c83zz73yr4vwz1fsl4nsrn6yz5fj0-gcc-14.3.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/xsr9bwrfr0yz4s61qjr9jx8wv1756bgk-libaom-3.11.0-bin' from 'https://cache.nix-ci.com'... copying path '/nix/store/xa1dr7cjlg1cczxwsc5zmw81s9yv816m-nothunks-0.3.0.0-r1.cabal' from 'https://cache.nixos.org'... copying path '/nix/store/wzdyx5j9ylkjc475kaylxv5w38vhyy44-nothunks-0.3.0.0.tar.gz' from 'https://cache.nixos.org'... copying path '/nix/store/5540mrdimy0hzz8zd3j1r622bcrxidz0-oniguruma-6.9.10-lib' from 'https://cache.nix-ci.com'... copying path '/nix/store/y490z63bh4d0yqh55fqvplnkn9kfda3r-openssl-3.4.3-bin' from 'https://cache.nix-ci.com'... copying path '/nix/store/3z07arviz8y5fyl2568akykm9slrjr7a-ormolu-0.7.4.0-bin' from 'https://cache.nix-ci.com'... copying path '/nix/store/900bir0sjxm7pc45xl9664cg8ghv065l-ormolu-0.7.4.0-bin' from 'https://cache.nix-ci.com'... copying path '/nix/store/mr2qlbg1005kpgcq06jfmcll69zzfav4-p11-kit-0.25.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/rjb0brw6yy6hjpjj006qbl9m1z26pci0-libaom-3.11.0-dev' from 'https://cache.nix-ci.com'... copying path '/nix/store/k9lfh0l007sp61rag7d9bf3nn5bg3qy7-perl-5.40.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/sa3nxi77fbvhsqrsyrh9jank9qlvpqd2-perl5.40.0-Clone-0.46' from 'https://cache.nix-ci.com'... copying path '/nix/store/rcm5xr7jbv4ppd52xxkhf86ljvkszzij-perl5.40.0-Crypt-URandom-0.39' from 'https://cache.nix-ci.com'... copying path '/nix/store/b4rm0x46a7p3f0ihqgshf3zhiw6gk8is-jq-1.7.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/dhrylylhir0cy7a0scg1zmq0gbq3lwpm-openssl-3.4.3-dev' from 'https://cache.nix-ci.com'... copying path '/nix/store/70sl6zdmxwxp0hi6q0dr3dhf3h4mf8fn-icu4c-76.1-dev' from 'https://cache.nix-ci.com'... copying path '/nix/store/dyvvj190jffvi40qqgfqh6pjnhpfalx7-perl5.40.0-Digest-HMAC-1.04' from 'https://cache.nix-ci.com'... copying path '/nix/store/r49zci44xq7i6wl61ayhq82wn6v7w9lm-jq-1.7.1-bin' from 'https://cache.nix-ci.com'... copying path '/nix/store/9hkmjwiwmzjhc3bldlzjfllx35kb0z72-perl5.40.0-Encode-Locale-1.05' from 'https://cache.nix-ci.com'... copying path '/nix/store/bfaj5s5p74d608q7v6b62rv4gnbcw4zc-perl5.40.0-FCGI-0.82' from 'https://cache.nix-ci.com'... copying path '/nix/store/4kpbg61sraqf1rlvj5ka125j2s93y4r8-hostname-net-tools-2.10' from 'https://cache.nix-ci.com'... copying path '/nix/store/d6qwk9wlslhisb7imqq5gfcqppf1yhlh-perl5.40.0-FCGI-ProcManager-0.28' from 'https://cache.nix-ci.com'... copying path '/nix/store/znd3lz8b5nkqb80ymrrxf0p3v2d4klm8-perl5.40.0-HTML-TagCloud-0.38' from 'https://cache.nix-ci.com'... copying path '/nix/store/2yvh4kwhfd65dcd3r6y6bgdwclfndvzr-libX11-1.8.12' from 'https://cache.nix-ci.com'... copying path '/nix/store/wyfc8fx4h9fw9jscjb69pldxz7npy948-perl5.40.0-HTML-Tagset-3.20' from 'https://cache.nix-ci.com'... copying path '/nix/store/hp1khv252qq4mf8bca6mgwnddjhk4xwi-perl5.40.0-IO-HTML-1.004' from 'https://cache.nix-ci.com'... copying path '/nix/store/ngvraf6n06mdc2arhcaz6hqc6i9n55c3-perl5.40.0-LWP-MediaTypes-6.04' from 'https://cache.nix-ci.com'... copying path '/nix/store/0snbyniwb1r3cnjl9x9nbif0gfhmwph0-perl5.40.0-Mozilla-CA-20230821' from 'https://cache.nix-ci.com'... copying path '/nix/store/dkj8lkhrnxszlqrfhp72isf4gbh011wz-perl5.40.0-Authen-SASL-2.1700' from 'https://cache.nix-ci.com'... copying path '/nix/store/41val8hvldpsba2p5h968qxvkcbdc2ka-perl5.40.0-Net-SSLeay-1.92' from 'https://cache.nix-ci.com'... copying path '/nix/store/34gjbw1i8m18s7qbfv3x17qzmrps1iqq-perl5.40.0-TermReadKey-2.38' from 'https://cache.nix-ci.com'... copying path '/nix/store/2f26afhylw5929dzsw3sd6yxqnv7jc0a-perl5.40.0-Test-Needs-0.002010' from 'https://cache.nix-ci.com'... copying path '/nix/store/fg9kf6i51a5d0a526lh81x7vlp4sn6gj-perl5.40.0-Test-RequiresInternet-0.05' from 'https://cache.nix-ci.com'... copying path '/nix/store/55hq32l96ck1jgfdq2q0xa8c82gb3cmc-perl5.40.0-TimeDate-2.33' from 'https://cache.nix-ci.com'... copying path '/nix/store/gni1fvxkj5cn8qlj27qz30hz1ilcf826-perl5.40.0-Try-Tiny-0.31' from 'https://cache.nix-ci.com'... copying path '/nix/store/ifk5d3lg114pqlm5j8pyhvvj19652cmn-perl5.40.0-URI-5.21' from 'https://cache.nix-ci.com'... copying path '/nix/store/3r0yzwy2cbwmmvqdhn3rz72rzwg719g1-perl5.40.0-libnet-3.15' from 'https://cache.nix-ci.com'... copying path '/nix/store/89f2cpa92syklzh88wrphnj6az46hrv0-pixman-0.44.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/fsq08rsarbyx32czdks26yjbxsbivfid-pretty-show-1.10-data' from 'https://cache.nix-ci.com'... copying path '/nix/store/rdyclnza81hs6dvba743pc1zri6zlx9n-quickcheck-instances-0.3.32-r1.cabal' from 'https://cache.nixos.org'... copying path '/nix/store/kz0fzqcr8g42rvq6dwlwvzxmg8rjfhqn-quickcheck-instances-0.3.32.tar.gz' from 'https://cache.nixos.org'... copying path '/nix/store/gjzm7r9g1qwl5aq2l7ay8n42y47g61ns-rapidcheck-0-unstable-2023-12-14' from 'https://cache.nix-ci.com'... copying path '/nix/store/k8c60f1c543yng7878rfkc12han58hiv-readline-8.2p13' from 'https://cache.nix-ci.com'... copying path '/nix/store/jrc53jks2ab6qzqw9lvgh8qcs21xh39q-remove-references-to' from 'https://cache.nixos.org'... copying path '/nix/store/pvcgn24aldi3jpib51va7kgay77iy565-perl5.40.0-Test-Fatal-0.017' from 'https://cache.nix-ci.com'... copying path '/nix/store/zvfwx5xsqc62vpq3wsq6pq035v8ivzsk-s2n-tls-1.5.17' from 'https://cache.nix-ci.com'... copying path '/nix/store/amfs7ad9h4zkxwdiz9pnxsl4lzi9rcb4-setup-debug-info-dirs-hook' from 'https://cache.nix-ci.com'... copying path '/nix/store/nn27l879np49xvx6l1a8nqnqlp9apd8n-bash-interactive-5.2p37' from 'https://cache.nix-ci.com'... copying path '/nix/store/yjjsam4isbmf38nzw055sy19ayir49hn-shellcheck-0.10.0-bin' from 'https://cache.nix-ci.com'... copying path '/nix/store/ks3slx52c0jmfgg717n0jq9lp354mlnw-sqlite-3.48.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/17qrg8r0mpynmz06lx60fgs8g6dgbb3a-sqlite-3.48.0-bin' from 'https://cache.nix-ci.com'... copying path '/nix/store/k89i56m6xryzi4cp5szdqxi39v82mk5p-tbb-2021.11.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/2s4hpq73hn49jd84x976m3acp3rd3k1x-tzdata-2025b' from 'https://cache.nix-ci.com'... copying path '/nix/store/zysii25rs1dd8liwmrzfa4apbpwq90rq-unbound-1.23.1-lib' from 'https://cache.nix-ci.com'... copying path '/nix/store/3lwgl9b6mv8rnqn9bnrjkj7m6h1p259p-perl5.40.0-HTTP-Date-6.06' from 'https://cache.nix-ci.com'... copying path '/nix/store/ph5pv9f7pimg7pj8zb72fslinlmlsdda-perl5.40.0-Net-HTTP-6.23' from 'https://cache.nix-ci.com'... copying path '/nix/store/vyjsqcmiy5d5xz1m8dlyhc4dh1hf0x3w-perl5.40.0-IO-Socket-SSL-2.083' from 'https://cache.nix-ci.com'... copying path '/nix/store/72clwj3z0160c40d4kraa515fnaxpg95-aws-c-io-0.15.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/r5syz7c6hpviypkpxsmlxnfvhc8f9s4y-perl5.40.0-WWW-RobotRules-6.02' from 'https://cache.nix-ci.com'... copying path '/nix/store/x8r21k5xskd7647wzb625g3gfxrj97w8-sqlite-3.48.0-dev' from 'https://cache.nix-ci.com'... copying path '/nix/store/2v2nlnxm34grn5iq1s1n4di9vsn3k4si-libXext-1.3.6' from 'https://cache.nix-ci.com'... copying path '/nix/store/279a53jiv7pg1bds2ln3zl5ipmmfv9pn-libXpm-3.5.17' from 'https://cache.nix-ci.com'... copying path '/nix/store/x9agy8k80f2d7qcds6rhrqrv68xqcqiz-libXrender-0.9.12' from 'https://cache.nix-ci.com'... copying path '/nix/store/zrqnaqv2l3vq6w80jwaf5qhgjjkdk937-gnutls-3.8.9' from 'https://cache.nix-ci.com'... copying path '/nix/store/25zlmz5xa3xsw61nnvnr0apygnb0jncn-unordered-containers-0.2.20-r4.cabal' from 'https://cache.nixos.org'... copying path '/nix/store/khkwdrvwm1kljaw7xwpq8jhqwcb5w4vx-bash-strict-mode-0.1.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/nika7jrbhi3cbb22c28v7m8ra6r19f2w-ghc-9.8.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/73z88bd7ad3qqvyy7j1rgflvpadqzkqi-libXft-2.3.9' from 'https://cache.nix-ci.com'... copying path '/nix/store/s0jzinq4ym2l1n7mqf0j0chpcc9caj08-nodejs-22.20.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/46rvk8vjzsagr58a6pqwimivmr0ahxys-unordered-containers-0.2.20.tar.gz' from 'https://cache.nixos.org'... copying path '/nix/store/rwr0pmgbryp0rk4ffvjc45rxqhm38r3v-cabal-install-3.14.2.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/18ks84vwka6v1ldjp0cnil98pyykr3a9-util-linux-minimal-2.41.1-lib' from 'https://cache.nix-ci.com'... copying path '/nix/store/xhll94m7ylb2v42xadrrrrlhrn798x0k-util-linux-minimal-2.41.1-login' from 'https://cache.nix-ci.com'... copying path '/nix/store/61ibdhyk58w8ks0cj49z3c77vmzb6y0y-vector-0.13.2.0-r1.cabal' from 'https://cache.nixos.org'... copying path '/nix/store/1v1hww4wcl2h88fx8dv8lg2wkp4rb9n5-tbb-2021.11.0-dev' from 'https://cache.nix-ci.com'... copying path '/nix/store/ysi2m95adzhn3nmggwppnxvmps3a93x3-vector-0.13.2.0.tar.gz' from 'https://cache.nixos.org'... copying path '/nix/store/f17vj6c0s3rb57dda77p176abpa3v4x8-zlib-ng-2.2.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/rigwlrg08iw071x8brffd9cq8x039k6z-zstd-1.5.7-bin' from 'https://cache.nix-ci.com'... copying path '/nix/store/1yzyw24zirzv7p3fb9aikik9hpg2yl6i-perl5.40.0-HTTP-CookieJar-0.014' from 'https://cache.nix-ci.com'... copying path '/nix/store/cs3bmq8ppvm13icjdwdp5f753j663ck6-perl5.40.0-File-Listing-6.16' from 'https://cache.nix-ci.com'... copying path '/nix/store/9r8a8rfwgf39vz0i8nl4fw51nik3rn37-perl5.40.0-HTTP-Message-6.45' from 'https://cache.nix-ci.com'... copying path '/nix/store/izqi1kbfayrajfvmsbsq5gb5qlrr65pa-util-linux-minimal-2.41.1-mount' from 'https://cache.nix-ci.com'... copying path '/nix/store/8gfq9pn1shnhi6mha2a56aa3ny7g9r6f-glib-2.84.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/s1xwhyh16gnl7zcxmmdhjirkzwaxda3p-util-linux-minimal-2.41.1-swap' from 'https://cache.nix-ci.com'... copying path '/nix/store/nybj8mlvvy2dg5mz5fazrn96amc80bn2-perl5.40.0-Net-SMTP-SSL-1.04' from 'https://cache.nix-ci.com'... copying path '/nix/store/lv09vqv0iwl5xhalivqrh9vq50dd0qhg-aws-c-event-stream-0.5.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/sshykf1xl0gx5f5fccs192953ca48mlz-aws-c-http-0.9.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/vviigq6ivqsvccdcqa8x6yjkjyha37mj-util-linux-minimal-2.41.1-bin' from 'https://cache.nix-ci.com'... copying path '/nix/store/ka4vb8g9byjyhz6fwb1567jw34kv8yxr-perl5.40.0-HTML-Parser-3.81' from 'https://cache.nix-ci.com'... copying path '/nix/store/gjaa2wzl71i6j2mi6f7dyjigpw7iqa84-perl5.40.0-HTTP-Cookies-6.10' from 'https://cache.nix-ci.com'... copying path '/nix/store/ggj3jz0vspp622bllbd9q98k30rrjhvj-perl5.40.0-HTTP-Daemon-6.16' from 'https://cache.nix-ci.com'... copying path '/nix/store/3d43mg79p6j94pi1ids55886wpzvhypn-perl5.40.0-HTTP-Negotiate-6.01' from 'https://cache.nix-ci.com'... copying path '/nix/store/b0j07izl8bymrfdjiqiqpbbd31j6fah4-aws-c-auth-0.8.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/2py9gyblpjn4md4dajbrjdpkici9fdjz-aws-c-mqtt-0.11.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/ygxiry6v791vkaixa54v2pr00r00qs56-aws-c-s3-0.7.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/cpmmmdmdqwssg63l87ry66gqa32dy251-perl5.40.0-CGI-4.59' from 'https://cache.nix-ci.com'... copying path '/nix/store/lagazc9fy36vg2h9dh7rjxd3a19az0m7-libmicrohttpd-1.0.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/rh4hvsib7vsqx5qnfbd54qdmg2ahbzzy-elfutils-0.192-bin' from 'https://cache.nix-ci.com'... copying path '/nix/store/wgsh6dpfj8dmdnkrhvhzm1jrx4sa4zw0-aws-crt-cpp-0.29.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/3vsxig0sb5q6vbdfgh3gc0drfvw43yj5-elfutils-0.192-dev' from 'https://cache.nix-ci.com'... copying path '/nix/store/kz3gilypl4hqdv6dpq1akbdl4frhysla-aws-sdk-cpp-1.11.448' from 'https://cache.nix-ci.com'... copying path '/nix/store/y38l4arx7jj82splqhcna30w8484inlb-libblake3-1.8.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/xm50jlvjhvfgafac1bgg725mzx1ha7zy-perl5.40.0-CGI-Fast-2.16' from 'https://cache.nix-ci.com'... copying path '/nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/lfwfj17y9fpjb73nsj2m35rmkh587a0x-stdenv-linux' from 'https://cache.nix-ci.com'... copying path '/nix/store/x92x70hdpnpdblgnvpyar7nbvp8h74nb-nix-2.28.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/c0f2wpa3h99yrjhr0lzxgb3hlans4yb6-man-db-2.13.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/a4rx79vkyfssicg7cc9jn005nqpliiwc-bash-language-server-5.4.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/1v83kfdr30f4vi0d1nfsqpg3c8h5d3ny-prettier-3.5.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/righ0a5sp3swjn2xr59zibpqa8hg85jf-nixos-option' from 'https://cache.nix-ci.com'... copying path '/nix/store/kf5v9rymcwv753pa8hhhivcj4ndlw7a2-project-manager' from 'https://cache.nix-ci.com'... copying path '/nix/store/fnmq9002xgpclpc8fpxzwks1rqh5q9ys-cairo-1.18.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/akc947m4vlrmzjil7d0wv91v3gkjflf3-gdk-pixbuf-2.42.12' from 'https://cache.nix-ci.com'... copying path '/nix/store/v03a1m3b2z4gml5z7d9wbh8kxz32l9xr-harfbuzz-10.2.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/l1y3v80zbq5yw155ldyhs3g1pvg8hb8i-gts-0.7.6' from 'https://cache.nix-ci.com'... copying path '/nix/store/vn4zlycwkh6kvds89l34mb04nd6dc055-libavif-1.2.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/jphjx778qgmsa5awgdal5vmxan2ay2iv-pango-1.56.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/awm8a4wpvh14h42jl21m2armqhm8fhy7-gd-2.3.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/4agib1rqrq7dplfhakg6xh9injdyan0n-graphviz-12.2.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/4jir8y6m08bjzk2w9qr64a8r38jlq081-Cabal-syntax-3.12.1.0-doc' from 'https://cache.nixos.org'... copying path '/nix/store/5g27za2i5drnl6mmyriakj88wl7amawa-Diff-0.5-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/yl3f2lmx43yp3v8gfn7z20vs946qn7pn-HsYAML-0.2.1.5-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/pafnpgb8gdg16b2r6w3jhh14b46kqm69-OneTuple-0.4.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/zzj7hpbw3l6yfqwhxrqgfb2xv6yf2cf7-Only-0.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/2in5nnmljr31w6l20gvsvdhxghvxjjy8-StateVar-1.2.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/bic35525ghqm3gn3rpd0yl3hraacb0w4-algebraic-graphs-0.7-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/g284p5x4iqkcy2vx7021v1pcryll77ci-assoc-1.1.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/601hhc5zajr4cddrxf4ld0v3w2ssilan-base-compat-0.13.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/i9nli6lwcrv4crjl7vs8wrs9w2v1rnyq-base-orphans-0.9.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/sclqk76z01yp6h3x6j4502qx5ffphnx2-binary-orphans-1.0.5-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/9342wlfyiqc6q89sdalci12manb4sigc-blaze-builder-0.4.2.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/rcc1h3l76dzv9iayb3ih23yxg2kcja0q-base16-bytestring-1.0.2.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/rpsmyh8a6fgn7lkq910s2q62iz2qvmsw-cabal-add-0.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/p6zxv198fdqchb3wfhmw6lhpg6cv30b5-call-stack-0.4.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/frywk9g9acgkx1lzxqsmg4qkqwkjyc18-cereal-0.5.8.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/x1aqpm6hw575i11x0kzlhpi0wg8b5vpj-clay-0.15.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/mbigg6npy9wqryk7d4v72sm9qc6fvb0g-character-ps-0.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/vcwmgdz4xzy4wjd4fdda81ph6n5z6yxm-clock-0.8.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/rpih0wwb0dkdz1qkc1rfbj4jdr1aqcp2-cmdargs-0.10.22-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/jfmirsc7nwbnlbi1i3rfljla92pjcphc-co-log-core-0.3.2.5-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/wdfqm1z8d1j09fjif9r17r46sinjdirv-code-page-0.2.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/5954k9g6wpsig7s61ag0vxki8n5jmxnh-blaze-markup-0.8.3.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/qzlaw24pik1k9wgq8mkns94wkbf4gj0w-HUnit-1.6.2.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/3pbls3r91ax5a2yvqh2rh2sz332sggvj-blaze-textual-0.2.3.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/rim6bfbcna2671yhnaa642aj5d0dm2hm-colour-2.3.6-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/vvkg922wmcdi9i4pv9v96m4s1n6hnrx8-commutative-semigroups-0.2.0.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/y36qgh3a5zkcsvrv2zdhkk06sdx6qh8s-contravariant-1.5.5-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/d6p9yzxrcai953aja04rb67m0izzwq7j-cryptohash-sha1-0.11.101.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/vwkl8nhjp2gqpy3a11a8z9isdrvlfyw7-cryptohash-sha256-0.11.102.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/rv6xpcvrg5ajcbgabsrcfhkq5c4vfl9q-data-default-class-0.1.2.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/mrdsh8pwa9pifvgrj1ivmbc7ya2kfljn-dir-traverse-0.2.3.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/1yd8q870hsvm9g53gr9f7b196pjz3f3b-direct-sqlite-2.3.29-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/ry6fmjgjp58jrrhfjzjd4n8ygb7k09yd-direnv-2.36.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/g9k8sbr8im739s1c8yabdk6hhmjflrlg-blaze-html-0.9.2.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/5xmqnwj94rgkmvbmw230ms997g8nq145-dlist-1.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/x44xmgj7br692qici0s98cmkqqih55dc-erf-2.0.0.0-doc' from 'https://cache.nixos.org'... copying path '/nix/store/14xjqd344anzs71xh13zbflgqlwm53yz-extensions-0.1.0.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/89p51115xz9dmvinajld8nc7sb8v44lg-data-default-instances-containers-0.1.0.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/bk0rrawv24b6843ivvbk8qnp9n365m5a-extra-1.7.16-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/zr2fbn0r1l9p6sk3767nksyf2vlyy965-file-embed-0.0.16.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/yg3hg4ra5myf9syfsn36waxifcy5164g-filtrable-0.1.6.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/813kfcphzpkjymhibn9wk1w445669x0l-ansi-terminal-types-1.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/d4d1czp0svxln841m877ndwwy0694kj1-fingertree-0.1.5.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/rsimb37vw5yg9m8bk15dvvqq4zijzd10-Glob-0.10.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/vljkk5gafldyy8a4587gq37gfkiiy0kv-data-default-instances-dlist-0.0.1.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/z5hv8194n1dahdz406nwfsvkkw8gn3vw-fmlist-0.9.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/iyx5y152blz6j1wpw70wxmv5b92df4gr-focus-1.0.3.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/rld2kq0aynfv3ibw44dpwz273vb4df7g-generically-0.1.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/kb3xpwk6cn4pb4mpccxcq5k650q1y9jp-ghc-lib-parser-9.8.5.20250214-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/l5803valfkbbli1akrcr95jd1475m8nx-ghc-paths-0.1.0.12-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/6g0x9hbm8yzj2vkhl6c14il755ay1nj3-ghc-trace-events-0.1.2.10-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/plaqs3sdjv86ifffsw2v4fk7m0cqvb4s-ansi-terminal-1.1.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/brdhhz5mmj55lki4m2nachsmr1sw96np-gitrev-1.3.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/fwax3phx7g55rpdgc2szgjzjfdg3gq0r-haddock-library-1.11.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/vfdk8dapw51nkf8fzg2k32k4vncgym2b-haskell-lexer-1.1.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/qgp7lvs6hch5m51r4x21p5rnx2yc37rj-haskell-src-exts-1.23.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/s8mgq3y0jd9br0dqyvsfri5bpzslhw1s-heaps-0.4.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/l7nwi8scq499hi7w2nz3z7aq9rys740i-hie-compat-0.3.1.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/2m7alrp4p2xvzylwdhmmc2zp4xl8zx88-filepattern-0.1.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/qz0py0123jhn7dii6ikajf5ji7crxsbf-hscolour-1.25-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/fwdkfdy3zd47kb8zihha2755slxpxb2r-hspec-discover-2.11.12-doc' from 'https://cache.nixos.org'... copying path '/nix/store/cnmyqn0ng5xvq78079qzsvzyhs92sg0w-hspec-expectations-0.8.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/9qgynjzfclgxx1a7y71lz2arphldhav3-indexed-profunctors-0.1.1.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/mh1mvs53l7xnncbbgbdvmsb5xzmrhg75-indexed-traversable-0.1.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/0b6jaz0wgpa8iwqrzlrkypc4w1dhsrfh-inspection-testing-0.5.0.3-doc' from 'https://cache.nixos.org'... copying path '/nix/store/mbc4ifhcyf5crysnvgjiwmg803qa7ab8-colourista-0.1.0.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/77xz1zi7pkzhzxi26b58ihppl8ki5c1a-integer-logarithms-1.0.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/0401xpgchbv0gsxi39ann7ppfnr7xjvv-js-dgtable-0.5.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/izbb7c0gvnapp1c2hxj64vg84m69jxgx-js-flot-0.8.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/3nm0w0b2n88gdjjpyh0d2nz4gnf9w2dq-js-jquery-3.3.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/laryjwvjl934mlv503g3n1mzfak4jgpi-keep-sorted-0.6.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/6ganddpdbgfkp9m0i910i0jrzkh9ibp6-logging-facade-0.3.1-doc' from 'https://cache.nixos.org'... copying path '/nix/store/s1zf9mwygys208lvdf366fm5bf63xhli-generic-lens-core-2.2.1.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/bn88p5c848rs3p1wpm7q0qrqi6zwxf7g-logict-0.8.2.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/lidz4qz15ygqpifysk653bagzy9y1285-lukko-0.1.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/78ra1wnd0yswabnrvr09bq2wqfvscadx-microaeson-0.1.0.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/9bn6979ar2is4l6l360ncmq840jjb2fr-mmap-0.5.9-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/0w4vybzlx4l4wfj8ny97c01wmjvy1vh4-mmorph-1.2.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/pznqdzv9ysg2yfzkhhirzgz6ay3mig3m-network-3.2.7.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/54kxnnfxjvv68cgs072fihrcqr2wfkw5-newtype-generics-0.6.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/nxjzp89zh6d32pmg0v7aq7jv10bngqsd-old-locale-1.0.0.7-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/c1a1xp0r6rmxws99g4sk6d9dnqhhpkfr-os-string-2.0.7-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/jp08c9k37vay1mk45bgcsail6d2qhrrh-parallel-3.2.2.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/x9zc0mcw52dpvwa4c9gsfcszkqlv0icy-parser-combinators-1.3.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/qsy3smcjcllcxlsmw3dd4bxivqb1fgy6-polyparse-1.13-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/00xma4dg14cim6fg7fp07j3awz1ic5v1-pretty-show-1.10-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/1a3v3wvsclaj1mg4yzxvc119ardjl69i-MemoTrie-0.6.11-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/k1svkn34pdkay8r1ny3gzpmgp9b42zrl-prettyprinter-1.7.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/89in12s4jvx45yzhq2xpvkbcnh6jlgji-primes-0.2.1.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/16j0f17alj1pakkvr53c1zq7ggnf0g0g-data-default-instances-old-locale-0.0.1.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/y8v2lwg26dicjv12pkzd8rqphc3y7bnp-old-time-1.1.0.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/zi067bm53iqwh6hy9zwhdi9y1a5pb34h-primitive-0.9.1.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/jd20rkmqmkfkcvk2wl2lmzz7acq4svlr-python3-3.12.12' from 'https://cache.nix-ci.com'... copying path '/nix/store/w706c0z93ncgqalf6sgfqfcbzvh6qf5j-monoid-subclasses-1.2.6-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/wq1ra37vr17bgkd71pa66wj0sxq15rn0-hashable-1.4.7.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/5qjvbvbwi8jm6nkigzl2ir170dr2lzjp-refact-0.3.0.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/vgxribp2ba5667jbzr8v93shp8xzcmca-reflection-2.1.9-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/z1wbxpj14szgi3ch5jhd6csfcyybvk79-prettyprinter-ansi-terminal-1.1.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/y08qzdgfymn2q6jfpsww9h2k2l858z5b-regex-applicative-0.3.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/wnvs725nhziv0373mnvpm86w712jvn0i-cpphs-1.20.9.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/4gm6s2172yj6926dhlz56wfg80bnrfjp-data-default-0.7.1.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/44dq1vrjcy4b7r3yn62nhfhm0v6rp0ms-regex-base-0.94.0.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/akrqnbbmh1kymdwdk1awh00xgw3d8wng-safe-0.3.21-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/654hc4q9rfi6h42jm2q1n5cj6x3dikh9-safe-exceptions-0.1.7.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/ypw9z6l306hya9xmjvwyn11x3q3ahx2b-optparse-applicative-0.18.1.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/7l18k5k78wl80brjmj0sy9kv87ayznyz-pretty-simple-4.1.3.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/bn7qpa8vlhx1r8w16ra40wkls4pi40jq-async-2.2.5-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/kfsg2jli8ihxpb7s9z8aywaarygv1yxg-case-insensitive-1.2.1.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/j3hnx85qdvrd39a8385jdciypmywlh3f-data-fix-0.3.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/nb7zyc0dijznz7xhx0pd83jsf749cn8y-lucid-2.11.20250303-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/9pxafj94idma76z7nnvq1wr2nsc9l98f-opentelemetry-0.8.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/11x1zh9dc459ib2b78bdda1zb24g2506-integer-conversion-0.1.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/y25swps20rngijb8gl07rc2b49l1vs9f-ordered-containers-0.2.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/akix0rlp3i34sdc8kymj2136dlcycyil-Cabal-3.12.1.0-doc' from 'https://cache.nixos.org'... copying path '/nix/store/kng20hbzf91kwj657gar6fdb8h7l531h-prettyprinter-compat-ansi-wl-pprint-1.0.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/nm2a50p4ni4m69b99gijcmi4x4j57vpp-psqueues-0.2.8.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/qy2qyi66rqw0zd5kmdlgb2jpxzz46nsx-regex-pcre-builtin-0.95.2.3.8.44-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/f45399q7r54zpk6sq4lr63l851nlfacc-regex-tdfa-1.3.2.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/gmndhb2156m05czh2adfsfq6b5wsi6j9-scientific-0.3.8.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/ayh9pvniwd40zilcr7jqaqpmb2s8c931-selective-0.7.0.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/5im32l5bs8s8zgapni1mzrw131mxn5h9-semigroups-0.20-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/ffw4cfn5xz4i12m6cp1ah2nnjzkx8j5k-silently-1.2.5.4-doc' from 'https://cache.nixos.org'... copying path '/nix/store/92vhd7db6g4q9v39s9sdxdb0hx7fsl6d-slist-0.2.1.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/kfgw511kv1d5gk87d5m3bbbaa2b1dkl8-fuzzy-0.1.1.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/0y29b1iskan3884n14ax73inb1w124zd-ansi-wl-pprint-1.0.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/w93mg1g1a8vl0k58ysljfkg73sm8wcqf-some-1.0.6-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/1fa1a51qzrf84vkl4vn67j6hlyv4jm7x-sorted-list-0.2.3.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/32288xr9ksrs0fbrc6gmf2mlw3n9n039-split-0.2.5-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/1zvniagvr0xgamnr0f6q2k22m03p41k7-megaparsec-9.7.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/bz2qg083m2bv9zifindipajmq9x2nldk-splitmix-0.1.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/qgak97nr000g766hvf6nlifg7vgscavj-sqlite-simple-0.4.19.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/v2dd3jykkh5q1yzj6hz559j1am9wb076-stringbuilder-0.5.1-doc' from 'https://cache.nixos.org'... copying path '/nix/store/8zcbhciby3hfash7vga5s5x7p4d350hl-syb-0.7.2.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/3m6zngrxfnfc6x377swvk2hhcbpv6575-tagged-0.8.8-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/kxrn1xai31cdz05i85jyrdxgxkvn8zxq-terminal-size-0.3.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/k4yjzzi9xhlgqhhgq57fpwpfnw2vd8r8-text-rope-0.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/l8dgljz3vlgw4433pdpknpa4h4vxdjrs-text-short-0.1.6-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/plpnp6q4lcnwdsxy9j0l483zsj0aqzhl-th-abstraction-0.7.1.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/bzfna2nkxvwb84is0rpqf7gsnw3y0ryd-th-compat-0.1.6-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/95mzfyi0zl7d802pa313bw0jhs00xba1-random-1.2.1.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/fgs5s5fdg8qpqz3i9xnj5g8an4yn0in5-concurrent-output-1.10.21-doc' from 'https://cache.nixos.org'... copying path '/nix/store/646cvz918g59v7xadnr5mg3bjgqjl8z3-boring-0.2.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/qgha9nk9pwr1wmccmllyy3i8hhw66hg1-distributive-0.6.2.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/afc3vaixzp1cpxzmv97dx4fbh0n6s6xb-hiedb-0.6.0.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/kv7skpq0f5m68b4b1z1lg08ck1m65v0v-ghc-exactprint-1.8.0.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/apjq42sws62d1rmxp98csp6bj4yjhyqg-tasty-1.5.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/yh6vxbx7dwy0a7cs5ykd115gbcm8718b-these-1.2.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/y694infplszb5pr80pcarvcahm39a24w-base64-1.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/2prkmd3yqx65s8z7pa5vabqcypk7n5m7-githash-0.1.7.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/x1dm398sx0sanzqfzlvy7swfc2p1czd7-neat-interpolation-0.5.1.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/7yk54vqz03kha1kinra8l8cc3846zgh7-generic-deriving-1.14.6-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/pm7prz3fdnv0mw3a8f9nmsdc93fp4rf1-constraints-0.14.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/n4nbsv6dkp6cz607wvbl57igyzrcg2gg-barbies-2.1.1.0-doc' from 'https://cache.nixos.org'... copying path '/nix/store/85y5ag227anw23d9czk8phfhr3snhd8f-MonadRandom-0.6.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/gc8cd5b8nvijr591w7nyk7lqcmjkgqsr-QuickCheck-2.14.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/jsr61k9n0vnzg5wf91w2h63a7x5q4c8q-comonad-5.0.9-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/zdg6a43bmqdsv6q0zv1xvix9glhjq8fk-network-uri-2.6.4.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/5zl3qyjx5rbmr4x3c7bpgb78jx0whykg-optparse-simple-0.1.1.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/q9hizk2ypfadz2hx7nki5hxlkngfcjl0-primitive-unlifted-2.1.0.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/sxj4rl6r6h8fhfkghh5q0vmzkvki3f2m-strict-0.5.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/sljw1ji58900lf4bvv5vx5g8mah6qa9c-tasty-hunit-0.10.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/75r4gn64varcmjk2pxj86lylk69v9z9v-random-shuffle-0.0.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/b3v3n8qc6i8hx31s2d7281f6smrvz90k-tasty-inspection-testing-0.2.1-doc' from 'https://cache.nixos.org'... copying path '/nix/store/y8cvr6fgyf7yf55v0xr3iq20vbriplsm-constraints-extras-0.4.0.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/rk56p84hqhqiq12hwbqvh1zh45njidgp-bifunctors-5.6.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/3v6p636qinl32xpap9h9bfhacwqg2spn-tasty-rerun-1.1.20-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/nzdmj2zpqv39whd7f1wp0hkc2awmqyks-temporary-1.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/6asxqvfip2ph8kkm35qd3psx8qdrzyx9-tf-random-0.5-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/rwm7im6kayxxv24ggk2yngszb92brwms-th-env-0.1.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/f3xqrg7anmpxlbq8kl5fj8vgbqin6ldv-time-compat-1.9.7-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/7lmv08bx07kbyc16gyc6yh4k7s9iwqn6-time-locale-compat-0.1.1.5-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/wpfwj7lshqkr98py30i0wphmn71bwmy8-dependent-sum-0.7.2.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/y9a8956gkvdq6rr4jr3mfy6gdikgg3sc-mockery-0.3.5-doc' from 'https://cache.nixos.org'... copying path '/nix/store/asyq6jh1shsksx8c0p35p2ssk8nqnaqx-transformers-base-0.4.6-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/47b130fb108flz8jhpsai784bs2xb1dy-ChasingBottoms-1.3.1.15-doc' from 'https://cache.nixos.org'... copying path '/nix/store/4485gl5v5dklmpyyhkhwljl02gyhmncf-generic-arbitrary-1.0.1.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/pnfd2kbad1907pjxx6ah3xkgwidq29ki-quickcheck-io-0.2.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/6h2dq8ndd28prfbkb67mqrbbp6n0spkn-tasty-quickcheck-0.11-doc' from 'https://cache.nixos.org'... copying path '/nix/store/0chxc1j6gki43c8s8kjhgad54ahw5j5q-transformers-compat-0.7.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/fwvs562iykzdi02kddg62f7vk297ll4g-treefmt-2.3.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/jlmr7p9jlqaawnij3x108icj4s6kxx9r-profunctors-5.6.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/a6zk5gfjhi1rwrszm0qicw7mgwyy53xd-trial-0.0.0.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/sz2wi8lx3ici7q9m1fs5hphnsas70hrl-dependent-map-0.4.0.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/aiiklmmnfqrpg4h2rv6n9wic40fsarhy-monad-control-1.0.3.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/j97ymf6qf4a0412jbwajqgkgk0di4mqp-hspec-core-2.11.12-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/zd5y12372va6n2pfv27vwk5rj0s2ckk9-unbounded-delays-0.1.1.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/iaj8c22h2gfiiippsldwlvxdyrwfqxq5-text-iso8601-0.1.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/p5j6av51d1gzrksf9i84azsc7hnam9vp-unix-compat-0.7.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/lqhp1317b3651i9r2b6yjh1h3r8iwhr2-unliftio-core-0.2.1.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/568rzwhibrz7rda7mxqsj3g63bkzn147-unordered-containers-0.2.20-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/4849qih1fi5z5cg8b871j864x2s3s7ir-trial-optparse-applicative-0.0.0.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/k9dl350hxb0m6jpk2shh86knvnc98q76-tasty-expected-failure-0.12.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/08a71lkcdvxxsyg47ffm82bbaxklydbh-lifted-base-0.2.3.12-doc' from 'https://cache.nixos.org'... copying path '/nix/store/1pll96gryr84a0niylbzghv2mid4gbvk-utf8-string-1.0.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/mi0d3rirgd164fg59zdy895g8m7n8mq4-uuid-types-1.0.6-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/sdrsmvdgjxh8270frrwq212wkh4w6bvd-vale-3.11.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/cf0vvygk9ip82fc24lw58ddb058yn2m1-filemanip-0.3.6.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/h0iw88wgnqy6pjknsdk0izmsz1ibkmfg-hw-prim-0.6.3.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/ajhgr5y74w5a4pxn1hnycvpf3r806aj5-resourcet-1.3.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/b2zvhvq3qby4i2ndkjywvn8y1yl024rw-typed-process-0.2.13.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/5am1xpi4xx6ngz5q0jky6k4c91fs64f9-generic-lens-2.2.2.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/lk2zcwmsccn6y42lrfi2lk7mx9n6wslp-unliftio-0.2.25.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/6cy2qsccvyd51inbf5xqax65f28036xx-ListLike-4.7.8.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/z416k4x3s8005iizhiaz5naff1big7c9-lifted-async-0.10.2.7-doc' from 'https://cache.nixos.org'... copying path '/nix/store/yjmlx2sr5vg4i449ckr0ivi2d0rd51wb-validation-selective-0.2.0.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/rk6b22q6rv31qrjkljhbmxnr1a9q937q-hspec-2.11.12-doc' from 'https://cache.nixos.org'... copying path '/nix/store/bx3as5f5avsxhasxvj5smb2yb02728mj-vector-binary-instances-0.2.5.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/h7wymgmc87jag3fxr7gp8c2vlfzwh6w3-charset-0.3.12-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/2330h26pfsp4z9i9p7qyfdajlj06vddi-indexed-traversable-instances-0.1.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/pz8vmvr6l8cmqbzmm88xdqp6mcz9yf01-invariant-0.6.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/925f1hw6ciscdlg46i2m8lsnv90hdd5j-quickcheck-instances-0.3.32-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/rrij5jn41rmycg06i2szwly7lzn45c91-regex-1.1.0.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/s7q8qzkssfdzvhsk428xjz57zlbcqslk-relude-1.2.2.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/vgbrni93r1jfbbjr9awbg4r8333vxxn6-hw-fingertree-0.1.2.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/18nwyslyqbcn8k2s9s8638vwpxccrfvl-row-types-1.0.1.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/dmbil4qd8rli0zh782ca98r9sbrfy8li-semigroupoids-6.0.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/j2n7ygqhxy9i748nqbiiy2rlf0kfagi6-parsers-0.12.12-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/v1w5qgncgjhglwfbgydgxlpdlmhz4yi2-semirings-0.7-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/h1h62yjwsmfsa9nz0zpw1l2qpry67sx2-shake-0.19.8-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/312l5xq30dplhx8ypl511vkhs5i45i2l-process-extras-0.7.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/nddnb0wfn257al2k971xij1k6zicw71h-tasty-golden-2.3.5-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/y5js0hlv7q0fdps5xwhyzpgvw64mydd0-tomland-1.3.3.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/9gqi2j9dnsa3y6v4qh3n4bd7ksnvlqj9-uniplate-1.6.13-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/kn9039ybjganyxa3ix3dzvrysdhmppzh-vector-stream-0.1.0.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/sa7gcqd5p8bi9cqh9a0qm3fpxrcziz79-void-0.7.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/a8ynp3myvxi7dv5c8db70avfcblc7315-wherefrom-compat-0.1.1.1-doc' from 'https://cache.nixos.org'... copying path '/nix/store/zr670xz0qnh2p5866s55q6rd98fxkhd8-witherable-0.5-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/f33rrs07la1x2h523j4czaqw070g2sl3-wl-pprint-annotated-0.1.0.1-doc' from 'https://cache.nixos.org'... copying path '/nix/store/1dph3im0wlphfsqh9swifbi9x1ncfw12-zlib-0.7.1.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/mb3dp3p9wmwhjx8x0x8g2y0mpskgpibx-free-5.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/pss90hkpy7jqz25a45s0kyhgb6m6dq68-bitvec-1.1.5.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/vvcdx2q4yghqfvqhm075x1y44w50s9c3-foldl-1.4.18-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/1za9151ycdhsa9bnjvj6c1jj38qp6877-mod-0.2.0.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/15akx4i3ypr79mmck4b257jbpafw08vp-semialign-1.3.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/ml8p0dplkqbrcxpa8icdp5mns2kc2ld7-apply-refact-0.14.0.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/4kln4kzy2w2fsxvs0pqfv3mq8wrh7zls-streaming-commons-0.2.3.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/xz9i1k0vlc2y80m8ldagwsxbpdg7wkh4-trial-tomland-0.0.0.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/3r26wrq4h69ix8hvaaa74hmcdi6w00ss-hedgehog-1.5-doc' from 'https://cache.nixos.org'... copying path '/nix/store/2njwk1a4h4av30zdlignmbdv9di51y6g-vector-algorithms-0.9.1.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/qmx99g24skmml1j01lznqmf9i4n2wi2m-aeson-2.2.3.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/x4nhb07c39vq9hqqzmsc715200jn69ms-adjunctions-4.4.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/2gq4455wbawwpyl3xlzlf7h9pa910ip3-monad-dijkstra-0.1.1.5-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/7xmkldzh2ns38nambwnpic1hn5hs3zcd-deferred-folds-0.9.18.7-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/q9xy1cly7s06l8kmdbblbazgwqwi2kbi-list-t-1.0.5.7-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/2psyrvdp6a1gyz0dx84p03lchai9qjgm-mono-traversable-1.0.21.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/yr3lilmblcwap3nmhg67ziy18fra6na1-primitive-extras-0.10.2.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/v04k085xvnhy29l3z5am73cnfgiyxs1j-kan-extensions-5.2.6-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/9px3dcd1j2zbagc0nb95jxriqqp5w7nf-retrie-1.2.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/py8fs00mcf5vdsss2sn0l69dfab0vxzq-stm-hamt-1.2.1.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/il0xxqx0rxdn4h6kpd5fnbjhp56vdg3l-conduit-1.3.6.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/qn9r6v9fjn52l9q6p3w3v1xcj1i6ppqr-lens-5.3.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/8isic6xxmvvs3287q08d6hrzh68rcbck-stm-containers-1.2.1.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/szs43lbljhhwqsks7byxxmvyh56nk5w0-HsYAML-aeson-0.2.0.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/nzzk7q5nn9lg0bp1crnx0dljw5q7fina-aeson-pretty-0.8.10-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/crj1v8wxca90bpi1vkkayy6j6ac0iwik-attoparsec-aeson-2.2.2.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/65rfnb8ndrnqizg2p1zz9y00k1984h5a-binary-instances-1.0.6-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/pdzqd9jnnf9rkm93kw0x8dz5450xv9ak-deriving-aeson-0.2.10-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/1mm0fl7805hz3jarhdvn3cmlp573z3ai-enummapset-0.7.3.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/1xz35xdxxikl079c6wpilmnfcyil4cnd-hls-graph-2.10.0.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/sh12qhbs29j5knxa710bqgyqpggjsd6z-conduit-extra-1.3.7-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/iqfcc937am7v5mxrf8ksr561f94qf050-conduit-parse-0.2.1.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/ni00x4azxra4kwmjzx0f4w20mvww67af-libyaml-0.1.4-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/l6v14bz9d4gkyf1q8gs9xalsvnhdig5a-tasty-hedgehog-1.4.0.2-doc' from 'https://cache.nixos.org'... copying path '/nix/store/sbzkdlzz1j4axjp7gxmqnw9r4d46ai51-cabal-install-parsers-0.6.1.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/926qg4gs0822kpcrfibs5nkqy8d221fn-floskell-0.11.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/7v0biiwnpw7fzy0nzzkvcljbra8sdw4c-yaml-0.11.11.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/f4rf89374kfsir0wrb26msib1rqipdpa-hie-bios-0.14.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/hlafbfg1ghhy24hcw8bg68icziqcngyy-implicit-hie-0.1.4.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/6pi18h9fngcwyhh6sn19cqsgwd9r4d91-perl5.40.0-libwww-perl-6.72' from 'https://cache.nix-ci.com'... copying path '/nix/store/6lc4sfwqgvbqd6f8p99wmr5dias6ws10-lens-aeson-1.2.3-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/6d1h8bggh9xglbq99iiz9isrzw1xq2fa-lsp-2.7.0.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/bsngjrw22n8v2hmqmklg9cb50bq9pqjh-hls-plugin-api-2.10.0.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/ip9ffsd0p15863wi45illwfjwwc2l2fi-lsp-test-0.17.1.1-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/mhwx2z8xak15w95g6db6gpqqw5d9jlsg-ghcide-2.10.0.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/v9rgg0si9djlpr1jpxmjq1m7xjvwdsd7-hls-test-utils-2.10.0.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/rnlkpz4zf50amd1fyxmyh9c7lhczk8mr-fourmolu-0.15.0.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/1ji80zwwbw5xgm1qb8jp6h8v264mfq31-ghc-lib-parser-ex-9.8.0.2-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/mhvg9vq57v8zgwf4q5vzf3g5hv4i2ykp-ormolu-0.7.4.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/53dny638ydl3j53c6dmfl4mwd5dvprc6-hlint-3.8-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/jgz8nm3axg4kar6k097dy7zfmn72x5rh-stylish-haskell-0.14.6.0-doc' from 'https://cache.nix-ci.com'... copying path '/nix/store/639k78iljhfmciklnivi0wja8jcy788g-git-2.50.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/ylrhjq0zrl1y1mvq0imh5j8absw6hrng-python3.12-cbor2-5.6.5' from 'https://cache.nixos.org'... copying path '/nix/store/qd1zza844sl6pwc8wcpm1ic3vbg48s4i-python3.12-colorama-0.4.6' from 'https://cache.nixos.org'... copying path '/nix/store/cz0jfzqqr3ga5qi2vnn7k1l06jk7sba2-python3.12-mdurl-0.1.2' from 'https://cache.nixos.org'... copying path '/nix/store/9ap0fph2ybcfnl0f1rsklj990n25ll84-python3.12-pyyaml-6.0.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/ck769p6rspl9pkp4pswzkb0qahp4nmck-python3.12-ruamel-base-1.0.0' from 'https://cache.nixos.org'... copying path '/nix/store/hdikjhn6cic0ibvb3j8cghy7lg3kv6yy-python3.12-pygments-2.19.1' from 'https://cache.nixos.org'... copying path '/nix/store/vfy6pmqhgw9kaxiqyhmlg8rmn2aaw6fd-python3.12-six-1.17.0' from 'https://cache.nixos.org'... copying path '/nix/store/3l7f9nnq6zgcapbjhl1vqi4h3yd6l90k-python3.12-tomlkit-0.13.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/qq8q19pav7jznqkh5j53rppqri906rm3-python3.12-u-msgpack-python-2.8.0' from 'https://cache.nixos.org'... copying path '/nix/store/1ig9zriwl7ywcyjr8mdc3fnvqcfdqm05-python3.12-ruamel-yaml-clib-0.2.12' from 'https://cache.nixos.org'... copying path '/nix/store/dn6x1maxc5cxyq84fc51z8pzjk2f4wq6-python3.12-python-dateutil-2.9.0.post0' from 'https://cache.nixos.org'... copying path '/nix/store/p29h97x88mwh5f0qbp18sjx1jd8wda37-python3.12-markdown-it-py-3.0.0' from 'https://cache.nixos.org'... copying path '/nix/store/ak4xh8c0mxlzicdnhr61qwv55izxpzl1-python3.12-ruamel-yaml-0.18.10' from 'https://cache.nixos.org'... copying path '/nix/store/hbrm26lwmi0sap9d2a2hdb2bcchb0qbg-python3.12-rich-14.0.0' from 'https://cache.nixos.org'... copying path '/nix/store/9gzizlngmh03dgkyj7ljic1iv83ynkp7-python3.12-rich-argparse-1.7.0' from 'https://cache.nixos.org'... copying path '/nix/store/y36kdhm1nhjg3sgxl0g19f8c551vy84m-python3.12-remarshal-1.0.0' from 'https://cache.nixos.org'... building '/nix/store/sn6s96c052qcav9w02f37mpsjxba34jn-treefmt.toml.drv'... treefmt.toml> treefmt.toml (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/h93vmdq9m6bhynhff3k8l1v6c4a3n85c-treefmt.toml treefmt.toml (post)> Pushing 1 paths (49 are already present) using zstd to cache sellout ⏳ treefmt.toml (post)> treefmt.toml (post)> Pushing /nix/store/h93vmdq9m6bhynhff3k8l1v6c4a3n85c-treefmt.toml (2.62 KiB) treefmt.toml (post)> treefmt.toml (post)> All done. treefmt.toml (post)> added 1 signatures treefmt.toml (post)> added 1386 signatures treefmt.toml (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/h93vmdq9m6bhynhff3k8l1v6c4a3n85c-treefmt.toml treefmt.toml (post)> copying 1 paths... treefmt.toml (post)> copying path '/nix/store/h93vmdq9m6bhynhff3k8l1v6c4a3n85c-treefmt.toml' to 'https://cache.nix-ci.com'... treefmt.toml (post)> copying 1 paths... treefmt.toml (post)> copying path '/nix/store/sn6s96c052qcav9w02f37mpsjxba34jn-treefmt.toml.drv' to 'https://cache.nix-ci.com'... treefmt.toml (post)> added 0 signatures treefmt.toml (post)> added 0 signatures treefmt.toml (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/h93vmdq9m6bhynhff3k8l1v6c4a3n85c-treefmt.toml treefmt.toml (post)> copying 1 paths... treefmt.toml (post)> copying path '/nix/store/h93vmdq9m6bhynhff3k8l1v6c4a3n85c-treefmt.toml' to 'ssh-ng://worker.nix-ci.com'... treefmt.toml (post)> copying 1 paths... treefmt.toml (post)> copying path '/nix/store/sn6s96c052qcav9w02f37mpsjxba34jn-treefmt.toml.drv' to 'ssh-ng://worker.nix-ci.com'... building '/nix/store/8lv062znkjdv7nwq8yix81rcvvp78v8m-treefmt.drv'... copying path '/nix/store/ngk63la5nc7kdmm3mmlsysr2w674phb8-Cabal-syntax-3.12.1.0' from 'https://cache.nixos.org'... copying path '/nix/store/ylm2yrjf11833yn2b5ja3spc6vwcqr5i-Diff-0.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/cqrac3n37lz70flmsn42i35q1v5bdb26-algebraic-graphs-0.7' from 'https://cache.nix-ci.com'... copying path '/nix/store/y0bjwbz6070xha4kbsjzgvd61rjjsdkf-base16-bytestring-1.0.2.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/5bh0my136qilvyz9rwh6q815330d03vb-OneTuple-0.4.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/l392193kz87cxbssyj5whfnyd5b1m01d-binary-orphans-1.0.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/sxb6b6k1jni5wczww0h86q3znjic6lnc-blaze-builder-0.4.2.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/0yaz62f622xd8b2q4jpaxddvz9xb0f19-assoc-1.1.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/9g2qqvy16mzizmky35lp78d8hx9qscyq-base-compat-0.13.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/cc948fgzkc4qv7ssn8bdyaa1sni6m05w-base-orphans-0.9.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/2h6fi4cxd6vvgvlchcg00jnx4z3azy4n-Only-0.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/q42sl13pf58sdymiclk61qsacd6rvmr5-StateVar-1.2.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/4fd51xjyp26jdw5qpvrj0w37ssshccz2-call-stack-0.4.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/ix6akam19ws1xzbq74z0j9z8x3r61l7v-HsYAML-0.2.1.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/825ryzl22qv1nhd4rhpjmhvaiximb36s-cereal-0.5.8.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/27hmflr3hcp0z8rncb7jfn1qvgyig7md-character-ps-0.1' from 'https://cache.nix-ci.com'... treefmt (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/rzysllpbpg5p4p96lq1891s3r3q1vzhv-treefmt treefmt (post)> Pushing 1 paths (53 are already present) using zstd to cache sellout ⏳ treefmt (post)> treefmt (post)> Pushing /nix/store/rzysllpbpg5p4p96lq1891s3r3q1vzhv-treefmt (776.00 B) treefmt (post)> treefmt (post)> All done. treefmt (post)> added 1 signatures treefmt (post)> added 4 signatures treefmt (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/rzysllpbpg5p4p96lq1891s3r3q1vzhv-treefmt treefmt (post)> copying 1 paths... treefmt (post)> copying path '/nix/store/rzysllpbpg5p4p96lq1891s3r3q1vzhv-treefmt' to 'https://cache.nix-ci.com'... treefmt (post)> copying 1 paths... treefmt (post)> copying path '/nix/store/8lv062znkjdv7nwq8yix81rcvvp78v8m-treefmt.drv' to 'https://cache.nix-ci.com'... treefmt (post)> added 0 signatures treefmt (post)> added 0 signatures treefmt (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/rzysllpbpg5p4p96lq1891s3r3q1vzhv-treefmt treefmt (post)> copying 1 paths... treefmt (post)> copying path '/nix/store/rzysllpbpg5p4p96lq1891s3r3q1vzhv-treefmt' to 'ssh-ng://worker.nix-ci.com'... treefmt (post)> copying 1 paths... treefmt (post)> copying path '/nix/store/8lv062znkjdv7nwq8yix81rcvvp78v8m-treefmt.drv' to 'ssh-ng://worker.nix-ci.com'... building '/nix/store/6hwl2f3sqw46qd8kyadiw8c5zwhkl3i7-pm-session-vars.sh.drv'... copying path '/nix/store/7gdzqg1l245dzqk4vvq827g09kv36s6q-clay-0.15.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/g6rg7y0brcjfqhccsnkw7585w6ys0bq9-clock-0.8.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/q8b7izagn5n5mmqzh6vkqmp3cr9qpqjg-data-default-class-0.1.2.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/cqx6r5qjk82gwhwnqjl9zks4hjgh8qz9-co-log-core-0.3.2.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/ycpf5x5fm4jc63i2ypm0wfcixmy2z29c-code-page-0.2.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/8fh3wdml3jdwf8l78xnhvcxgmxzf0ym5-colour-2.3.6' from 'https://cache.nix-ci.com'... copying path '/nix/store/i4ha89gcrm4crkbbwjnnn96iz25psy46-commutative-semigroups-0.2.0.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/kz1p8xv7schlrngsk1n01hsyn3wxk2gm-cryptohash-sha1-0.11.101.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/8cc0dxd92kbbfrrk6p2dmckdh7w1h864-cryptohash-sha256-0.11.102.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/20jih15gcpazb0k0ymqmj0lcgpx9i6qz-cmdargs-0.10.22' from 'https://cache.nix-ci.com'... copying path '/nix/store/4hcnnx1m03571ifbhd12vgvzp0kf7msn-dir-traverse-0.2.3.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/f2fr205cif1lyixd6pa0wg7pkn48azwi-direct-sqlite-2.3.29' from 'https://cache.nix-ci.com'... copying path '/nix/store/q9shhbm90b9gl6klrz3fm9ljw5sf0iyz-dlist-1.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/rwyjabsm3d7bxljyq6caqj4p7w327ihd-erf-2.0.0.0' from 'https://cache.nixos.org'... copying path '/nix/store/frdii1y5ghz793asl86kjyz8vmiprnmq-file-embed-0.0.16.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/0ajkrarh964cybmkx4qz66h3s8c64h1v-filtrable-0.1.6.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/r05mp7s3pazfagbx9hy60z0bn8064y8y-Cabal-3.12.1.0' from 'https://cache.nixos.org'... copying path '/nix/store/99ks2vbgaj7q2s3js06acg299rg407lm-HUnit-1.6.2.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/cj2wrxz3248h38k78cbmrmb0zyvidf7m-blaze-markup-0.8.3.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/7sv9r935q5j6mgl8izjzyyfbja8adkqg-contravariant-1.5.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/2df8d7ynz197ckm5gwpiqgbm440799as-data-default-instances-containers-0.1.0.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/vmclcsm3bgmc5ga1d4yc5nriyqss0bi4-fingertree-0.1.5.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/98j2vkk9pxjibm3c94iqcpgggs9wnvmq-fmlist-0.9.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/0fhpamld6vl20jwqgcfqp0675lsjdxsn-focus-1.0.3.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/rplav9hh6x0iy0rjiynng1da3q3wq5yf-generically-0.1.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/vld2a6i910ng24qngfasjldhil43qbfs-extra-1.7.16' from 'https://cache.nix-ci.com'... copying path '/nix/store/ma6fh52z3m21qf0i1yvbrqj31mbnr5xj-ghc-lib-parser-9.8.5.20250214' from 'https://cache.nix-ci.com'... copying path '/nix/store/61lsqjs72m8i97df6f12badxk7lhxjwl-ghc-paths-0.1.0.12' from 'https://cache.nix-ci.com'... copying path '/nix/store/1gd18rx7hys6l66kkfhm0q605cbiyn4g-data-default-instances-dlist-0.0.1.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/7fkvhacrmmcb5jzids5a9gbk1dhkn8h1-ghc-trace-events-0.1.2.10' from 'https://cache.nix-ci.com'... copying path '/nix/store/z0ak0df7isqb2jk35ylql4dcfcr4wkyc-gitrev-1.3.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/c2xq2n5wfq77rr1vp7x4sj0g21ykkqqc-haddock-library-1.11.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/njykrswqxy2mnd2krqanz1z5cgdyf243-haskell-lexer-1.1.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/s6vz4vy9hlg7z8s3s9srwnaa8376qkcs-haskell-src-exts-1.23.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/gh9nyh9wca8219pr2blv5zbg1jyhhgn7-heaps-0.4.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/zv0cqinwscfp29sr35wfxrgkqvz45sps-hie-compat-0.3.1.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/wl1gvkq7a2axby0pc5ckyackix0z3g41-hscolour-1.25' from 'https://cache.nix-ci.com'... copying path '/nix/store/v9rbk5982v38z941la4v8cg6ahppzrpi-hspec-discover-2.11.12' from 'https://cache.nixos.org'... copying path '/nix/store/ywwqyk2z3kl83317lp1cxyns1jwck8rm-blaze-html-0.9.2.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/li109klp14s99c88l1k2vcnlm5v6klny-ansi-terminal-types-1.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/86ikn2vbws485s9jf8hy9dbvwq97405q-hspec-expectations-0.8.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/86gz4xb4jd4w72bw28h8qddnzmp60469-indexed-profunctors-0.1.1.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/r357m8bjqkwpzs47h5h9qi3bl3asaxyg-indexed-traversable-0.1.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/k147b5kxb26b448ph8xcayh6xh9sh2z6-inspection-testing-0.5.0.3' from 'https://cache.nixos.org'... pm-session-vars.sh (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/4v8j3hyzlapc0j49mvda9wrfaxvx8hkl-pm-session-vars.sh pm-session-vars.sh (post)> Pushing 1 paths (54 are already present) using zstd to cache sellout ⏳ pm-session-vars.sh (post)> pm-session-vars.sh (post)> Pushing /nix/store/4v8j3hyzlapc0j49mvda9wrfaxvx8hkl-pm-session-vars.sh (840.00 B) pm-session-vars.sh (post)> pm-session-vars.sh (post)> All done. pm-session-vars.sh (post)> added 1 signatures pm-session-vars.sh (post)> added 1 signatures pm-session-vars.sh (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/4v8j3hyzlapc0j49mvda9wrfaxvx8hkl-pm-session-vars.sh pm-session-vars.sh (post)> copying 1 paths... pm-session-vars.sh (post)> copying path '/nix/store/4v8j3hyzlapc0j49mvda9wrfaxvx8hkl-pm-session-vars.sh' to 'https://cache.nix-ci.com'... pm-session-vars.sh (post)> copying 1 paths... pm-session-vars.sh (post)> copying path '/nix/store/6hwl2f3sqw46qd8kyadiw8c5zwhkl3i7-pm-session-vars.sh.drv' to 'https://cache.nix-ci.com'... pm-session-vars.sh (post)> added 0 signatures pm-session-vars.sh (post)> added 0 signatures pm-session-vars.sh (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/4v8j3hyzlapc0j49mvda9wrfaxvx8hkl-pm-session-vars.sh pm-session-vars.sh (post)> copying 1 paths... pm-session-vars.sh (post)> copying path '/nix/store/4v8j3hyzlapc0j49mvda9wrfaxvx8hkl-pm-session-vars.sh' to 'ssh-ng://worker.nix-ci.com'... pm-session-vars.sh (post)> copying 1 paths... pm-session-vars.sh (post)> copying path '/nix/store/6hwl2f3sqw46qd8kyadiw8c5zwhkl3i7-pm-session-vars.sh.drv' to 'ssh-ng://worker.nix-ci.com'... building '/nix/store/1710b6izbmi3cdb9d6ignm6gs42awbgy-project-manager-path-for-duoids.drv'... copying path '/nix/store/ng13vzylm9gg7afiwk97m8am9nimk9gs-filepattern-0.1.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/4g2697lyga0y2szksxld842d21w02g95-lukko-0.1.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/2xy6mha9sjlgspmabx8mm93kp6qm9xqk-js-dgtable-0.5.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/rirdfw9a3p7fb5ya5lhrp8mrqmk7f8kj-js-flot-0.8.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/d3vcii9kvhii8fn3k4v6cxnbp6dli60f-integer-logarithms-1.0.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/238x4isp1pllgr5zg3bi3i125wx9q8bn-js-jquery-3.3.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/40f0420jg39ryxkbryysdjhyp5mfpffa-logict-0.8.2.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/3iq69sh7yyd9swzms1a12ypvdqd9zb7w-logging-facade-0.3.1' from 'https://cache.nixos.org'... copying path '/nix/store/kvcrz23klyzd2m2l6h44r7qs0glzmy3d-mmap-0.5.9' from 'https://cache.nix-ci.com'... copying path '/nix/store/fn63vi065v8xrzdsp55c0sz2y8w4sw71-microaeson-0.1.0.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/bw9hkimjxi4m2p5zsrlxhsjjxnijkwhq-newtype-generics-0.6.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/ja5rziw1vhvrxj1p4f17qp172d12hy4c-old-locale-1.0.0.7' from 'https://cache.nix-ci.com'... copying path '/nix/store/9ii8r6wk4vhp018mm63df83155palgbs-os-string-2.0.7' from 'https://cache.nix-ci.com'... copying path '/nix/store/55v4cfgxmnj81afcp1g0f3bd1y3nmnwv-parser-combinators-1.3.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/fx5ff3jym9il33qlx6f74imd062f92j4-network-3.2.7.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/vipb5hcl80yr4fws7a12d1zj631z1z8j-parallel-3.2.2.0' from 'https://cache.nix-ci.com'... building '/nix/store/n1f59s36p0igzm5fzibh8myihr6li9ch-cabal-doctest-1.0.11.drv'... building '/nix/store/dnbzii8jzifhf76z41zhi2chv1q3vgwv-ghc-paths-0.1.0.12.drv'... project-manager-path-for-duoids> created 346 symlinks in user environment copying path '/nix/store/2xv8vxjyvnvk973grzzd6im726v3v5bg-ansi-terminal-1.1.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/pkyg56xsx6ih1y6hi7kyfmxqzkaxb06j-polyparse-1.13' from 'https://cache.nix-ci.com'... copying path '/nix/store/qdvbh52i5khrg3dryw0mccn465yk7bfq-safe-0.3.21' from 'https://cache.nix-ci.com'... copying path '/nix/store/jq4090yw2v494qwmr4w3w7flj9wx3pzf-pretty-show-1.10' from 'https://cache.nix-ci.com'... copying path '/nix/store/d92h7wx0gdyi20i5b4fccfkmxnx48a0f-prettyprinter-1.7.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/f99fa0d9srqw1xph9gw718qy60yvr1v6-primes-0.2.1.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/gdj744ziyaamx376x49dnadyhc6547f3-primitive-0.9.1.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/ypzdrhfba4795yjhs1jrs27pzc5crwqh-refact-0.3.0.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/85cg33jvjks71qivxqgx3kw0c3yglvsw-reflection-2.1.9' from 'https://cache.nix-ci.com'... copying path '/nix/store/nbdcn1wqp6r5rg7yyg21pc8j3j7qcmjw-regex-applicative-0.3.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/zdc2garzmq1prxhfmpqx1f5zlbp8xqss-regex-base-0.94.0.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/7lmp9lkzhm9yykzw1ccgazr3wbxy3l2l-generic-lens-core-2.2.1.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/4bl6fybp6m796ps1nw13glf1d63dqr5l-safe-exceptions-0.1.7.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/bd1lmigw7c5cqqfxyii75k3mk4h1g9kc-selective-0.7.0.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/pajs9msbzp1prslmnnrxgvw8cx7hci0j-semigroups-0.20' from 'https://cache.nix-ci.com'... copying path '/nix/store/h161xq84k32nk698wmb2wv9ngw60gw13-silently-1.2.5.4' from 'https://cache.nixos.org'... project-manager-path-for-duoids (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/qch3c76xs7kng1y0myy2pjvszqi09afb-project-manager-path-for-duoids project-manager-path-for-duoids (post)> Pushing 1 paths (212 are already present) using zstd to cache sellout ⏳ project-manager-path-for-duoids (post)> project-manager-path-for-duoids (post)> Pushing /nix/store/qch3c76xs7kng1y0myy2pjvszqi09afb-project-manager-path-for-duoids (96.70 KiB) project-manager-path-for-duoids (post)> project-manager-path-for-duoids (post)> All done. project-manager-path-for-duoids (post)> added 4 signatures project-manager-path-for-duoids (post)> added 371 signatures project-manager-path-for-duoids (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/qch3c76xs7kng1y0myy2pjvszqi09afb-project-manager-path-for-duoids project-manager-path-for-duoids (post)> copying 1 paths... project-manager-path-for-duoids (post)> copying path '/nix/store/qch3c76xs7kng1y0myy2pjvszqi09afb-project-manager-path-for-duoids' to 'https://cache.nix-ci.com'... project-manager-path-for-duoids (post)> copying 1 paths... project-manager-path-for-duoids (post)> copying path '/nix/store/1710b6izbmi3cdb9d6ignm6gs42awbgy-project-manager-path-for-duoids.drv' to 'https://cache.nix-ci.com'... project-manager-path-for-duoids (post)> added 0 signatures project-manager-path-for-duoids (post)> added 0 signatures project-manager-path-for-duoids (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/qch3c76xs7kng1y0myy2pjvszqi09afb-project-manager-path-for-duoids project-manager-path-for-duoids (post)> copying 1 paths... project-manager-path-for-duoids (post)> copying path '/nix/store/qch3c76xs7kng1y0myy2pjvszqi09afb-project-manager-path-for-duoids' to 'ssh-ng://worker.nix-ci.com'... project-manager-path-for-duoids (post)> copying 1 paths... project-manager-path-for-duoids (post)> copying path '/nix/store/1710b6izbmi3cdb9d6ignm6gs42awbgy-project-manager-path-for-duoids.drv' to 'ssh-ng://worker.nix-ci.com'... cabal-doctest> Running phase: setupCompilerEnvironmentPhase cabal-doctest> Build with /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4. cabal-doctest> Running phase: unpackPhase cabal-doctest> unpacking source archive /nix/store/8ic4r88607c95vfk7d2idwr4rh3qz6cd-cabal-doctest-1.0.11.tar.gz cabal-doctest> source root is cabal-doctest-1.0.11 cabal-doctest> setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file "cabal-doctest-1.0.11/src/Distribution/Extra/Doctest.hs" cabal-doctest> Running phase: patchPhase cabal-doctest> Running phase: compileBuildDriverPhase cabal-doctest> setupCompileFlags: -package-db=/build/tmp.UssSCFljp0/setup-package.conf.d -threaded cabal-doctest> [1 of 2] Compiling Main ( Setup.hs, /build/tmp.UssSCFljp0/Main.o ) cabal-doctest> [2 of 2] Linking Setup cabal-doctest> Running phase: updateAutotoolsGnuConfigScriptsPhase cabal-doctest> Running phase: configurePhase cabal-doctest> configureFlags: --verbose --prefix=/nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/kfdvq7b4zlybspn9290xbvqdvsra5xly-cabal-doctest-1.0.11-doc/share/doc/cabal-doctest-1.0.11 --with-gcc=gcc --package-db=/build/tmp.UssSCFljp0/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/vj3rmg6937p9icir6bazbdcb4xdnrg9j-ncurses-6.5/lib --extra-lib-dirs=/nix/store/0aaj6jbxclpwvrphggqz4vf5hg8360fr-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/vaix9m2syrilm7hv3690plsk35y0arwm-elfutils-0.192/lib --extra-lib-dirs=/nix/store/m9fycbkaairz8kampnsl7sx1aanvl0db-gmp-with-cxx-6.3.0/lib cabal-doctest> Using Parsec parser cabal-doctest> Configuring cabal-doctest-1.0.11... cabal-doctest> Dependency Cabal >=1.24 && <3.16: using Cabal-3.12.1.0 cabal-doctest> Dependency base >=4.9 && <5: using base-4.19.2.0 cabal-doctest> Dependency directory >=1.3 && <2: using directory-1.3.8.5 cabal-doctest> Dependency filepath >=1.4 && <2: using filepath-1.4.301.0 cabal-doctest> Source component graph: component lib cabal-doctest> Configured component graph: cabal-doctest> component cabal-doctest-1.0.11-6HDHyPuxF2nJCNTSAaYr9n cabal-doctest> include Cabal-3.12.1.0-IayZQrz3fzKH2YOKMfx6Do cabal-doctest> include base-4.19.2.0-0fde cabal-doctest> include directory-1.3.8.5-b132 cabal-doctest> include filepath-1.4.301.0-c763 cabal-doctest> Linked component graph: cabal-doctest> unit cabal-doctest-1.0.11-6HDHyPuxF2nJCNTSAaYr9n cabal-doctest> include Cabal-3.12.1.0-IayZQrz3fzKH2YOKMfx6Do cabal-doctest> include base-4.19.2.0-0fde cabal-doctest> include directory-1.3.8.5-b132 cabal-doctest> include filepath-1.4.301.0-c763 cabal-doctest> Distribution.Extra.Doctest=cabal-doctest-1.0.11-6HDHyPuxF2nJCNTSAaYr9n:Distribution.Extra.Doctest cabal-doctest> Ready component graph: cabal-doctest> definite cabal-doctest-1.0.11-6HDHyPuxF2nJCNTSAaYr9n cabal-doctest> depends Cabal-3.12.1.0-IayZQrz3fzKH2YOKMfx6Do cabal-doctest> depends base-4.19.2.0-0fde cabal-doctest> depends directory-1.3.8.5-b132 cabal-doctest> depends filepath-1.4.301.0-c763 cabal-doctest> Using Cabal-3.10.3.0 compiled by ghc-9.8 cabal-doctest> Using compiler: ghc-9.8.4 cabal-doctest> Using install prefix: cabal-doctest> /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11 cabal-doctest> Executables installed in: cabal-doctest> /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11/bin cabal-doctest> Libraries installed in: cabal-doctest> /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/cabal-doctest-1.0.11-6HDHyPuxF2nJCNTSAaYr9n cabal-doctest> Dynamic Libraries installed in: cabal-doctest> /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4 cabal-doctest> Private executables installed in: cabal-doctest> /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11/libexec/x86_64-linux-ghc-9.8.4/cabal-doctest-1.0.11 cabal-doctest> Data files installed in: ghc-paths> Running phase: setupCompilerEnvironmentPhase ghc-paths> Build with /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4. ghc-paths> Running phase: unpackPhase ghc-paths> unpacking source archive /nix/store/jbdk3r2ic959xyc0394gn6n61wgjf6n0-ghc-paths-0.1.0.12.tar.gz ghc-paths> source root is ghc-paths-0.1.0.12 ghc-paths> setting SOURCE_DATE_EPOCH to timestamp 1566388706 of file "ghc-paths-0.1.0.12/Setup.hs" ghc-paths> Running phase: patchPhase ghc-paths> Replace Cabal file with edited version from mirror://hackage/ghc-paths-0.1.0.12/revision/7.cabal. ghc-paths> applying patch /nix/store/57w4xa43g7ilkdjd7mplrn8l3pvmyklf-ghc-paths-nix.patch ghc-paths> patching file GHC/Paths.hs ghc-paths> Running phase: compileBuildDriverPhase ghc-paths> setupCompileFlags: -package-db=/build/tmp.SCrIIrY0td/setup-package.conf.d -threaded ghc-paths> [1 of 2] Compiling Main ( Setup.hs, /build/tmp.SCrIIrY0td/Main.o ) ghc-paths> [2 of 2] Linking Setup ghc-paths> Running phase: updateAutotoolsGnuConfigScriptsPhase ghc-paths> Running phase: configurePhase ghc-paths> configureFlags: --verbose --prefix=/nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/n2a8655pm2sc7kikp00nncpl2h1pxd13-ghc-paths-0.1.0.12-doc/share/doc/ghc-paths-0.1.0.12 --with-gcc=gcc --package-db=/build/tmp.SCrIIrY0td/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/vj3rmg6937p9icir6bazbdcb4xdnrg9j-ncurses-6.5/lib --extra-lib-dirs=/nix/store/0aaj6jbxclpwvrphggqz4vf5hg8360fr-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/vaix9m2syrilm7hv3690plsk35y0arwm-elfutils-0.192/lib --extra-lib-dirs=/nix/store/m9fycbkaairz8kampnsl7sx1aanvl0db-gmp-with-cxx-6.3.0/lib ghc-paths> Using Parsec parser ghc-paths> Configuring ghc-paths-0.1.0.12... ghc-paths> Dependency base >=3 && <5: using base-4.19.2.0 ghc-paths> Source component graph: component lib ghc-paths> Configured component graph: ghc-paths> component ghc-paths-0.1.0.12-JS7QMgqnbWuFwhvEoYXar7 ghc-paths> include base-4.19.2.0-0fde ghc-paths> Linked component graph: ghc-paths> unit ghc-paths-0.1.0.12-JS7QMgqnbWuFwhvEoYXar7 ghc-paths> include base-4.19.2.0-0fde ghc-paths> GHC.Paths=ghc-paths-0.1.0.12-JS7QMgqnbWuFwhvEoYXar7:GHC.Paths ghc-paths> Ready component graph: ghc-paths> definite ghc-paths-0.1.0.12-JS7QMgqnbWuFwhvEoYXar7 ghc-paths> depends base-4.19.2.0-0fde ghc-paths> Using Cabal-3.12.1.0 compiled by ghc-9.8 ghc-paths> Using compiler: ghc-9.8.4 ghc-paths> Using install prefix: ghc-paths> /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12 ghc-paths> Executables installed in: ghc-paths> /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12/bin ghc-paths> Libraries installed in: ghc-paths> /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4-65e9/ghc-paths-0.1.0.12-JS7QMgqnbWuFwhvEoYXar7 ghc-paths> Dynamic Libraries installed in: ghc-paths> /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4-65e9 ghc-paths> Private executables installed in: ghc-paths> /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12/libexec/x86_64-linux-ghc-9.8.4-65e9/ghc-paths-0.1.0.12 ghc-paths> Data files installed in: ghc-paths> /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12/share/x86_64-linux-ghc-9.8.4-65e9/ghc-paths-0.1.0.12 ghc-paths> Documentation installed in: ghc-paths> /nix/store/n2a8655pm2sc7kikp00nncpl2h1pxd13-ghc-paths-0.1.0.12-doc/share/doc/ghc-paths-0.1.0.12 ghc-paths> Configuration files installed in: ghc-paths> /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12/etc ghc-paths> No alex found ghc-paths> Using ar found on system at: copying path '/nix/store/406w81b9f5zj2b68v2qd4lps0kdbbxz1-MemoTrie-0.6.11' from 'https://cache.nix-ci.com'... copying path '/nix/store/k76hri3jq2spwaii9kmyz83cv8spyksg-tar-0.6.3.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/wla0ygwcilpacmf6a9liw34i08nvbira-data-default-instances-old-locale-0.0.1.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/968zkd8g01dc6syjyjykix0sxly7hi4h-tagged-0.8.8' from 'https://cache.nix-ci.com'... copying path '/nix/store/msrxfcx7igkdgz33xxl5s7wpap5rsg8i-old-time-1.1.0.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/kyj32fdgjgb63kfwkf1yvk9ric2kbs2w-slist-0.2.1.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/s7vd3mqbjbkbbb3dy5lb5ccpvnkjsgnx-th-abstraction-0.7.1.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/83qkkhf5n4p0q7nyh1y5z92sfx46bf27-some-1.0.6' from 'https://cache.nix-ci.com'... copying path '/nix/store/wx2l46387qgmgzv670c56zliqawc0584-sorted-list-0.2.3.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/14i9g2p7b5jd53minhgn4qyizvpi32w4-splitmix-0.1.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/w0vbhm7mllgs7ksd7ic2ys51smsnbkad-syb-0.7.2.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/1r32w410kjhsyzzbrv12rv2hsz834sgx-stringbuilder-0.5.1' from 'https://cache.nixos.org'... copying path '/nix/store/2j364w000j4qg7kqgyivwmwaibiwhn8c-terminal-size-0.3.4' from 'https://cache.nix-ci.com'... cabal-doctest> /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11/share/x86_64-linux-ghc-9.8.4/cabal-doctest-1.0.11 cabal-doctest> Documentation installed in: cabal-doctest> /nix/store/kfdvq7b4zlybspn9290xbvqdvsra5xly-cabal-doctest-1.0.11-doc/share/doc/cabal-doctest-1.0.11 cabal-doctest> Configuration files installed in: cabal-doctest> /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11/etc cabal-doctest> No alex found cabal-doctest> Using ar found on system at: cabal-doctest> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ar cabal-doctest> No c2hs found cabal-doctest> No cpphs found cabal-doctest> No doctest found cabal-doctest> Using gcc version 14.3.0 given by user at: cabal-doctest> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/gcc cabal-doctest> Using ghc version 9.8.4 found on system at: cabal-doctest> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc cabal-doctest> Using ghc-pkg version 9.8.4 found on system at: cabal-doctest> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc-pkg-9.8.4 cabal-doctest> No ghcjs found cabal-doctest> No ghcjs-pkg found copying path '/nix/store/8sh962fh6cxs6sk2ml4ayzmdwn21fzni-hashable-1.4.7.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/zrkdib75q5q4xnkq40nf1lwzynn2m1ir-th-compat-0.1.6' from 'https://cache.nix-ci.com'... cabal-doctest> No greencard found cabal-doctest> Using haddock version 2.30.0 found on system at: cabal-doctest> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/haddock-ghc-9.8.4 cabal-doctest> No happy found cabal-doctest> Using haskell-suite found on system at: haskell-suite-dummy-location cabal-doctest> Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location cabal-doctest> No hmake found cabal-doctest> Using hpc version 0.69 found on system at: cabal-doctest> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hpc-ghc-9.8.4 cabal-doctest> Using hsc2hs version 0.68.10 found on system at: cabal-doctest> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4 cabal-doctest> Using hscolour version 1.25 found on system at: cabal-doctest> /nix/store/fb7sllj82i2dv2ijivsz2abp0agz40p9-hscolour-1.25/bin/HsColour cabal-doctest> No jhc found cabal-doctest> Using ld found on system at: cabal-doctest> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ld.gold cabal-doctest> No pkg-config found cabal-doctest> Using runghc version 9.8.4 found on system at: cabal-doctest> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/runghc-9.8.4 cabal-doctest> Using strip version 2.44 found on system at: cabal-doctest> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/strip cabal-doctest> Using tar found on system at: cabal-doctest> /nix/store/76df6j9sq1ar58id3y3v4rkijany1wxp-gnutar-1.35/bin/tar cabal-doctest> No uhc found cabal-doctest> Running phase: buildPhase cabal-doctest> Preprocessing library for cabal-doctest-1.0.11.. cabal-doctest> Building library for cabal-doctest-1.0.11.. cabal-doctest> [1 of 1] Compiling Distribution.Extra.Doctest ( src/Distribution/Extra/Doctest.hs, dist/build/Distribution/Extra/Doctest.o, dist/build/Distribution/Extra/Doctest.dyn_o ) cabal-doctest> [1 of 1] Compiling Distribution.Extra.Doctest ( src/Distribution/Extra/Doctest.hs, dist/build/Distribution/Extra/Doctest.p_o ) ghc-paths> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ar ghc-paths> No c2hs found ghc-paths> No cpphs found ghc-paths> No doctest found ghc-paths> Using gcc version 14.3.0 given by user at: ghc-paths> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/gcc ghc-paths> Using ghc version 9.8.4 found on system at: ghc-paths> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc ghc-paths> Using ghc-pkg version 9.8.4 found on system at: ghc-paths> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc-pkg-9.8.4 ghc-paths> No ghcjs found ghc-paths> No ghcjs-pkg found ghc-paths> No greencard found ghc-paths> Using haddock version 2.30.0 found on system at: ghc-paths> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/haddock-ghc-9.8.4 ghc-paths> No happy found ghc-paths> Using haskell-suite found on system at: haskell-suite-dummy-location ghc-paths> Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location ghc-paths> No hmake found ghc-paths> Using hpc version 0.69 found on system at: ghc-paths> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hpc-ghc-9.8.4 ghc-paths> Using hsc2hs version 0.68.10 found on system at: ghc-paths> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4 ghc-paths> Using hscolour version 1.25 found on system at: ghc-paths> /nix/store/fb7sllj82i2dv2ijivsz2abp0agz40p9-hscolour-1.25/bin/HsColour ghc-paths> No jhc found ghc-paths> Using ld found on system at: ghc-paths> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ld.gold ghc-paths> No pkg-config found ghc-paths> Using runghc version 9.8.4 found on system at: ghc-paths> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/runghc-9.8.4 ghc-paths> Using strip version 2.44 found on system at: ghc-paths> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/strip ghc-paths> Using tar found on system at: ghc-paths> /nix/store/76df6j9sq1ar58id3y3v4rkijany1wxp-gnutar-1.35/bin/tar ghc-paths> No uhc found ghc-paths> Running: /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc --print-libdir -j16 '+RTS' -A64M -RTS -haddock ghc-paths> Running phase: buildPhase ghc-paths> Preprocessing library for ghc-paths-0.1.0.12... ghc-paths> Building library for ghc-paths-0.1.0.12... ghc-paths> [1 of 1] Compiling GHC.Paths ( GHC/Paths.hs, dist/build/GHC/Paths.o, dist/build/GHC/Paths.dyn_o ) ghc-paths> [1 of 1] Compiling GHC.Paths ( GHC/Paths.hs, dist/build/GHC/Paths.p_o ) ghc-paths> Running phase: checkPhase ghc-paths> Package has no test suites. ghc-paths> Running phase: haddockPhase ghc-paths> Preprocessing library for ghc-paths-0.1.0.12... copying path '/nix/store/bnfd79a6rm73gcdmgky7mdvdi5ls1283-split-0.2.5' from 'https://cache.nix-ci.com'... ghc-paths> Running Haddock on library for ghc-paths-0.1.0.12... ghc-paths> [1 of 1] Compiling GHC.Paths ( GHC/Paths.hs, nothing ) ghc-paths> Haddock coverage: ghc-paths> 0% ( 0 / 5) in 'GHC.Paths' ghc-paths> Missing documentation for: ghc-paths> Module header ghc-paths> ghc (GHC/Paths.hs:34) ghc-paths> ghc_pkg (GHC/Paths.hs:35) ghc-paths> libdir (GHC/Paths.hs:31) ghc-paths> docdir (GHC/Paths.hs:32) copying path '/nix/store/7qmj4bdghsawx0xns5h8vcrpmihywksc-colourista-0.1.0.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/pwx3j4rfs2igcv0lr1idpb5bqqylc1q0-cpphs-1.20.9.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/iaap55bad199wwkq91j4nh1g47jxfccy-data-default-0.7.1.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/vcid8cqhp49ncshhmjdvd1vyv8r4m4zz-integer-conversion-0.1.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/ns2lr7fxfg5a9lpy2faqvrdwp1w3fxr8-prettyprinter-ansi-terminal-1.1.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/021pzk1221ncd3xngh98wfqv74ymr593-githash-0.1.7.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/rq4cibdgzdpj2jk3c22mwym13sw5yfaj-network-uri-2.6.4.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/xirz9xz95gfy43zb4wcc9kyhhyka2irc-random-1.2.1.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/rmfracij0cs1c5nrs86dnnrx4xw97j6i-boring-0.2.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/7v1j2j5lqng1l48d3ycckv5yqgic6y65-distributive-0.6.2.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/zricqs2skfwv52c80zmij1gri1kg9y4c-regex-tdfa-1.3.2.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/ik5fkf7hf8l07qk7x21s99jwjhhqi4j9-regex-pcre-builtin-0.95.2.3.8.44' from 'https://cache.nix-ci.com'... copying path '/nix/store/jghnxwzb66h33nih19zyvy81wr0fb1mg-th-env-0.1.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/74s5n817spiajwavi5hw220h67hwy6dw-time-locale-compat-0.1.1.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/rv26wvx2gali05x1y8x4jvf6py5i40z9-transformers-compat-0.7.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/3pi2bfrfq3smdj98j6p3f5imibj1wy3l-unbounded-delays-0.1.1.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/37in0v9zkmia4cjsj1zlv2frs86c24l5-async-2.2.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/bal7v0rdv5848zgyds0l54ipmzkg18jy-case-insensitive-1.2.1.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/fgdhvl8219gqkbnwnmfhcmkv5pxif8kq-constraints-0.14.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/5j72hjj2l7d809jkanhnk4ji0r5awp7l-data-fix-0.3.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/b9ipfmkv7az89r1da12j3n1a6g67gzkh-opentelemetry-0.8.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/m1d4946hr32h10bp257l2gwf7aw529nl-ordered-containers-0.2.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/c4sa84kmd5gpykwg12ism3p5vff5j0zg-barbies-2.1.1.0' from 'https://cache.nixos.org'... copying path '/nix/store/ql9mvkkidd8z0gizx3dm504cw9dvd6a0-generic-deriving-1.14.6' from 'https://cache.nix-ci.com'... copying path '/nix/store/sqij7l0ijrqyhig4lmw3g5lrndkv31v9-psqueues-0.2.8.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/52cvscbbx23mda0xrhn81qf6w74bzbb4-prettyprinter-compat-ansi-wl-pprint-1.0.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/nrf4y6l435ncqc5q870096zkc1m97pgj-scientific-0.3.8.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/dgplwvr3s83hj4946dpr0hjpwp1lpwjg-these-1.2.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/d3hb35yg7ph565pf29bzsj4c2ycdva17-Glob-0.10.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/i46mg7180sghs8gfwnvda1yqayqhhzc7-text-short-0.1.6' from 'https://cache.nix-ci.com'... copying path '/nix/store/dvwgqs03xvw0c3v09f74ccpmsy333gb5-comonad-5.0.9' from 'https://cache.nix-ci.com'... copying path '/nix/store/f98msspwiy2v0bx8rzasfbbm40b2x496-concurrent-output-1.10.21' from 'https://cache.nixos.org'... copying path '/nix/store/1vp4sdgx9hiys0gi7fd3i9cvl83c28q9-mmorph-1.2.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/c7zq7jqr1b34n0qimzg2cda6y0lb8hkl-ansi-wl-pprint-1.0.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/qgrmq4kf9kfmfcz2gflpxh1h1dxz73sn-optparse-applicative-0.18.1.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/a16d3g0qyp44rdp9l0nx6ljw9bj2dah8-MonadRandom-0.6.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/yin0fv8y0ni6qdzybc9gwi83y20jnz9s-QuickCheck-2.14.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/jmcicddbg7djkwppqdkb25s08i6lf5ll-temporary-1.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/jy5pans5xil7p9lb3xk2992jlkqj6yrh-tf-random-0.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/jp3wsjxkar774l1pwb8miydpyv2ldip7-time-compat-1.9.7' from 'https://cache.nix-ci.com'... copying path '/nix/store/g7w8r5bghb8753ccz8jagzf4f8c893ng-lucid-2.11.20250303' from 'https://cache.nix-ci.com'... copying path '/nix/store/6gh3f0mhc8y9wg7w88n3k0zc5x8cfvgn-base64-1.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/hklnhxaap05zhk6dp3lwpdza843sv4y5-primitive-unlifted-2.1.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/kp2ksw5fppvi7s1xw04fpvg7aq7svpn2-transformers-base-0.4.6' from 'https://cache.nix-ci.com'... copying path '/nix/store/kzndp0387w7cckkr868m4f6wm4g2xwk5-strict-0.5.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/xh63fh45wmc9cwkv9gm4hdbr4qqzrhd8-bifunctors-5.6.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/h1srj4p1j71y9ppg0i85nsvj440iw96j-mockery-0.3.5' from 'https://cache.nixos.org'... copying path '/nix/store/w9jwv4594gv3g2r9c341h4g47cppxfb2-attoparsec-0.14.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/6bk128yvs483s18wypgxy94l8lawvv8p-megaparsec-9.7.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/jb4a0y0h5ws4slzkz7mvxdgc4b7ffxkl-trial-0.0.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/32gly86j9avfcjana26bq921d9n0f3s6-unix-compat-0.7.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/zxx7mwa8f2vin45fxqxqnzq7zhxrx0df-monad-control-1.0.3.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/a7cz50859zrybp99h22kadcrp39k9xci-random-shuffle-0.0.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/4rvwr1igsdak1dlmp4gy174is575px09-text-iso8601-0.1.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/l7innqzg7pklm2v92zmvn27mmadf5ykq-unliftio-core-0.2.1.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/izhaxbhkg3qinin8x9mmsnn3f37apwp7-filemanip-0.3.6.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/6vj2rp9v8fd33fxll3mv6izc2hkmcvy6-unordered-containers-0.2.20' from 'https://cache.nix-ci.com'... copying path '/nix/store/fplaxsl6w90cnpypz5pvsxhi34bysi5q-lifted-base-0.2.3.12' from 'https://cache.nixos.org'... copying path '/nix/store/nj25i82i8kbbsfva1jjfz9mvvcwpbch6-utf8-string-1.0.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/5k15x2d515ll569mdi8ilpkzmpwx8yd0-uuid-types-1.0.6' from 'https://cache.nix-ci.com'... copying path '/nix/store/b50400k0zkplmr6wxcgi00j3aydlfzyi-validation-selective-0.2.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/mbvxpdgzila70dznqx7c9hlk1b70hp02-resourcet-1.3.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/1r9sjambvsz77s2kh8ic1n8v1x7a2bi5-typed-process-0.2.13.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/xbnajkap3zk2w34c72jfn2zpl3pffjg6-extensions-0.1.0.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/ppbgskdwlqahh82cyplramkzpk6jlaqa-optparse-simple-0.1.1.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/yh6a1s8p1d8hiafxwah4vmclhayisjdp-pretty-simple-4.1.3.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/zn5mhkv9bsa25rqdr8ja6ilplx1b17za-tasty-1.5.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/vih9zh99b219d4ikn368bmlyhnk549mf-trial-optparse-applicative-0.0.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/zb053qmhz8v21n2z8m8hnayhv81fad31-unliftio-0.2.25.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/kr32gbqjh3f4lm0djf9k7knpj3xx3dpv-vector-stream-0.1.0.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/jqgl0qrimsvcblcx0i91xz2i2qx7989f-void-0.7.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/q3qxm7qirc9390na182ryr99ngpm2h6n-lifted-async-0.10.2.7' from 'https://cache.nixos.org'... copying path '/nix/store/psqjy5kz7nvv8rffq9i301bx2m528s32-wherefrom-compat-0.1.1.1' from 'https://cache.nixos.org'... copying path '/nix/store/r9fhxmn6yy3kf8z0v7zd67mxnnq2mwr6-wl-pprint-annotated-0.1.0.1' from 'https://cache.nixos.org'... copying path '/nix/store/ggv4vm2fzhls8m00g39ygz6178kvs41j-zlib-0.7.1.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/mwsm92y2q2l4mgwnq6vscvz0km95jc4j-charset-0.3.12' from 'https://cache.nix-ci.com'... copying path '/nix/store/ygagi5cnpnwniym0k3riq2ky2sfd0snb-regex-1.1.0.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/4vyii9n753nsl6wh1k8vv0awrg7z4z9p-relude-1.2.2.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/dyjw7b67ksgwmx8pgmn1xz0vgxqk5rd6-semirings-0.7' from 'https://cache.nix-ci.com'... copying path '/nix/store/rf4aj890v99xqbymhs0wflza3bys0jx4-shake-0.19.8' from 'https://cache.nix-ci.com'... copying path '/nix/store/4hi0j8a1y7j23j2i2s41s7jvxmwibl7s-uniplate-1.6.13' from 'https://cache.nix-ci.com'... copying path '/nix/store/j8lsn12g0h1yx6hfkjixk761y5zppiwx-profunctors-5.6.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/xzvaig0016qi9rq9ccx5ghd2mdz1fahr-semigroupoids-6.0.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/my433d99j4mkyx1j9fkspckpl3adys21-ChasingBottoms-1.3.1.15' from 'https://cache.nixos.org'... copying path '/nix/store/vzchq4p13rq4467x2iba6bcvhfvr1mvn-generic-arbitrary-1.0.1.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/8vp6j2cg8dhcvp00mcz80wd4q3anr6v4-quickcheck-io-0.2.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/hagfkz4dky8y2f7b0mcvalx0gip42agq-neat-interpolation-0.5.1.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/6vzlny7c64g47yz03sj7hpx6chcxj067-hedgehog-1.5' from 'https://cache.nixos.org'... copying path '/nix/store/3paxrgcf4rppqp839c2085sw655jdvva-ormolu-0.7.4.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/fywyqhm71r33d7s48x6k201n4bbn9rnf-streaming-commons-0.2.3.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/yqmjr9xl6a8d816aj9ixifjip0fkvv02-tomland-1.3.3.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/l1zv61wl4gjpdk05v4f635s1bwzgjmx2-tasty-expected-failure-0.12.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/rzja1nr0vn2cjndpa0qw1gq7sgz8cvfy-parsers-0.12.12' from 'https://cache.nix-ci.com'... copying path '/nix/store/f9pj2gbjy9xsl7xxmj96pk096lcm3pm7-tasty-golden-2.3.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/aplbwm9k3j2lqizpriz8fq7r1sja5gav-tasty-hunit-0.10.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/w135wkxpaalpykzlcr79nyjxxyd62953-tasty-inspection-testing-0.2.1' from 'https://cache.nixos.org'... copying path '/nix/store/y6440f43zwn533yk3wbinrv0wrs81pkm-tasty-hedgehog-1.4.0.2' from 'https://cache.nixos.org'... copying path '/nix/store/dfqfrzhircay9zi2m70l8jvjrc94jcwz-tasty-quickcheck-0.11' from 'https://cache.nixos.org'... copying path '/nix/store/iy95prnp70l7llgi01m5k499bdzn3b3y-tasty-rerun-1.1.20' from 'https://cache.nix-ci.com'... ghc-paths> Documentation created: dist/doc/html/ghc-paths/, ghc-paths> dist/doc/html/ghc-paths/ghc-paths.txt ghc-paths> Running phase: installPhase ghc-paths> Installing library in /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4-65e9/ghc-paths-0.1.0.12-JS7QMgqnbWuFwhvEoYXar7 copying path '/nix/store/b7n06rkj8minq4gjpri32q0f8n0j2180-vector-0.13.2.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/75azhmyh4b81yd1hyv2fqy4avnxipdvf-hspec-core-2.11.12' from 'https://cache.nix-ci.com'... copying path '/nix/store/k7x75w6xc8h8sad4pkdbnk1q4iqxmk4h-ghc-lib-parser-ex-9.8.0.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/6gqa9gbikmck3w4anci8c9nww5vlkvmi-generic-lens-2.2.2.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/l0n7dgx5kjhfd1xhdhkjzkng287n64bd-invariant-0.6.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/50495hibnd1icii4xhb8qypj8k6pd3an-free-5.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/8zacc79kr8p222nj7c16llxs1j5wbkrq-row-types-1.0.1.2' from 'https://cache.nix-ci.com'... ghc-paths> Running phase: fixupPhase ghc-paths> shrinking RPATHs of ELF executables and libraries in /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12 ghc-paths> shrinking /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4-65e9/libHSghc-paths-0.1.0.12-JS7QMgqnbWuFwhvEoYXar7-ghc9.8.4.so ghc-paths> checking for references to /build/ in /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12... ghc-paths> patching script interpreter paths in /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12 ghc-paths> stripping (with command strip and flags -S -p) in /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12/lib copying path '/nix/store/xdh3lzppgqnmgb02f0r7r2affgvz581k-trial-tomland-0.0.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/awqc7p5b73sqwmmnhhirnv8azfcywzrb-stan-0.2.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/vg59rygy8q5hphj6q9pm2s8w3sng0h3y-hspec-2.11.12' from 'https://cache.nixos.org'... ghc-paths> shrinking RPATHs of ELF executables and libraries in /nix/store/n2a8655pm2sc7kikp00nncpl2h1pxd13-ghc-paths-0.1.0.12-doc ghc-paths> checking for references to /build/ in /nix/store/n2a8655pm2sc7kikp00nncpl2h1pxd13-ghc-paths-0.1.0.12-doc... copying path '/nix/store/aw9p38mmbw33gm0cnvlmlqqpddrxy801-adjunctions-4.4.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/aqa99h6l45x9lswa54p2yasmg4b4dhw4-ghc-exactprint-1.8.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/a8jbj7487ddq94112fzipn0cssbqndci-monad-dijkstra-0.1.1.5' from 'https://cache.nix-ci.com'... ghc-paths> patching script interpreter paths in /nix/store/n2a8655pm2sc7kikp00nncpl2h1pxd13-ghc-paths-0.1.0.12-doc ghc-paths (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12 /nix/store/n2a8655pm2sc7kikp00nncpl2h1pxd13-ghc-paths-0.1.0.12-doc ghc-paths (post)> Pushing 2 paths (66 are already present) using zstd to cache sellout ⏳ ghc-paths (post)> ghc-paths (post)> Pushing /nix/store/n2a8655pm2sc7kikp00nncpl2h1pxd13-ghc-paths-0.1.0.12-doc (121.09 KiB) ghc-paths (post)> Pushing /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12 (101.07 KiB) ghc-paths (post)> ghc-paths (post)> All done. ghc-paths (post)> added 2 signatures ghc-paths (post)> added 5 signatures ghc-paths (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12 /nix/store/n2a8655pm2sc7kikp00nncpl2h1pxd13-ghc-paths-0.1.0.12-doc ghc-paths (post)> copying 2 paths... ghc-paths (post)> copying path '/nix/store/n2a8655pm2sc7kikp00nncpl2h1pxd13-ghc-paths-0.1.0.12-doc' to 'https://cache.nix-ci.com'... ghc-paths (post)> copying path '/nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12' to 'https://cache.nix-ci.com'... ghc-paths (post)> copying 5 paths... ghc-paths (post)> copying path '/nix/store/w8a9zv4glrncfrsj63nmga8s8pqhydd0-Cabal-3.12.1.0.tar.gz.drv' to 'https://cache.nix-ci.com'... ghc-paths (post)> copying path '/nix/store/66i0dqdv2088fqf5lhpd8nprlw6l0hy0-Cabal-syntax-3.12.1.0.tar.gz.drv' to 'https://cache.nix-ci.com'... ghc-paths (post)> copying path '/nix/store/0zxddf6y7yd5hrvrjnp7wvddqfwmlin2-Cabal-syntax-3.12.1.0.drv' to 'https://cache.nix-ci.com'... ghc-paths (post)> copying path '/nix/store/vkxj6jwkn40i78blmkb16p6y7x1hxbad-Cabal-3.12.1.0.drv' to 'https://cache.nix-ci.com'... ghc-paths (post)> copying path '/nix/store/dnbzii8jzifhf76z41zhi2chv1q3vgwv-ghc-paths-0.1.0.12.drv' to 'https://cache.nix-ci.com'... ghc-paths (post)> added 0 signatures ghc-paths (post)> added 0 signatures ghc-paths (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12 /nix/store/n2a8655pm2sc7kikp00nncpl2h1pxd13-ghc-paths-0.1.0.12-doc ghc-paths (post)> copying 2 paths... ghc-paths (post)> copying path '/nix/store/n2a8655pm2sc7kikp00nncpl2h1pxd13-ghc-paths-0.1.0.12-doc' to 'ssh-ng://worker.nix-ci.com'... ghc-paths (post)> copying path '/nix/store/3q2vxfzq5r47a0yfhs3rfgw58kpn7apn-ghc-paths-0.1.0.12' to 'ssh-ng://worker.nix-ci.com'... ghc-paths (post)> copying 5 paths... ghc-paths (post)> copying path '/nix/store/66i0dqdv2088fqf5lhpd8nprlw6l0hy0-Cabal-syntax-3.12.1.0.tar.gz.drv' to 'ssh-ng://worker.nix-ci.com'... ghc-paths (post)> copying path '/nix/store/0zxddf6y7yd5hrvrjnp7wvddqfwmlin2-Cabal-syntax-3.12.1.0.drv' to 'ssh-ng://worker.nix-ci.com'... ghc-paths (post)> copying path '/nix/store/w8a9zv4glrncfrsj63nmga8s8pqhydd0-Cabal-3.12.1.0.tar.gz.drv' to 'ssh-ng://worker.nix-ci.com'... ghc-paths (post)> copying path '/nix/store/vkxj6jwkn40i78blmkb16p6y7x1hxbad-Cabal-3.12.1.0.drv' to 'ssh-ng://worker.nix-ci.com'... ghc-paths (post)> copying path '/nix/store/dnbzii8jzifhf76z41zhi2chv1q3vgwv-ghc-paths-0.1.0.12.drv' to 'ssh-ng://worker.nix-ci.com'... building '/nix/store/qpsr0jngfqji9wd533n4mxqkkdn84mzr-doctest-0.22.6.drv'... cabal-doctest> Running phase: checkPhase cabal-doctest> Package has no test suites. cabal-doctest> Running phase: haddockPhase cabal-doctest> Preprocessing library for cabal-doctest-1.0.11.. cabal-doctest> Running Haddock on library for cabal-doctest-1.0.11.. cabal-doctest> Warning: --source-* options are ignored when --hyperlinked-source is enabled. cabal-doctest> [1 of 1] Compiling Distribution.Extra.Doctest ( src/Distribution/Extra/Doctest.hs, nothing ) cabal-doctest> Haddock coverage: cabal-doctest> Warning: 'UserHooks' is ambiguous. It is defined cabal-doctest> * in ‘Distribution.Simple.UserHooks’ cabal-doctest> * in ‘Distribution.Simple.UserHooks’ cabal-doctest> You may be able to disambiguate the identifier by qualifying it or cabal-doctest> by specifying the type/value namespace explicitly. cabal-doctest> Defaulting to the one defined in ‘Distribution.Simple.UserHooks’ cabal-doctest> 100% ( 6 / 6) in 'Distribution.Extra.Doctest' copying path '/nix/store/b5qc7dv0kdl8dlx5crmh787xd085nqlh-ListLike-4.7.8.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/zhhg3j17gcshay93d5iqpn0wc5i9d4m9-apply-refact-0.14.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/i3nq2s2ym3w5nblv40z70mnxyzhrmwaq-bitvec-1.1.5.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/ildax0ljr3kmh3m99cky1pjvklnchzjp-blaze-textual-0.2.3.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/iy8gnrpny58703004yz6a33xxg916lfv-foldl-1.4.18' from 'https://cache.nix-ci.com'... copying path '/nix/store/rb84pplrxk35ya8ild9r068dbxgpbdhy-hw-prim-0.6.3.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/6syi9kw2kz4d1wfxahmw414hbhcp69zd-indexed-traversable-instances-0.1.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/k2gx5dnqljdlpf2aimrck0znw1jnsi20-kan-extensions-5.2.6' from 'https://cache.nix-ci.com'... copying path '/nix/store/ka3g4wfd31yi65v3zvd6zabsn1s2i5g8-mod-0.2.0.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/s9s1c47ljix01w6kr2bx8y6w9m4s8k3f-monoid-subclasses-1.2.6' from 'https://cache.nix-ci.com'... copying path '/nix/store/cb4l6zgz7d2bg11jscffrg8w8hmih17x-quickcheck-instances-0.3.32' from 'https://cache.nix-ci.com'... copying path '/nix/store/4rdrhwfnkaaca6mi3aiqk5rzij5dgq0n-text-rope-0.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/av1s52ndndbcmd2wcxfbqz8qqq5ji9ck-vector-binary-instances-0.2.5.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/229svdhfp5y00x785cjjj2h0dy3liz0m-semialign-1.3.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/av3x89r51559y299dgyrwjsh64gbhjg2-witherable-0.5' from 'https://cache.nix-ci.com'... copying path '/nix/store/00nihnsiwz5qbwfjg6f0a7wj8b56vwg3-sqlite-simple-0.4.19.0' from 'https://cache.nix-ci.com'... doctest> Running phase: setupCompilerEnvironmentPhase doctest> Build with /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4. copying path '/nix/store/vnyhl74y8h6c0wjv5jbscabji7mdsz21-lens-5.3.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/l5139jbvk2ynp6g78yyycxcs5ay6y84m-deferred-folds-0.9.18.7' from 'https://cache.nix-ci.com'... copying path '/nix/store/8sq6c5nxw9yc6b428kd6xzy24drwsdga-list-t-1.0.5.7' from 'https://cache.nix-ci.com'... copying path '/nix/store/w918rylqkkb5dw2nnmnqz6iz8ffkkvcj-aeson-2.2.3.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/z23i4phlakd9vvbxsrr187gsdc7m09sf-vector-algorithms-0.9.1.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/gfia6y2r453d2qknal39xyj182wjfvs9-hiedb-0.6.0.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/jvw3hzaa62wp4asb9ylbglkccn1g86qi-retrie-1.2.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/7mdzr3jg03hnd5hdhpam2w7i3xdvy1gz-primitive-extras-0.10.2.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/1azaw6qpy67k4f7qgsyirfxmps7d8szx-stm-hamt-1.2.1.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/5zwi4p2i70z8f315i1wk756i7ngb6zzb-stm-containers-1.2.1.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/sbmkvbzwb9dbvnyrakdvnxqcb7hwmzb1-hw-fingertree-0.1.2.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/y65y2li6dwvq8yvvp0cp24lwa0ysdddi-process-extras-0.7.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/plq4i2vr73rihcxx4s8m29h9wr9837q3-fuzzy-0.1.1.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/2p85fn8c61p0yiy566zrxsw2xfbb62fb-mono-traversable-1.0.21.0' from 'https://cache.nix-ci.com'... doctest> Running phase: unpackPhase doctest> unpacking source archive /nix/store/mk30nc4vbm3vmsbjqpy8zxvmg7i4j2bx-doctest-0.22.6.tar.gz copying path '/nix/store/bzi0zd00dhxn1vq3xn3apz2slsxajwak-conduit-1.3.6.1' from 'https://cache.nix-ci.com'... doctest> source root is doctest-0.22.6 copying path '/nix/store/s496akcf96rpnryvikfgvf7y8r2qy9f3-HsYAML-aeson-0.2.0.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/137d25s8fnbcwbiki09f4fra9ajlif8v-constraints-extras-0.4.0.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/gn227yjnkxw2ah086dv5f1scwpgh3lm8-attoparsec-aeson-2.2.2.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/j9ll0y8wqszqblbjwqvcxsp1f9sydl5m-deriving-aeson-0.2.10' from 'https://cache.nix-ci.com'... copying path '/nix/store/snrrbvfwydh7dpdyyg2igb2gkjpa87wh-binary-instances-1.0.6' from 'https://cache.nix-ci.com'... copying path '/nix/store/19w5c1jjamq29xawwmfazmwbljrqyy6c-hls-graph-2.10.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/s9iy1c0jbfwjb7cc0rf4nrfjga7lm5x4-enummapset-0.7.3.0' from 'https://cache.nix-ci.com'... doctest> setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file "doctest-0.22.6/test/UtilSpec.hs" copying path '/nix/store/zcidshbn73yz3z662clwp0238sgxsd7a-stylish-haskell-0.14.6.0' from 'https://cache.nix-ci.com'... doctest> Running phase: patchPhase doctest> applying patch /nix/store/q6x451lgsrmarzh4grswgr3s1j4iqadx-doctest-0.23.0-ghc-9.12.patch doctest> patching file test/Language/Haskell/GhciWrapperSpec.hs copying path '/nix/store/4dzp5y3i1yv7ph5n7bd2rv54jwhgnavb-dependent-sum-0.7.2.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/d6naibpf9f7fmh391z7asf5yq8p110a4-cabal-install-parsers-0.6.1.1' from 'https://cache.nix-ci.com'... doctest> Running phase: compileBuildDriverPhase copying path '/nix/store/m6psxqdl1l2i3mcjldazm98vsrvbfzdw-aeson-pretty-0.8.10' from 'https://cache.nix-ci.com'... doctest> setupCompileFlags: -package-db=/build/tmp.TDzbCtBfsa/setup-package.conf.d -threaded copying path '/nix/store/dbznn2qzj7iz3l5188j956w5vyqrssya-dependent-map-0.4.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/z3ys3md5gy7dz64nmlcgv4bqmx9d5kcm-lens-aeson-1.2.3' from 'https://cache.nix-ci.com'... copying path '/nix/store/gzl4qhb3y5iq7zzwjq2kbfxhgw84xsqy-lsp-types-2.3.0.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/0smnh0swh9bxy2rmg7bwiywfm7v6kh2k-conduit-extra-1.3.7' from 'https://cache.nix-ci.com'... copying path '/nix/store/czqbgavnqpyhi1797snavnif5c351sr6-conduit-parse-0.2.1.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/xi8h2ls6xl8pksxizl8rvxpgc5ywqbdn-libyaml-0.1.4' from 'https://cache.nix-ci.com'... copying path '/nix/store/ghnd5dds5jiwiy1ad02lwr5iag4ag81b-floskell-0.11.1' from 'https://cache.nix-ci.com'... copying path '/nix/store/d3am2ppdlqmvw41b5qv8k0smwwk8v5sd-cabal-add-0.1' from 'https://cache.nix-ci.com'... doctest> [1 of 2] Compiling Main ( Setup.lhs, /build/tmp.TDzbCtBfsa/Main.o ) copying path '/nix/store/2l24cpmf9bf2v58xbhmymakzma012qra-yaml-0.11.11.2' from 'https://cache.nix-ci.com'... copying path '/nix/store/bgiqa8jp4xkwjvyhrv2i2jqf0zzz9h45-fourmolu-0.15.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/ff005535k68sw6g8qggl5zv976ab90zj-hie-bios-0.14.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/4rz036fnrva50bgz39igj2wm7khckdwl-hlint-3.8' from 'https://cache.nix-ci.com'... copying path '/nix/store/ymawrkg9xbfprb25r4hvz1hq3n1lwwyh-implicit-hie-0.1.4.0' from 'https://cache.nix-ci.com'... doctest> [2 of 2] Linking Setup doctest> Running phase: updateAutotoolsGnuConfigScriptsPhase doctest> Running phase: configurePhase doctest> configureFlags: --verbose --prefix=/nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/0wwwx3dc3sys0awjv0sv2z71lwb6j8kh-doctest-0.22.6-doc/share/doc/doctest-0.22.6 --with-gcc=gcc --package-db=/build/tmp.TDzbCtBfsa/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/vj3rmg6937p9icir6bazbdcb4xdnrg9j-ncurses-6.5/lib --extra-lib-dirs=/nix/store/0aaj6jbxclpwvrphggqz4vf5hg8360fr-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/vaix9m2syrilm7hv3690plsk35y0arwm-elfutils-0.192/lib --extra-lib-dirs=/nix/store/m9fycbkaairz8kampnsl7sx1aanvl0db-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/lib doctest> Using Parsec parser doctest> Configuring doctest-0.22.6... cabal-doctest> Documentation created: dist/doc/html/cabal-doctest/, cabal-doctest> dist/doc/html/cabal-doctest/cabal-doctest.txt cabal-doctest> Running phase: installPhase cabal-doctest> Installing library in /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/cabal-doctest-1.0.11-6HDHyPuxF2nJCNTSAaYr9n doctest> Flags chosen: cabal-doctest=False doctest> Dependency base >=4.7 && <5: using base-4.19.2.0 doctest> Dependency code-page >=0.1: using code-page-0.2.1 doctest> Dependency containers: using containers-0.6.8 doctest> Dependency deepseq: using deepseq-1.5.1.0 doctest> Dependency directory: using directory-1.3.8.5 doctest> Dependency exceptions: using exceptions-0.10.7 doctest> Dependency filepath: using filepath-1.4.301.0 doctest> Dependency ghc >=8.0 && <9.12: using ghc-9.8.4 doctest> Dependency ghc-paths >=0.1.0.9: using ghc-paths-0.1.0.12 doctest> Dependency process: using process-1.6.25.0 doctest> Dependency syb >=0.3: using syb-0.7.2.4 doctest> Dependency transformers: using transformers-0.6.1.0 doctest> Dependency base >=4.7 && <5: using base-4.19.2.0 doctest> Dependency doctest: using doctest-0.22.6 doctest> Dependency HUnit: using HUnit-1.6.2.0 doctest> Dependency QuickCheck >=2.13.1: using QuickCheck-2.14.3 doctest> Dependency base >=4.7 && <5: using base-4.19.2.0 doctest> Dependency code-page >=0.1: using code-page-0.2.1 doctest> Dependency containers: using containers-0.6.8 doctest> Dependency deepseq: using deepseq-1.5.1.0 doctest> Dependency directory: using directory-1.3.8.5 doctest> Dependency exceptions: using exceptions-0.10.7 doctest> Dependency filepath: using filepath-1.4.301.0 doctest> Dependency ghc >=8.0 && <9.12: using ghc-9.8.4 doctest> Dependency ghc-paths >=0.1.0.9: using ghc-paths-0.1.0.12 doctest> Dependency hspec >=2.3.0: using hspec-2.11.12 doctest> Dependency hspec-core >=2.3.0: using hspec-core-2.11.12 doctest> Dependency mockery: using mockery-0.3.5 doctest> Dependency process: using process-1.6.25.0 doctest> Dependency silently >=1.2.4: using silently-1.2.5.4 doctest> Dependency stringbuilder >=0.4: using stringbuilder-0.5.1 doctest> Dependency syb >=0.3: using syb-0.7.2.4 doctest> Dependency transformers: using transformers-0.6.1.0 copying path '/nix/store/jnvcl0q6zyzvgrpnkrd0m6hhk0pdjkcp-lsp-2.7.0.1' from 'https://cache.nix-ci.com'... cabal-doctest> Running phase: fixupPhase cabal-doctest> shrinking RPATHs of ELF executables and libraries in /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11 cabal-doctest> shrinking /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/libHScabal-doctest-1.0.11-6HDHyPuxF2nJCNTSAaYr9n-ghc9.8.4.so cabal-doctest> checking for references to /build/ in /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11... copying path '/nix/store/jrcs2bclf3x8l574n0x2d1vpkc4bj0wp-hls-plugin-api-2.10.0.0' from 'https://cache.nix-ci.com'... copying path '/nix/store/d7qa9dks06dysly4y123jwz9kb31q6z3-lsp-test-0.17.1.1' from 'https://cache.nix-ci.com'... cabal-doctest> patching script interpreter paths in /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11 cabal-doctest> stripping (with command strip and flags -S -p) in /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11/lib cabal-doctest> shrinking RPATHs of ELF executables and libraries in /nix/store/kfdvq7b4zlybspn9290xbvqdvsra5xly-cabal-doctest-1.0.11-doc cabal-doctest> checking for references to /build/ in /nix/store/kfdvq7b4zlybspn9290xbvqdvsra5xly-cabal-doctest-1.0.11-doc... cabal-doctest> patching script interpreter paths in /nix/store/kfdvq7b4zlybspn9290xbvqdvsra5xly-cabal-doctest-1.0.11-doc copying path '/nix/store/zlbx52fn71zg53dlqg4ymbcnrfv5d4sr-ghcide-2.10.0.0' from 'https://cache.nix-ci.com'... cabal-doctest (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11 /nix/store/kfdvq7b4zlybspn9290xbvqdvsra5xly-cabal-doctest-1.0.11-doc cabal-doctest (post)> Pushing 2 paths (70 are already present) using zstd to cache sellout ⏳ cabal-doctest (post)> cabal-doctest (post)> Pushing /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11 (788.55 KiB) cabal-doctest (post)> Pushing /nix/store/kfdvq7b4zlybspn9290xbvqdvsra5xly-cabal-doctest-1.0.11-doc (385.12 KiB) cabal-doctest (post)> cabal-doctest (post)> All done. cabal-doctest (post)> added 6 signatures cabal-doctest (post)> added 1 signatures cabal-doctest (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11 /nix/store/kfdvq7b4zlybspn9290xbvqdvsra5xly-cabal-doctest-1.0.11-doc cabal-doctest (post)> copying 6 paths... cabal-doctest (post)> copying path '/nix/store/4jir8y6m08bjzk2w9qr64a8r38jlq081-Cabal-syntax-3.12.1.0-doc' to 'https://cache.nix-ci.com'... cabal-doctest (post)> copying path '/nix/store/akix0rlp3i34sdc8kymj2136dlcycyil-Cabal-3.12.1.0-doc' to 'https://cache.nix-ci.com'... cabal-doctest (post)> copying path '/nix/store/ngk63la5nc7kdmm3mmlsysr2w674phb8-Cabal-syntax-3.12.1.0' to 'https://cache.nix-ci.com'... cabal-doctest (post)> copying path '/nix/store/kfdvq7b4zlybspn9290xbvqdvsra5xly-cabal-doctest-1.0.11-doc' to 'https://cache.nix-ci.com'... cabal-doctest (post)> copying path '/nix/store/r05mp7s3pazfagbx9hy60z0bn8064y8y-Cabal-3.12.1.0' to 'https://cache.nix-ci.com'... cabal-doctest (post)> copying path '/nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11' to 'https://cache.nix-ci.com'... cabal-doctest (post)> copying 1 paths... cabal-doctest (post)> copying path '/nix/store/n1f59s36p0igzm5fzibh8myihr6li9ch-cabal-doctest-1.0.11.drv' to 'https://cache.nix-ci.com'... cabal-doctest (post)> added 0 signatures cabal-doctest (post)> added 0 signatures cabal-doctest (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11 /nix/store/kfdvq7b4zlybspn9290xbvqdvsra5xly-cabal-doctest-1.0.11-doc cabal-doctest (post)> copying 6 paths... cabal-doctest (post)> copying path '/nix/store/4jir8y6m08bjzk2w9qr64a8r38jlq081-Cabal-syntax-3.12.1.0-doc' to 'ssh-ng://worker.nix-ci.com'... cabal-doctest (post)> copying path '/nix/store/akix0rlp3i34sdc8kymj2136dlcycyil-Cabal-3.12.1.0-doc' to 'ssh-ng://worker.nix-ci.com'... cabal-doctest (post)> copying path '/nix/store/kfdvq7b4zlybspn9290xbvqdvsra5xly-cabal-doctest-1.0.11-doc' to 'ssh-ng://worker.nix-ci.com'... cabal-doctest (post)> copying path '/nix/store/ngk63la5nc7kdmm3mmlsysr2w674phb8-Cabal-syntax-3.12.1.0' to 'ssh-ng://worker.nix-ci.com'... cabal-doctest (post)> copying path '/nix/store/r05mp7s3pazfagbx9hy60z0bn8064y8y-Cabal-3.12.1.0' to 'ssh-ng://worker.nix-ci.com'... cabal-doctest (post)> copying path '/nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11' to 'ssh-ng://worker.nix-ci.com'... cabal-doctest (post)> copying 1 paths... cabal-doctest (post)> copying path '/nix/store/n1f59s36p0igzm5fzibh8myihr6li9ch-cabal-doctest-1.0.11.drv' to 'ssh-ng://worker.nix-ci.com'... doctest> Source component graph: doctest> component test:spec doctest> component lib doctest> component exe:doctest dependency lib doctest> Configured component graph: doctest> component doctest-0.22.6-KDi1wjbmiJKDYhaStPuuty-spec doctest> include HUnit-1.6.2.0-4GVQACZeyCG6aTmdiRM2Zi doctest> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi doctest> include base-4.19.2.0-0fde doctest> include code-page-0.2.1-67TxEcSU9VM1oFgo0sGiUu doctest> include containers-0.6.8-ddec doctest> include deepseq-1.5.1.0-7f97 doctest> include directory-1.3.8.5-b132 doctest> include exceptions-0.10.7-c2ae doctest> include filepath-1.4.301.0-c763 doctest> include ghc-9.8.4-65e9 doctest> include ghc-paths-0.1.0.12-JS7QMgqnbWuFwhvEoYXar7 doctest> include hspec-2.11.12-IJMxCJMXUnaAz3RRMd3KTP doctest> include hspec-core-2.11.12-Hn5F0ZBBCQgs8LNkPWWy doctest> include mockery-0.3.5-89KdJAUqWob6hm5lBfwNb4 doctest> include process-1.6.25.0-f020 doctest> include silently-1.2.5.4-IUsJ1GQlyVaJA2rsOittV5 doctest> include stringbuilder-0.5.1-DbP83s2ClSvDjaJQbWMpAa doctest> include syb-0.7.2.4-2nI94jtAo8s9y1iEpRsJX3 doctest> include transformers-0.6.1.0-f128 doctest> component doctest-0.22.6-1SxYZzGcAV168a12vQnyDt doctest> include base-4.19.2.0-0fde doctest> include code-page-0.2.1-67TxEcSU9VM1oFgo0sGiUu doctest> include containers-0.6.8-ddec doctest> include deepseq-1.5.1.0-7f97 doctest> include directory-1.3.8.5-b132 doctest> include exceptions-0.10.7-c2ae doctest> include filepath-1.4.301.0-c763 doctest> include ghc-9.8.4-65e9 doctest> include ghc-paths-0.1.0.12-JS7QMgqnbWuFwhvEoYXar7 doctest> include process-1.6.25.0-f020 doctest> include syb-0.7.2.4-2nI94jtAo8s9y1iEpRsJX3 doctest> include transformers-0.6.1.0-f128 doctest> component doctest-0.22.6-EM9QmNJRoxE9MfXyhCQ7SF-doctest doctest> include base-4.19.2.0-0fde doctest> include doctest-0.22.6-1SxYZzGcAV168a12vQnyDt doctest> Linked component graph: doctest> unit doctest-0.22.6-KDi1wjbmiJKDYhaStPuuty-spec doctest> include HUnit-1.6.2.0-4GVQACZeyCG6aTmdiRM2Zi doctest> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi doctest> include base-4.19.2.0-0fde doctest> include code-page-0.2.1-67TxEcSU9VM1oFgo0sGiUu doctest> include containers-0.6.8-ddec doctest> include deepseq-1.5.1.0-7f97 doctest> include directory-1.3.8.5-b132 doctest> include exceptions-0.10.7-c2ae doctest> include filepath-1.4.301.0-c763 doctest> include ghc-9.8.4-65e9 doctest> include ghc-paths-0.1.0.12-JS7QMgqnbWuFwhvEoYXar7 doctest> include hspec-2.11.12-IJMxCJMXUnaAz3RRMd3KTP doctest> include hspec-core-2.11.12-Hn5F0ZBBCQgs8LNkPWWy doctest> include mockery-0.3.5-89KdJAUqWob6hm5lBfwNb4 doctest> include process-1.6.25.0-f020 doctest> include silently-1.2.5.4-IUsJ1GQlyVaJA2rsOittV5 doctest> include stringbuilder-0.5.1-DbP83s2ClSvDjaJQbWMpAa doctest> include syb-0.7.2.4-2nI94jtAo8s9y1iEpRsJX3 doctest> include transformers-0.6.1.0-f128 doctest> unit doctest-0.22.6-1SxYZzGcAV168a12vQnyDt doctest> include base-4.19.2.0-0fde doctest> include code-page-0.2.1-67TxEcSU9VM1oFgo0sGiUu doctest> include containers-0.6.8-ddec doctest> include deepseq-1.5.1.0-7f97 doctest> include directory-1.3.8.5-b132 doctest> include exceptions-0.10.7-c2ae doctest> include filepath-1.4.301.0-c763 doctest> include ghc-9.8.4-65e9 doctest> include ghc-paths-0.1.0.12-JS7QMgqnbWuFwhvEoYXar7 doctest> include process-1.6.25.0-f020 doctest> include syb-0.7.2.4-2nI94jtAo8s9y1iEpRsJX3 doctest> include transformers-0.6.1.0-f128 doctest> Test.DocTest=doctest-0.22.6-1SxYZzGcAV168a12vQnyDt:Test.DocTest,Test.DocTest.Internal.Cabal=doctest-0.22.6-1SxYZzGcAV168a12vQnyDt:Test.DocTest.Internal.Cabal,Test.DocTest.Internal.Extract=doctest-0.22.6-1SxYZzGcAV168a12vQnyDt:Test.DocTest.Internal.Extract,Test.DocTest.Internal.Location=doctest-0.22.6-1SxYZzGcAV168a12vQnyDt:Test.DocTest.Internal.Location,Test.DocTest.Internal.Parse=doctest-0.22.6-1SxYZzGcAV168a12vQnyDt:Test.DocTest.Internal.Parse,Test.DocTest.Internal.Run=doctest-0.22.6-1SxYZzGcAV168a12vQnyDt:Test.DocTest.Internal.Run doctest> unit doctest-0.22.6-EM9QmNJRoxE9MfXyhCQ7SF-doctest doctest> include base-4.19.2.0-0fde doctest> include doctest-0.22.6-1SxYZzGcAV168a12vQnyDt doctest> Ready component graph: doctest> definite doctest-0.22.6-KDi1wjbmiJKDYhaStPuuty-spec doctest> depends HUnit-1.6.2.0-4GVQACZeyCG6aTmdiRM2Zi doctest> depends QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi doctest> depends base-4.19.2.0-0fde doctest> depends code-page-0.2.1-67TxEcSU9VM1oFgo0sGiUu doctest> depends containers-0.6.8-ddec doctest> depends deepseq-1.5.1.0-7f97 doctest> depends directory-1.3.8.5-b132 doctest> depends exceptions-0.10.7-c2ae doctest> depends filepath-1.4.301.0-c763 doctest> depends ghc-9.8.4-65e9 doctest> depends ghc-paths-0.1.0.12-JS7QMgqnbWuFwhvEoYXar7 doctest> depends hspec-2.11.12-IJMxCJMXUnaAz3RRMd3KTP doctest> depends hspec-core-2.11.12-Hn5F0ZBBCQgs8LNkPWWy doctest> depends mockery-0.3.5-89KdJAUqWob6hm5lBfwNb4 doctest> depends process-1.6.25.0-f020 doctest> depends silently-1.2.5.4-IUsJ1GQlyVaJA2rsOittV5 doctest> depends stringbuilder-0.5.1-DbP83s2ClSvDjaJQbWMpAa doctest> depends syb-0.7.2.4-2nI94jtAo8s9y1iEpRsJX3 doctest> depends transformers-0.6.1.0-f128 doctest> definite doctest-0.22.6-1SxYZzGcAV168a12vQnyDt doctest> depends base-4.19.2.0-0fde doctest> depends code-page-0.2.1-67TxEcSU9VM1oFgo0sGiUu doctest> depends containers-0.6.8-ddec doctest> depends deepseq-1.5.1.0-7f97 doctest> depends directory-1.3.8.5-b132 doctest> depends exceptions-0.10.7-c2ae doctest> depends filepath-1.4.301.0-c763 doctest> depends ghc-9.8.4-65e9 doctest> depends ghc-paths-0.1.0.12-JS7QMgqnbWuFwhvEoYXar7 doctest> depends process-1.6.25.0-f020 doctest> depends syb-0.7.2.4-2nI94jtAo8s9y1iEpRsJX3 doctest> depends transformers-0.6.1.0-f128 doctest> definite doctest-0.22.6-EM9QmNJRoxE9MfXyhCQ7SF-doctest doctest> depends base-4.19.2.0-0fde doctest> depends doctest-0.22.6-1SxYZzGcAV168a12vQnyDt doctest> Using Cabal-3.10.3.0 compiled by ghc-9.8 doctest> Using compiler: ghc-9.8.4 doctest> Using install prefix: doctest> /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6 doctest> Executables installed in: doctest> /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/bin doctest> Libraries installed in: doctest> /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/doctest-0.22.6-1SxYZzGcAV168a12vQnyDt doctest> Dynamic Libraries installed in: doctest> /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4 doctest> Private executables installed in: doctest> /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/libexec/x86_64-linux-ghc-9.8.4/doctest-0.22.6 doctest> Data files installed in: doctest> /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/share/x86_64-linux-ghc-9.8.4/doctest-0.22.6 doctest> Documentation installed in: doctest> /nix/store/0wwwx3dc3sys0awjv0sv2z71lwb6j8kh-doctest-0.22.6-doc/share/doc/doctest-0.22.6 doctest> Configuration files installed in: doctest> /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/etc doctest> No alex found doctest> Using ar found on system at: doctest> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ar doctest> No c2hs found doctest> No cpphs found doctest> No doctest found doctest> Using gcc version 14.3.0 given by user at: doctest> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/gcc doctest> Using ghc version 9.8.4 found on system at: doctest> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc doctest> Using ghc-pkg version 9.8.4 found on system at: doctest> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc-pkg-9.8.4 doctest> No ghcjs found doctest> No ghcjs-pkg found doctest> No greencard found doctest> Using haddock version 2.30.0 found on system at: doctest> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/haddock-ghc-9.8.4 doctest> No happy found doctest> Using haskell-suite found on system at: haskell-suite-dummy-location doctest> Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location doctest> No hmake found doctest> Using hpc version 0.69 found on system at: doctest> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hpc-ghc-9.8.4 doctest> Using hsc2hs version 0.68.10 found on system at: doctest> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4 doctest> Using hscolour version 1.25 found on system at: doctest> /nix/store/fb7sllj82i2dv2ijivsz2abp0agz40p9-hscolour-1.25/bin/HsColour doctest> No jhc found doctest> Using ld found on system at: doctest> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ld.gold doctest> No pkg-config found doctest> Using runghc version 9.8.4 found on system at: doctest> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/runghc-9.8.4 copying path '/nix/store/jf0rg3cplzcq3s8qnfkz5mq5bnaa2skl-hls-test-utils-2.10.0.0' from 'https://cache.nix-ci.com'... doctest> Using strip version 2.44 found on system at: doctest> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/strip doctest> Using tar found on system at: doctest> /nix/store/76df6j9sq1ar58id3y3v4rkijany1wxp-gnutar-1.35/bin/tar doctest> No uhc found doctest> Running phase: buildPhase doctest> Preprocessing test suite 'spec' for doctest-0.22.6.. doctest> Building test suite 'spec' for doctest-0.22.6.. doctest> [ 1 of 42] Compiling Imports ( src/Imports.hs, dist/build/spec/spec-tmp/Imports.o ) doctest> [ 2 of 42] Compiling GhcUtil ( src/GhcUtil.hs, dist/build/spec/spec-tmp/GhcUtil.o ) doctest> [ 3 of 42] Compiling Cabal.Paths ( src/Cabal/Paths.hs, dist/build/spec/spec-tmp/Cabal/Paths.o ) doctest> [ 4 of 42] Compiling Cabal.Options ( src/Cabal/Options.hs, dist/build/spec/spec-tmp/Cabal/Options.o ) doctest> [ 5 of 42] Compiling Cabal.OptionsSpec ( test/Cabal/OptionsSpec.hs, dist/build/spec/spec-tmp/Cabal/OptionsSpec.o ) doctest> [ 6 of 42] Compiling Language.Haskell.GhciWrapper ( src/Language/Haskell/GhciWrapper.hs, dist/build/spec/spec-tmp/Language/Haskell/GhciWrapper.o ) doctest> [ 7 of 42] Compiling Interpreter ( src/Interpreter.hs, dist/build/spec/spec-tmp/Interpreter.o ) doctest> [ 8 of 42] Compiling InterpreterSpec ( test/InterpreterSpec.hs, dist/build/spec/spec-tmp/InterpreterSpec.o ) doctest> [ 9 of 42] Compiling Info ( src/Info.hs, dist/build/spec/spec-tmp/Info.o ) doctest> [10 of 42] Compiling InfoSpec ( test/InfoSpec.hs, dist/build/spec/spec-tmp/InfoSpec.o ) doctest> [11 of 42] Compiling Cabal ( src/Cabal.hs, dist/build/spec/spec-tmp/Cabal.o ) doctest> [12 of 42] Compiling Cabal.PathsSpec ( test/Cabal/PathsSpec.hs, dist/build/spec/spec-tmp/Cabal/PathsSpec.o ) doctest> [13 of 42] Compiling Language.Haskell.GhciWrapperSpec ( test/Language/Haskell/GhciWrapperSpec.hs, dist/build/spec/spec-tmp/Language/Haskell/GhciWrapperSpec.o ) doctest> [14 of 42] Compiling Location ( src/Location.hs, dist/build/spec/spec-tmp/Location.o ) doctest> [15 of 42] Compiling LocationSpec ( test/LocationSpec.hs, dist/build/spec/spec-tmp/LocationSpec.o ) doctest> [16 of 42] Compiling Options ( src/Options.hs, dist/build/spec/spec-tmp/Options.o ) doctest> [17 of 42] Compiling OptionsSpec ( test/OptionsSpec.hs, dist/build/spec/spec-tmp/OptionsSpec.o ) doctest> [18 of 42] Compiling PackageDBs ( src/PackageDBs.hs, dist/build/spec/spec-tmp/PackageDBs.o ) doctest> [19 of 42] Compiling PackageDBsSpec ( test/PackageDBsSpec.hs, dist/build/spec/spec-tmp/PackageDBsSpec.o ) doctest> [20 of 42] Compiling Paths_doctest ( dist/build/spec/autogen/Paths_doctest.hs, dist/build/spec/spec-tmp/Paths_doctest.o ) doctest> [21 of 42] Compiling Test.DocTest.Internal.Cabal ( src/Test/DocTest/Internal/Cabal.hs, dist/build/spec/spec-tmp/Test/DocTest/Internal/Cabal.o ) doctest> [22 of 42] Compiling Test.DocTest.Internal.Location ( src/Test/DocTest/Internal/Location.hs, dist/build/spec/spec-tmp/Test/DocTest/Internal/Location.o ) doctest> [23 of 42] Compiling Util ( src/Util.hs, dist/build/spec/spec-tmp/Util.o ) doctest> [24 of 42] Compiling Extract ( src/Extract.hs, dist/build/spec/spec-tmp/Extract.o ) doctest> [25 of 42] Compiling Test.DocTest.Internal.Extract ( src/Test/DocTest/Internal/Extract.hs, dist/build/spec/spec-tmp/Test/DocTest/Internal/Extract.o ) doctest> [26 of 42] Compiling Parse ( src/Parse.hs, dist/build/spec/spec-tmp/Parse.o ) doctest> [27 of 42] Compiling Test.DocTest.Internal.Parse ( src/Test/DocTest/Internal/Parse.hs, dist/build/spec/spec-tmp/Test/DocTest/Internal/Parse.o ) doctest> [28 of 42] Compiling Runner.Example ( src/Runner/Example.hs, dist/build/spec/spec-tmp/Runner/Example.o ) doctest> [29 of 42] Compiling Runner.ExampleSpec ( test/Runner/ExampleSpec.hs, dist/build/spec/spec-tmp/Runner/ExampleSpec.o ) doctest> [30 of 42] Compiling Property ( src/Property.hs, dist/build/spec/spec-tmp/Property.o ) doctest> [31 of 42] Compiling Runner ( src/Runner.hs, dist/build/spec/spec-tmp/Runner.o ) doctest> [32 of 42] Compiling RunnerSpec ( test/RunnerSpec.hs, dist/build/spec/spec-tmp/RunnerSpec.o ) doctest> [33 of 42] Compiling Run ( src/Run.hs, dist/build/spec/spec-tmp/Run.o ) doctest> [34 of 42] Compiling Test.DocTest.Internal.Run ( src/Test/DocTest/Internal/Run.hs, dist/build/spec/spec-tmp/Test/DocTest/Internal/Run.o ) doctest> [35 of 42] Compiling Test.DocTest ( src/Test/DocTest.hs, dist/build/spec/spec-tmp/Test/DocTest.o ) doctest> [36 of 42] Compiling RunSpec ( test/RunSpec.hs, dist/build/spec/spec-tmp/RunSpec.o ) doctest> [37 of 42] Compiling MainSpec ( test/MainSpec.hs, dist/build/spec/spec-tmp/MainSpec.o ) doctest> [38 of 42] Compiling PropertySpec ( test/PropertySpec.hs, dist/build/spec/spec-tmp/PropertySpec.o ) doctest> [39 of 42] Compiling ParseSpec ( test/ParseSpec.hs, dist/build/spec/spec-tmp/ParseSpec.o ) doctest> [40 of 42] Compiling ExtractSpec ( test/ExtractSpec.hs, dist/build/spec/spec-tmp/ExtractSpec.o ) doctest> [41 of 42] Compiling UtilSpec ( test/UtilSpec.hs, dist/build/spec/spec-tmp/UtilSpec.o ) doctest> [42 of 42] Compiling Main ( test/Spec.hs, dist/build/spec/spec-tmp/Main.o ) doctest> [43 of 43] Linking dist/build/spec/spec doctest> Preprocessing library for doctest-0.22.6.. doctest> Building library for doctest-0.22.6.. doctest> [ 1 of 25] Compiling Imports ( src/Imports.hs, dist/build/Imports.o, dist/build/Imports.dyn_o ) doctest> [ 2 of 25] Compiling GhcUtil ( src/GhcUtil.hs, dist/build/GhcUtil.o, dist/build/GhcUtil.dyn_o ) doctest> [ 3 of 25] Compiling Cabal.Paths ( src/Cabal/Paths.hs, dist/build/Cabal/Paths.o, dist/build/Cabal/Paths.dyn_o ) doctest> [ 4 of 25] Compiling Cabal.Options ( src/Cabal/Options.hs, dist/build/Cabal/Options.o, dist/build/Cabal/Options.dyn_o ) doctest> [ 5 of 25] Compiling Language.Haskell.GhciWrapper ( src/Language/Haskell/GhciWrapper.hs, dist/build/Language/Haskell/GhciWrapper.o, dist/build/Language/Haskell/GhciWrapper.dyn_o ) doctest> [ 6 of 25] Compiling Interpreter ( src/Interpreter.hs, dist/build/Interpreter.o, dist/build/Interpreter.dyn_o ) doctest> [ 7 of 25] Compiling Location ( src/Location.hs, dist/build/Location.o, dist/build/Location.dyn_o ) doctest> [ 8 of 25] Compiling PackageDBs ( src/PackageDBs.hs, dist/build/PackageDBs.o, dist/build/PackageDBs.dyn_o ) doctest> [ 9 of 25] Compiling Paths_doctest ( dist/build/autogen/Paths_doctest.hs, dist/build/Paths_doctest.o, dist/build/Paths_doctest.dyn_o ) doctest> [10 of 25] Compiling Info ( src/Info.hs, dist/build/Info.o, dist/build/Info.dyn_o ) doctest> [11 of 25] Compiling Options ( src/Options.hs, dist/build/Options.o, dist/build/Options.dyn_o ) doctest> [12 of 25] Compiling Cabal ( src/Cabal.hs, dist/build/Cabal.o, dist/build/Cabal.dyn_o ) doctest> [13 of 25] Compiling Test.DocTest.Internal.Cabal ( src/Test/DocTest/Internal/Cabal.hs, dist/build/Test/DocTest/Internal/Cabal.o, dist/build/Test/DocTest/Internal/Cabal.dyn_o ) doctest> [14 of 25] Compiling Test.DocTest.Internal.Location ( src/Test/DocTest/Internal/Location.hs, dist/build/Test/DocTest/Internal/Location.o, dist/build/Test/DocTest/Internal/Location.dyn_o ) doctest> [15 of 25] Compiling Util ( src/Util.hs, dist/build/Util.o, dist/build/Util.dyn_o ) doctest> [16 of 25] Compiling Extract ( src/Extract.hs, dist/build/Extract.o, dist/build/Extract.dyn_o ) doctest> [17 of 25] Compiling Test.DocTest.Internal.Extract ( src/Test/DocTest/Internal/Extract.hs, dist/build/Test/DocTest/Internal/Extract.o, dist/build/Test/DocTest/Internal/Extract.dyn_o ) doctest> [18 of 25] Compiling Parse ( src/Parse.hs, dist/build/Parse.o, dist/build/Parse.dyn_o ) doctest> [19 of 25] Compiling Test.DocTest.Internal.Parse ( src/Test/DocTest/Internal/Parse.hs, dist/build/Test/DocTest/Internal/Parse.o, dist/build/Test/DocTest/Internal/Parse.dyn_o ) doctest> [20 of 25] Compiling Runner.Example ( src/Runner/Example.hs, dist/build/Runner/Example.o, dist/build/Runner/Example.dyn_o ) doctest> [21 of 25] Compiling Property ( src/Property.hs, dist/build/Property.o, dist/build/Property.dyn_o ) doctest> [22 of 25] Compiling Runner ( src/Runner.hs, dist/build/Runner.o, dist/build/Runner.dyn_o ) doctest> [23 of 25] Compiling Run ( src/Run.hs, dist/build/Run.o, dist/build/Run.dyn_o ) doctest> [24 of 25] Compiling Test.DocTest.Internal.Run ( src/Test/DocTest/Internal/Run.hs, dist/build/Test/DocTest/Internal/Run.o, dist/build/Test/DocTest/Internal/Run.dyn_o ) doctest> [25 of 25] Compiling Test.DocTest ( src/Test/DocTest.hs, dist/build/Test/DocTest.o, dist/build/Test/DocTest.dyn_o ) copying path '/nix/store/4zl25x7hvls52idv5pm8i0i3d5n98a3i-haskell-language-server-2.10.0.0' from 'https://cache.nix-ci.com'... doctest> [ 1 of 25] Compiling Imports ( src/Imports.hs, dist/build/Imports.p_o ) doctest> [ 2 of 25] Compiling GhcUtil ( src/GhcUtil.hs, dist/build/GhcUtil.p_o ) doctest> [ 3 of 25] Compiling Cabal.Paths ( src/Cabal/Paths.hs, dist/build/Cabal/Paths.p_o ) doctest> [ 4 of 25] Compiling Cabal.Options ( src/Cabal/Options.hs, dist/build/Cabal/Options.p_o ) doctest> [ 5 of 25] Compiling Language.Haskell.GhciWrapper ( src/Language/Haskell/GhciWrapper.hs, dist/build/Language/Haskell/GhciWrapper.p_o ) doctest> [ 6 of 25] Compiling Interpreter ( src/Interpreter.hs, dist/build/Interpreter.p_o ) doctest> [ 7 of 25] Compiling Location ( src/Location.hs, dist/build/Location.p_o ) doctest> [ 8 of 25] Compiling PackageDBs ( src/PackageDBs.hs, dist/build/PackageDBs.p_o ) doctest> [ 9 of 25] Compiling Paths_doctest ( dist/build/autogen/Paths_doctest.hs, dist/build/Paths_doctest.p_o ) doctest> [10 of 25] Compiling Info ( src/Info.hs, dist/build/Info.p_o ) doctest> [11 of 25] Compiling Options ( src/Options.hs, dist/build/Options.p_o ) doctest> [12 of 25] Compiling Cabal ( src/Cabal.hs, dist/build/Cabal.p_o ) doctest> [13 of 25] Compiling Test.DocTest.Internal.Cabal ( src/Test/DocTest/Internal/Cabal.hs, dist/build/Test/DocTest/Internal/Cabal.p_o ) doctest> [14 of 25] Compiling Test.DocTest.Internal.Location ( src/Test/DocTest/Internal/Location.hs, dist/build/Test/DocTest/Internal/Location.p_o ) doctest> [15 of 25] Compiling Util ( src/Util.hs, dist/build/Util.p_o ) doctest> [16 of 25] Compiling Extract ( src/Extract.hs, dist/build/Extract.p_o ) doctest> [17 of 25] Compiling Test.DocTest.Internal.Extract ( src/Test/DocTest/Internal/Extract.hs, dist/build/Test/DocTest/Internal/Extract.p_o ) doctest> [18 of 25] Compiling Parse ( src/Parse.hs, dist/build/Parse.p_o ) doctest> [19 of 25] Compiling Test.DocTest.Internal.Parse ( src/Test/DocTest/Internal/Parse.hs, dist/build/Test/DocTest/Internal/Parse.p_o ) doctest> [20 of 25] Compiling Runner.Example ( src/Runner/Example.hs, dist/build/Runner/Example.p_o ) doctest> [21 of 25] Compiling Property ( src/Property.hs, dist/build/Property.p_o ) doctest> [22 of 25] Compiling Runner ( src/Runner.hs, dist/build/Runner.p_o ) doctest> [23 of 25] Compiling Run ( src/Run.hs, dist/build/Run.p_o ) doctest> [24 of 25] Compiling Test.DocTest.Internal.Run ( src/Test/DocTest/Internal/Run.hs, dist/build/Test/DocTest/Internal/Run.p_o ) doctest> [25 of 25] Compiling Test.DocTest ( src/Test/DocTest.hs, dist/build/Test/DocTest.p_o ) doctest> Preprocessing executable 'doctest' for doctest-0.22.6.. doctest> Building executable 'doctest' for doctest-0.22.6.. doctest> [1 of 2] Compiling Main ( driver/doctest.hs, dist/build/doctest/doctest-tmp/Main.o ) doctest> [2 of 2] Compiling Paths_doctest ( dist/build/doctest/autogen/Paths_doctest.hs, dist/build/doctest/doctest-tmp/Paths_doctest.o ) doctest> [3 of 3] Linking dist/build/doctest/doctest doctest> buildPhase completed in 1 minutes 9 seconds doctest> Running phase: checkPhase doctest> Running 1 test suites... doctest> Test suite spec: RUNNING... doctest> doctest> Extract doctest> extract doctest> extracts documentation for a top-level declaration [✔] doctest> extracts documentation from argument list [✔] doctest> extracts documentation for a type class function [✔] doctest> extracts documentation from the argument list of a type class function [✔] doctest> extracts documentation from the module header [✔] doctest> extracts documentation from imported modules [✔] doctest> extracts documentation from export list [✔] doctest> extracts documentation from named chunks [✔] doctest> returns docstrings in the same order they appear in the source [✔] doctest> extracts $setup code [✔] doctest> fails on invalid flags [✔] doctest> extract (regression tests) doctest> works with infix operators [✔] doctest> works with parallel list comprehensions [✔] doctest> works with list comprehensions in instance definitions [✔] doctest> works with foreign imports [✔] doctest> works for rewrite rules [✔] doctest> works for rewrite rules with type signatures [✔] doctest> strips CR from dos line endings [✔] doctest> works with a module that splices in an expression from an other module [✔] doctest> works for type families and GHC 7.6.1 [✔] doctest> Info doctest> formatInfo doctest> formats --info output [✔] doctest> Interpreter doctest> interpreterSupported doctest> indicates whether GHCi is supported on current platform [✔] doctest> ghcInfo doctest> includes "Have interpreter" [✔] doctest> safeEval doctest> evaluates an expression [✔] doctest> returns Left on unterminated multiline command [✔] doctest> filterExpression doctest> removes :set -XTemplateHaskell [✔] doctest> filters -XTemplateHaskell [✔] doctest> leaves :set-statement that do not set -XTemplateHaskell alone [✔] doctest> Language.Haskell.GhciWrapper doctest> evalEcho doctest> prints result to stdout [✔] doctest> evalIt doctest> preserves it [✔] doctest> eval doctest> shows literals [✔] doctest> shows string literals containing Unicode [✔] doctest> evaluates simple expressions [✔] doctest> supports let bindings [✔] doctest> allows import statements [✔] doctest> captures stdout [✔] doctest> captures stdout (Unicode) [✔] doctest> captures stdout (empty line) [✔] doctest> captures stdout (multiple lines) [✔] doctest> captures stderr [✔] doctest> captures stderr (Unicode) [✔] doctest> shows exceptions [✔] doctest> shows exceptions (ExitCode) [✔] doctest> gives an error message for identifiers that are not in scope [✔] doctest> when configVerbose is True doctest> prints prompt [✔] doctest> with -XOverloadedStrings, -Wall and -Werror doctest> does not fail on marker expression (bug fix) [✔] doctest> with NoImplicitPrelude doctest> works [✔] doctest> with a strange String type doctest> works [✔] doctest> Location doctest> toLocation doctest> works for a regular SrcSpan [✔] doctest> works for a single-line SrcSpan [✔] doctest> works for a SrcSpan that corresponds to single point [✔] doctest> works for a bad SrcSpan [✔] doctest> works for a SrcLoc with bad locations [✔] doctest> enumerate doctest> replicates UnhelpfulLocation [✔] doctest> enumerates Location [✔] doctest> Main doctest> doctest doctest> testSimple [✔] doctest> it-variable [✔] doctest> it-variable in $setup [✔] doctest> failing [✔] doctest> skips subsequent examples from the same group if an example fails [✔] doctest> testImport [✔] doctest> testCommentLocation [✔] doctest> testPutStr [✔] doctest> fails on multi-line expressions, introduced with :{ [✔] doctest> testBlankline [✔] doctest> examples from the same Haddock comment share the same scope [✔] doctest> testDocumentationForArguments [✔] doctest> template-haskell [✔] doctest> handles source files with CRLF line endings [✔] doctest> runs $setup before each test group [✔] doctest> skips subsequent tests from a module, if $setup fails [✔] doctest> ignores trailing whitespace when matching test output [✔] doctest> doctest as a runner for QuickCheck properties doctest> runs a boolean property [✔] doctest> runs an explicitly quantified property [✔] doctest> runs an implicitly quantified property [✔] doctest> reports a failing property [✔] doctest> runs a boolean property with an explicit type signature [✔] doctest> runs $setup before each property [✔] doctest> doctest (regression tests) doctest> bugfixWorkingDirectory [✔] doctest> bugfixOutputToStdErr [✔] doctest> bugfixImportHierarchical [✔] doctest> bugfixMultipleModules [✔] doctest> testCPP [✔] doctest> template-haskell-bugfix [✔] doctest> doesn't clash with user bindings of stdout/stderr [✔] doctest> doesn't get confused by doctests using System.IO imports [✔] doctest> Options doctest> parseOptions doctest> strips --optghc [✔] doctest> strips --optghc= [✔] doctest> with ghc options that are not valid with --interactive doctest> returns ProxyToGhc [✔] doctest> +++ OK, passed 100 tests. doctest> with --interactive doctest> disables magic mode [✔] doctest> filters out --interactive [✔] doctest> accepts --fast [✔] doctest> --no-magic doctest> without --no-magic doctest> enables magic mode [✔] doctest> with --no-magic doctest> disables magic mode [✔] doctest> --fast doctest> without --fast doctest> disables fast mode [✔] doctest> with --fast doctest> enabled fast mode [✔] doctest> --preserve-it doctest> without --preserve-it doctest> does not preserve the `it` variable [✔] doctest> with --preserve-it doctest> preserves the `it` variable [✔] doctest> with --help doctest> outputs usage information [✔] doctest> with --version doctest> outputs version information [✔] doctest> with --info doctest> outputs machine readable version information [✔] doctest> --verbose doctest> without --verbose doctest> is not verbose by default [✔] doctest> with --verbose doctest> parses verbose option [✔] doctest> PackageDBs doctest> getPackageDBsFromEnv doctest> uses global and user when no env used [✔] doctest> respects GHC_PACKAGE_PATH [✔] doctest> Parse doctest> extractDocTests doctest> extracts properties from a module [✔] doctest> extracts examples from a module [✔] doctest> extracts examples from documentation for non-exported names [✔] doctest> extracts multiple examples from a module [✔] doctest> returns an empty list, if documentation contains no examples [✔] doctest> sets setup code to Nothing, if it does not contain any tests [✔] doctest> keeps modules that only contain setup code [✔] doctest> parseInteractions (an internal function) doctest> parses an interaction [✔] doctest> drops whitespace as appropriate [✔] doctest> parses an interaction without a result [✔] doctest> works with a complex example [✔] doctest> attaches location information to parsed interactions [✔] doctest> basic multiline [✔] doctest> multiline align output [✔] doctest> multiline align output with >>> [✔] doctest> parses wild cards lines [✔] doctest> parses wild card chunks [✔] doctest> parseProperties (an internal function) doctest> parses a property [✔] doctest> mkLineChunks (an internal function) doctest> replaces ellipsis with WildCardChunks [✔] doctest> doesn't replace fewer than 3 consecutive dots [✔] doctest> handles leading and trailing dots [✔] doctest> handles leading and trailing ellipsis [✔] doctest> Property doctest> runProperty doctest> reports a failing property [✔] doctest> runs a Bool property [✔] doctest> runs a Bool property with an explicit type signature [✔] doctest> runs an implicitly quantified property [✔] doctest> runs an implicitly quantified property even with GHC 7.4 [✔] doctest> runs an explicitly quantified property [✔] doctest> allows to mix implicit and explicit quantification [✔] doctest> reports the value for which a property fails [✔] doctest> reports the values for which a property that takes multiple arguments fails [✔] doctest> defaults ambiguous type variables to Integer [✔] doctest> freeVariables doctest> finds a free variables in a term [✔] doctest> ignores duplicates [✔] doctest> works for terms with multiple names [✔] doctest> works for names that contain a prime [✔] doctest> works for names that are similar to other names that are in scope [✔] doctest> parseNotInScope doctest> when error message was produced by GHC 7.4.1 doctest> extracts a variable name of variable that is not in scope from an error message [✔] doctest> ignores duplicates [✔] doctest> works for variable names that contain a prime [✔] doctest> works for error messages with suggestions [✔] doctest> when error message was produced by GHC 8.0.1 doctest> extracts a variable name of variable that is not in scope from an error message [✔] doctest> ignores duplicates [✔] doctest> works for variable names that contain a prime [✔] doctest> works for error messages with suggestions [✔] doctest> Run doctest> doctest doctest> exits with ExitFailure if at least one test case fails [✔] doctest> prints help on --help [✔] doctest> prints version on --version [✔] doctest> accepts arbitrary GHC options [✔] doctest> accepts GHC options with --optghc [✔] doctest> prints a deprecation message for --optghc [✔] doctest> prints error message on invalid option [✔] doctest> prints verbose description of a specification [✔] doctest> prints verbose description of a property [✔] doctest> prints verbose error [✔] doctest> can deal with potentially problematic GHC options [✔] doctest> doctestWithResult doctest> on parse error doctest> aborts with (ExitFailure 1) [✔] doctest> prints a useful error message [✔] doctest> expandDirs doctest> expands a directory [✔] doctest> ignores files [✔] doctest> ignores random things [✔] doctest> Runner doctest> report doctest> when mode is interactive doctest> writes to stderr [✔] doctest> overwrites any intermediate output [✔] doctest> blank out intermediate output if necessary [✔] doctest> when mode is non-interactive doctest> writes to stderr [✔] doctest> report_ doctest> when mode is interactive doctest> writes intermediate output to stderr [✔] doctest> overwrites any intermediate output [✔] doctest> blank out intermediate output if necessary [✔] doctest> when mode is non-interactive doctest> is ignored [✔] doctest> does not influence a subsequent call to `report` [✔] doctest> does not require `report` to blank out any intermediate output [✔] doctest> Runner.Example doctest> mkResult doctest> returns Equal when output matches [✔] doctest> +++ OK, passed 100 tests. doctest> ignores trailing whitespace [✔] doctest> with WildCardLine doctest> matches zero lines [✔] doctest> matches first zero line [✔] doctest> matches final zero line [✔] doctest> matches an arbitrary number of lines [✔] doctest> matches an arbitrary number of lines (quickcheck) [✔] doctest> +++ OK, passed 100 tests. doctest> with WildCardChunk doctest> matches an arbitrary line chunk [✔] doctest> matches an arbitrary line chunk at end [✔] doctest> does not match at end [✔] doctest> does not match at start [✔] doctest> when output does not match doctest> constructs failure message [✔] doctest> constructs failure message for multi-line output [✔] doctest> when any output line contains "unsafe" characters doctest> uses show to format output lines [✔] doctest> insert caret after last matching character on different lengths [✔] doctest> insert caret after mismatching line for multi-line output [✔] doctest> insert caret after mismatching line with the longest match for multi-line wildcard pattern [✔] doctest> insert caret after longest match for wildcard [✔] doctest> show expanded pattern for long matches [✔] doctest> Util doctest> convertDosLineEndings doctest> converts CRLF to LF [✔] doctest> strips a trailing CR [✔] doctest> takeWhileEnd doctest> returns the longest suffix of elements that satisfy a given predicate [✔] doctest> doctest> Finished in 12.8396 seconds doctest> 198 examples, 0 failures doctest> Test suite spec: PASS doctest> Test suite logged to: dist/test/doctest-0.22.6-spec.log doctest> 1 of 1 test suites (1 of 1 test cases) passed. doctest> Running phase: haddockPhase doctest> Preprocessing test suite 'spec' for doctest-0.22.6.. doctest> Preprocessing library for doctest-0.22.6.. doctest> Running Haddock on library for doctest-0.22.6.. doctest> Warning: --source-* options are ignored when --hyperlinked-source is enabled. doctest> [ 1 of 25] Compiling Imports ( src/Imports.hs, nothing ) doctest> [ 2 of 25] Compiling GhcUtil ( src/GhcUtil.hs, nothing ) doctest> [ 3 of 25] Compiling Cabal.Paths ( src/Cabal/Paths.hs, nothing ) doctest> [ 4 of 25] Compiling Cabal.Options ( src/Cabal/Options.hs, nothing ) doctest> [ 5 of 25] Compiling Language.Haskell.GhciWrapper ( src/Language/Haskell/GhciWrapper.hs, nothing ) doctest> [ 6 of 25] Compiling Interpreter ( src/Interpreter.hs, nothing ) doctest> [ 7 of 25] Compiling Location ( src/Location.hs, nothing ) doctest> [ 8 of 25] Compiling PackageDBs ( src/PackageDBs.hs, nothing ) doctest> [ 9 of 25] Compiling Paths_doctest ( dist/build/autogen/Paths_doctest.hs, nothing ) doctest> [10 of 25] Compiling Info ( src/Info.hs, nothing ) doctest> [11 of 25] Compiling Options ( src/Options.hs, nothing ) doctest> [12 of 25] Compiling Cabal ( src/Cabal.hs, nothing ) doctest> [13 of 25] Compiling Test.DocTest.Internal.Cabal ( src/Test/DocTest/Internal/Cabal.hs, nothing ) doctest> [14 of 25] Compiling Test.DocTest.Internal.Location ( src/Test/DocTest/Internal/Location.hs, nothing ) doctest> [15 of 25] Compiling Util ( src/Util.hs, nothing ) doctest> [16 of 25] Compiling Extract ( src/Extract.hs, nothing ) doctest> [17 of 25] Compiling Test.DocTest.Internal.Extract ( src/Test/DocTest/Internal/Extract.hs, nothing ) doctest> [18 of 25] Compiling Parse ( src/Parse.hs, nothing ) doctest> [19 of 25] Compiling Test.DocTest.Internal.Parse ( src/Test/DocTest/Internal/Parse.hs, nothing ) doctest> [20 of 25] Compiling Runner.Example ( src/Runner/Example.hs, nothing ) doctest> [21 of 25] Compiling Property ( src/Property.hs, nothing ) doctest> [22 of 25] Compiling Runner ( src/Runner.hs, nothing ) doctest> [23 of 25] Compiling Run ( src/Run.hs, nothing ) doctest> [24 of 25] Compiling Test.DocTest.Internal.Run ( src/Test/DocTest/Internal/Run.hs, nothing ) doctest> [25 of 25] Compiling Test.DocTest ( src/Test/DocTest.hs, nothing ) doctest> Haddock coverage: doctest> Warning: Imports: Could not find documentation for exported module: Imports doctest> 0% ( 0 / 2) in 'Test.DocTest.Internal.Cabal' doctest> Missing documentation for: doctest> Module header doctest> doctest (src/Test/DocTest/Internal/Cabal.hs:10) doctest> 88% ( 8 / 9) in 'Test.DocTest.Internal.Location' doctest> Missing documentation for: doctest> Module header doctest> Warning: 'SomeException' is ambiguous. It is defined doctest> * in ‘GHC.Exception.Type’ doctest> * in ‘GHC.Exception.Type’ doctest> You may be able to disambiguate the identifier by qualifying it or doctest> by specifying the type/value namespace explicitly. doctest> Defaulting to the one defined in ‘GHC.Exception.Type’ doctest> 66% ( 2 / 3) in 'Test.DocTest.Internal.Extract' doctest> Missing documentation for: doctest> Module header doctest> 22% ( 2 / 9) in 'Test.DocTest.Internal.Parse' doctest> Missing documentation for: doctest> Module header doctest> DocTest (src/Parse.hs:29) doctest> Expression (src/Parse.hs:44) doctest> ExpectedResult (src/Parse.hs:45) doctest> ExpectedLine (src/Parse.hs:38) doctest> LineChunk (src/Parse.hs:32) doctest> parseModules (src/Parse.hs:60) doctest> 16% ( 2 / 12) in 'Test.DocTest.Internal.Run' doctest> Missing documentation for: doctest> Module header doctest> Result (src/Run.hs:137) doctest> Config (src/Options.hs:56) doctest> isSuccess (src/Run.hs:140) doctest> defaultConfig (src/Options.hs:65) doctest> doctestWithRepl (src/Run.hs:65) doctest> doctestWith (src/Run.hs:135) doctest> evaluateResult (src/Run.hs:143) doctest> doctestWithResult (src/Run.hs:146) doctest> runDocTests (src/Run.hs:156) doctest> 50% ( 1 / 2) in 'Test.DocTest' doctest> Missing documentation for: doctest> Module header doctest> Documentation created: dist/doc/html/doctest/, doctest> dist/doc/html/doctest/doctest.txt doctest> Preprocessing executable 'doctest' for doctest-0.22.6.. doctest> Running phase: installPhase doctest> Installing library in /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/doctest-0.22.6-1SxYZzGcAV168a12vQnyDt doctest> Installing executable doctest in /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/bin doctest> Warning: The directory doctest> /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/bin is not in the doctest> system search path. doctest> Running phase: fixupPhase doctest> shrinking RPATHs of ELF executables and libraries in /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6 doctest> shrinking /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/libHSdoctest-0.22.6-1SxYZzGcAV168a12vQnyDt-ghc9.8.4.so doctest> shrinking /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/bin/doctest doctest> checking for references to /build/ in /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6... doctest> patching script interpreter paths in /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6 doctest> stripping (with command strip and flags -S -p) in /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/lib /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/bin doctest> shrinking RPATHs of ELF executables and libraries in /nix/store/0wwwx3dc3sys0awjv0sv2z71lwb6j8kh-doctest-0.22.6-doc doctest> checking for references to /build/ in /nix/store/0wwwx3dc3sys0awjv0sv2z71lwb6j8kh-doctest-0.22.6-doc... doctest> patching script interpreter paths in /nix/store/0wwwx3dc3sys0awjv0sv2z71lwb6j8kh-doctest-0.22.6-doc doctest (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/0wwwx3dc3sys0awjv0sv2z71lwb6j8kh-doctest-0.22.6-doc /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6 doctest (post)> Pushing 2 paths (72 are already present) using zstd to cache sellout ⏳ doctest (post)> doctest (post)> Pushing /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6 (66.73 MiB) doctest (post)> Pushing /nix/store/0wwwx3dc3sys0awjv0sv2z71lwb6j8kh-doctest-0.22.6-doc (1.34 MiB) doctest (post)> doctest (post)> All done. doctest (post)> added 2 signatures doctest (post)> added 1 signatures doctest (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/0wwwx3dc3sys0awjv0sv2z71lwb6j8kh-doctest-0.22.6-doc /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6 doctest (post)> copying 2 paths... doctest (post)> copying path '/nix/store/0wwwx3dc3sys0awjv0sv2z71lwb6j8kh-doctest-0.22.6-doc' to 'https://cache.nix-ci.com'... doctest (post)> copying path '/nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6' to 'https://cache.nix-ci.com'... doctest (post)> copying 1 paths... doctest (post)> copying path '/nix/store/qpsr0jngfqji9wd533n4mxqkkdn84mzr-doctest-0.22.6.drv' to 'https://cache.nix-ci.com'... doctest (post)> added 0 signatures doctest (post)> added 0 signatures doctest (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/0wwwx3dc3sys0awjv0sv2z71lwb6j8kh-doctest-0.22.6-doc /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6 doctest (post)> copying 2 paths... doctest (post)> copying path '/nix/store/0wwwx3dc3sys0awjv0sv2z71lwb6j8kh-doctest-0.22.6-doc' to 'ssh-ng://worker.nix-ci.com'... doctest (post)> copying path '/nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6' to 'ssh-ng://worker.nix-ci.com'... doctest (post)> copying 1 paths... doctest (post)> copying path '/nix/store/qpsr0jngfqji9wd533n4mxqkkdn84mzr-doctest-0.22.6.drv' to 'ssh-ng://worker.nix-ci.com'... building '/nix/store/ksxhc25by0r8b14h5l1sgrgky01xacvn-no-recursion-0.3.0.0.drv'... building '/nix/store/646673qh9df9sglyca3dqg6fgvlp9nsx-vector-0.13.2.0.drv'... no-recursion> Running phase: setupCompilerEnvironmentPhase no-recursion> Build with /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4. vector> Running phase: setupCompilerEnvironmentPhase vector> Build with /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4. no-recursion> Running phase: unpackPhase no-recursion> unpacking source archive /nix/store/m17m98cfs3z832acdfkbis1jvgl60n38-source no-recursion> source root is source no-recursion> Running phase: patchPhase no-recursion> Running phase: compileBuildDriverPhase no-recursion> setupCompileFlags: -package-db=/build/tmp.HcZsxVJN1P/setup-package.conf.d -threaded no-recursion> [1 of 2] Compiling Main ( Setup.hs, /build/tmp.HcZsxVJN1P/Main.o ) no-recursion> [2 of 2] Linking Setup vector> Running phase: unpackPhase vector> unpacking source archive /nix/store/ysi2m95adzhn3nmggwppnxvmps3a93x3-vector-0.13.2.0.tar.gz vector> source root is vector-0.13.2.0 vector> setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file "vector-0.13.2.0/vector.cabal" vector> Running phase: patchPhase vector> Replace Cabal file with edited version from mirror://hackage/vector-0.13.2.0/revision/1.cabal. vector> Running phase: compileBuildDriverPhase vector> setupCompileFlags: -package-db=/build/tmp.MLw1SuCLLP/setup-package.conf.d -threaded vector> [1 of 2] Compiling Main ( Setup.hs, /build/tmp.MLw1SuCLLP/Main.o ) vector> [2 of 2] Linking Setup no-recursion> Running phase: updateAutotoolsGnuConfigScriptsPhase no-recursion> Running phase: configurePhase no-recursion> configureFlags: --verbose --prefix=/nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/91gbrqzszsln0x44krmxsqkrplw4wmjv-no-recursion-0.3.0.0-doc/share/doc/no-recursion-0.3.0.0 --with-gcc=gcc --package-db=/build/tmp.HcZsxVJN1P/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/vj3rmg6937p9icir6bazbdcb4xdnrg9j-ncurses-6.5/lib --extra-lib-dirs=/nix/store/0aaj6jbxclpwvrphggqz4vf5hg8360fr-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/vaix9m2syrilm7hv3690plsk35y0arwm-elfutils-0.192/lib --extra-lib-dirs=/nix/store/m9fycbkaairz8kampnsl7sx1aanvl0db-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/lib no-recursion> Using Parsec parser no-recursion> Configuring no-recursion-0.3.0.0... vector> Running phase: updateAutotoolsGnuConfigScriptsPhase vector> Running phase: configurePhase vector> configureFlags: --verbose --prefix=/nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --with-gcc=gcc --package-db=/build/tmp.MLw1SuCLLP/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --extra-lib-dirs=/nix/store/vj3rmg6937p9icir6bazbdcb4xdnrg9j-ncurses-6.5/lib --extra-lib-dirs=/nix/store/0aaj6jbxclpwvrphggqz4vf5hg8360fr-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/vaix9m2syrilm7hv3690plsk35y0arwm-elfutils-0.192/lib --extra-lib-dirs=/nix/store/m9fycbkaairz8kampnsl7sx1aanvl0db-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/lib vector> Using Parsec parser vector> Configuring vector-0.13.2.0... no-recursion> Flags chosen: noisy-deprecations=True vector> Flags chosen: boundschecks=True, internalchecks=False, unsafechecks=False, vector> wall=False vector> Dependency base >=4.9 && <4.22: using base-4.19.2.0 vector> Dependency deepseq >=1.1 && <1.6: using deepseq-1.5.1.0 vector> Dependency primitive >=0.6.4.0 && <0.10: using primitive-0.9.1.0 vector> Dependency vector-stream >=0.1 && <0.2: using vector-stream-0.1.0.1 vector> Dependency base: using base-4.19.2.0 vector> Dependency random >=1.2: using random-1.2.1.3 vector> Dependency tasty: using tasty-1.5.3 vector> Dependency vector: using vector-0.13.2.0 vector> Dependency QuickCheck >=2.9 && <2.16: using QuickCheck-2.14.3 vector> Dependency base >=4.5 && <5: using base-4.19.2.0 vector> Dependency base-orphans >=0.6: using base-orphans-0.9.3 vector> Dependency primitive: using primitive-0.9.1.0 vector> Dependency random: using random-1.2.1.3 vector> Dependency tasty: using tasty-1.5.3 vector> Dependency tasty-hunit: using tasty-hunit-0.10.2 vector> Dependency tasty-quickcheck: using tasty-quickcheck-0.11 vector> Dependency template-haskell: using template-haskell-2.21.0.0 vector> Dependency transformers >=0.2.0.0: using transformers-0.6.1.0 vector> Dependency vector: using vector-0.13.2.0 vector> Dependency QuickCheck >=2.9 && <2.16: using QuickCheck-2.14.3 vector> Dependency base >=4.5 && <5: using base-4.19.2.0 vector> Dependency base-orphans >=0.6: using base-orphans-0.9.3 vector> Dependency primitive: using primitive-0.9.1.0 vector> Dependency random: using random-1.2.1.3 vector> Dependency tasty: using tasty-1.5.3 vector> Dependency tasty-hunit: using tasty-hunit-0.10.2 vector> Dependency tasty-quickcheck: using tasty-quickcheck-0.11 vector> Dependency template-haskell: using template-haskell-2.21.0.0 vector> Dependency transformers >=0.2.0.0: using transformers-0.6.1.0 vector> Dependency vector: using vector-0.13.2.0 vector> Dependency base: using base-4.19.2.0 vector> Dependency doctest >=0.15 && <0.24: using doctest-0.22.6 vector> Dependency primitive >=0.6.4.0 && <0.10: using primitive-0.9.1.0 vector> Dependency vector: using vector-0.13.2.0 vector> Dependency base: using base-4.19.2.0 vector> Dependency primitive >=0.6.4.0 && <0.10: using primitive-0.9.1.0 vector> Dependency tasty: using tasty-1.5.3 vector> Dependency tasty-inspection-testing >=0.1: using vector> tasty-inspection-testing-0.2.1 vector> Dependency vector: using vector-0.13.2.0 no-recursion> Dependency base >=4.18.0 && <4.19 || >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || no-recursion> >=4.21.0 && <4.22: using base-4.19.2.0 no-recursion> Dependency ghc >=9.6.1 && <9.7 || >=9.8.1 && <9.9 || >=9.10.1 && <9.11 || no-recursion> >=9.12.1 && <9.13: using ghc-9.8.4 no-recursion> Dependency base >=4.18.0 && <4.19 || >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || no-recursion> >=4.21.0 && <4.22: using base-4.19.2.0 no-recursion> Dependency doctest >=0.21.1 && <0.22 || >=0.22.2 && <0.23 || >=0.24.0 && no-recursion> <0.25: using doctest-0.22.6 no-recursion> Dependency no-recursion: using no-recursion-0.3.0.0 no-recursion> Dependency base >=4.18.0 && <4.19 || >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || no-recursion> >=4.21.0 && <4.22: using base-4.19.2.0 no-recursion> Dependency no-recursion: using no-recursion-0.3.0.0 no-recursion> Dependency base >=4.18.0 && <4.19 || >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || no-recursion> >=4.21.0 && <4.22: using base-4.19.2.0 no-recursion> Dependency no-recursion: using no-recursion-0.3.0.0 no-recursion> Source component graph: no-recursion> component lib no-recursion> component test:annotations dependency lib no-recursion> component test:doctests dependency lib no-recursion> component test:no-ignore-annotations dependency lib no-recursion> Configured component graph: no-recursion> component no-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk no-recursion> include base-4.19.2.0-0fde no-recursion> include ghc-9.8.4-65e9 no-recursion> component no-recursion-0.3.0.0-1JtAqgCaPyOD8NQnohDjv7-annotations no-recursion> include base-4.19.2.0-0fde no-recursion> include no-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk no-recursion> component no-recursion-0.3.0.0-H3rHfCqcp0P8SqQnWNMUwF-doctests no-recursion> include base-4.19.2.0-0fde no-recursion> include doctest-0.22.6-1SxYZzGcAV168a12vQnyDt no-recursion> include no-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk no-recursion> component no-recursion-0.3.0.0-Bb8z9mlYaYM7t0tne3gQor-no-ignore-annotations no-recursion> include base-4.19.2.0-0fde no-recursion> include no-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk no-recursion> Linked component graph: no-recursion> unit no-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk no-recursion> include base-4.19.2.0-0fde no-recursion> include ghc-9.8.4-65e9 no-recursion> NoRecursion=no-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk:NoRecursion no-recursion> unit no-recursion-0.3.0.0-1JtAqgCaPyOD8NQnohDjv7-annotations no-recursion> include base-4.19.2.0-0fde no-recursion> include no-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk no-recursion> unit no-recursion-0.3.0.0-H3rHfCqcp0P8SqQnWNMUwF-doctests no-recursion> include base-4.19.2.0-0fde no-recursion> include doctest-0.22.6-1SxYZzGcAV168a12vQnyDt no-recursion> include no-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk no-recursion> unit no-recursion-0.3.0.0-Bb8z9mlYaYM7t0tne3gQor-no-ignore-annotations no-recursion> include base-4.19.2.0-0fde no-recursion> include no-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk no-recursion> Ready component graph: no-recursion> definite no-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk no-recursion> depends base-4.19.2.0-0fde no-recursion> depends ghc-9.8.4-65e9 no-recursion> definite no-recursion-0.3.0.0-Bb8z9mlYaYM7t0tne3gQor-no-ignore-annotations no-recursion> depends base-4.19.2.0-0fde no-recursion> depends no-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk no-recursion> definite no-recursion-0.3.0.0-H3rHfCqcp0P8SqQnWNMUwF-doctests no-recursion> depends base-4.19.2.0-0fde no-recursion> depends doctest-0.22.6-1SxYZzGcAV168a12vQnyDt no-recursion> depends no-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk no-recursion> definite no-recursion-0.3.0.0-1JtAqgCaPyOD8NQnohDjv7-annotations no-recursion> depends base-4.19.2.0-0fde no-recursion> depends no-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk no-recursion> Using Cabal-3.12.1.0 compiled by ghc-9.8 no-recursion> Using compiler: ghc-9.8.4 no-recursion> Using install prefix: no-recursion> /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0 no-recursion> Executables installed in: no-recursion> /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0/bin no-recursion> Libraries installed in: no-recursion> /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4-65e9/no-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk no-recursion> Dynamic Libraries installed in: no-recursion> /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4-65e9 no-recursion> Private executables installed in: no-recursion> /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0/libexec/x86_64-linux-ghc-9.8.4-65e9/no-recursion-0.3.0.0 no-recursion> Data files installed in: no-recursion> /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0/share/x86_64-linux-ghc-9.8.4-65e9/no-recursion-0.3.0.0 no-recursion> Documentation installed in: no-recursion> /nix/store/91gbrqzszsln0x44krmxsqkrplw4wmjv-no-recursion-0.3.0.0-doc/share/doc/no-recursion-0.3.0.0 no-recursion> Configuration files installed in: no-recursion> /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0/etc no-recursion> No alex found no-recursion> Using ar found on system at: no-recursion> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ar no-recursion> No c2hs found no-recursion> No cpphs found no-recursion> Using doctest version 0.22.6 found on system at: no-recursion> /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/bin/doctest no-recursion> Using gcc version 14.3.0 given by user at: no-recursion> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/gcc no-recursion> Using ghc version 9.8.4 found on system at: no-recursion> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc no-recursion> Using ghc-pkg version 9.8.4 found on system at: no-recursion> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc-pkg-9.8.4 no-recursion> No ghcjs found no-recursion> No ghcjs-pkg found no-recursion> No greencard found no-recursion> Using haddock version 2.30.0 found on system at: no-recursion> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/haddock-ghc-9.8.4 no-recursion> No happy found no-recursion> Using haskell-suite found on system at: haskell-suite-dummy-location no-recursion> Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location no-recursion> No hmake found no-recursion> Using hpc version 0.69 found on system at: no-recursion> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hpc-ghc-9.8.4 no-recursion> Using hsc2hs version 0.68.10 found on system at: no-recursion> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4 no-recursion> Using hscolour version 1.25 found on system at: no-recursion> /nix/store/fb7sllj82i2dv2ijivsz2abp0agz40p9-hscolour-1.25/bin/HsColour no-recursion> No jhc found no-recursion> Using ld found on system at: no-recursion> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ld.gold no-recursion> No pkg-config found no-recursion> Using runghc version 9.8.4 found on system at: no-recursion> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/runghc-9.8.4 no-recursion> Using strip version 2.44 found on system at: no-recursion> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/strip no-recursion> Using tar found on system at: no-recursion> /nix/store/76df6j9sq1ar58id3y3v4rkijany1wxp-gnutar-1.35/bin/tar no-recursion> No uhc found vector> Source component graph: vector> component lib vector> component lib:benchmarks-O2 dependency lib vector> component test:vector-doctest dependency lib vector> component test:vector-inspection dependency lib vector> component test:vector-tests-O0 dependency lib vector> component test:vector-tests-O2 dependency lib vector> Configured component graph: vector> component vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> include base-4.19.2.0-0fde vector> include deepseq-1.5.1.0-7f97 vector> include primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq vector> include vector-stream-0.1.0.1-1ArDOuabiccI208zpeB9Zv vector> component vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2 vector> include base-4.19.2.0-0fde vector> include random-1.2.1.3-KGZDfCTowDgJLZ8SS9n703 vector> include tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 vector> include vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> component vector-0.13.2.0-F8sEnT9QefbDMdZWKOMKZt-vector-doctest vector> include base-4.19.2.0-0fde vector> include doctest-0.22.6-1SxYZzGcAV168a12vQnyDt vector> include primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq vector> include vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> component vector-0.13.2.0-HDMf4xbVX6o3s0g5c50SXN-vector-inspection vector> include base-4.19.2.0-0fde vector> include primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq vector> include tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 vector> include tasty-inspection-testing-0.2.1-LFjEz035qHFEbv0KeSKJiX vector> include vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> component vector-0.13.2.0-GRgK9AM3EHABO89nlPRwGP-vector-tests-O0 vector> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi vector> include base-4.19.2.0-0fde vector> include base-orphans-0.9.3-HQcqw3C6hz5FrbRxPh3iYw vector> include primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq vector> include random-1.2.1.3-KGZDfCTowDgJLZ8SS9n703 vector> include tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 vector> include tasty-hunit-0.10.2-GvqyVBRVmj03GFrvo7llW5 vector> include tasty-quickcheck-0.11-8ASWrIW2G5gKRpKoKDr6x vector> include template-haskell-2.21.0.0-8a5d vector> include transformers-0.6.1.0-f128 vector> include vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> component vector-0.13.2.0-D7AQUQBgxiM1nhQiTXrCWQ-vector-tests-O2 vector> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi vector> include base-4.19.2.0-0fde vector> include base-orphans-0.9.3-HQcqw3C6hz5FrbRxPh3iYw vector> include primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq vector> include random-1.2.1.3-KGZDfCTowDgJLZ8SS9n703 vector> include tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 vector> include tasty-hunit-0.10.2-GvqyVBRVmj03GFrvo7llW5 vector> include tasty-quickcheck-0.11-8ASWrIW2G5gKRpKoKDr6x vector> include template-haskell-2.21.0.0-8a5d vector> include transformers-0.6.1.0-f128 vector> include vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> Linked component graph: vector> unit vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> include base-4.19.2.0-0fde vector> include deepseq-1.5.1.0-7f97 vector> include primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq vector> include vector-stream-0.1.0.1-1ArDOuabiccI208zpeB9Zv vector> Data.Vector=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector,Data.Vector.Fusion.Bundle=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Fusion.Bundle,Data.Vector.Fusion.Bundle.Monadic=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Fusion.Bundle.Monadic,Data.Vector.Fusion.Bundle.Size=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Fusion.Bundle.Size,Data.Vector.Fusion.Stream.Monadic=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Fusion.Stream.Monadic,Data.Vector.Fusion.Util=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Fusion.Util,Data.Vector.Generic=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Generic,Data.Vector.Generic.Base=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Generic.Base,Data.Vector.Generic.Mutable=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Generic.Mutable,Data.Vector.Generic.Mutable.Base=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Generic.Mutable.Base,Data.Vector.Generic.New=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Generic.New,Data.Vector.Internal.Check=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Internal.Check,Data.Vector.Mutable=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Mutable,Data.Vector.Primitive=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Primitive,Data.Vector.Primitive.Mutable=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Primitive.Mutable,Data.Vector.Storable=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Storable,Data.Vector.Storable.Internal=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Storable.Internal,Data.Vector.Storable.Mutable=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Storable.Mutable,Data.Vector.Strict=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Strict,Data.Vector.Strict.Mutable=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Strict.Mutable,Data.Vector.Unboxed=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Unboxed,Data.Vector.Unboxed.Base=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Unboxed.Base,Data.Vector.Unboxed.Mutable=vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9:Data.Vector.Unboxed.Mutable vector> unit vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2 vector> include base-4.19.2.0-0fde vector> include random-1.2.1.3-KGZDfCTowDgJLZ8SS9n703 vector> include tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 vector> include vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> Bench.Vector.Algo.AwShCC=vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2:Bench.Vector.Algo.AwShCC,Bench.Vector.Algo.FindIndexR=vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2:Bench.Vector.Algo.FindIndexR,Bench.Vector.Algo.HybCC=vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2:Bench.Vector.Algo.HybCC,Bench.Vector.Algo.Leaffix=vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2:Bench.Vector.Algo.Leaffix,Bench.Vector.Algo.ListRank=vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2:Bench.Vector.Algo.ListRank,Bench.Vector.Algo.MutableSet=vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2:Bench.Vector.Algo.MutableSet,Bench.Vector.Algo.NextPermutation=vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2:Bench.Vector.Algo.NextPermutation,Bench.Vector.Algo.Quickhull=vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2:Bench.Vector.Algo.Quickhull,Bench.Vector.Algo.Rootfix=vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2:Bench.Vector.Algo.Rootfix,Bench.Vector.Algo.Spectral=vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2:Bench.Vector.Algo.Spectral,Bench.Vector.Algo.Tridiag=vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2:Bench.Vector.Algo.Tridiag,Bench.Vector.Tasty=vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2:Bench.Vector.Tasty,Bench.Vector.TestData.Graph=vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2:Bench.Vector.TestData.Graph,Bench.Vector.TestData.ParenTree=vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2:Bench.Vector.TestData.ParenTree vector> unit vector-0.13.2.0-F8sEnT9QefbDMdZWKOMKZt-vector-doctest vector> include base-4.19.2.0-0fde vector> include doctest-0.22.6-1SxYZzGcAV168a12vQnyDt vector> include primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq vector> include vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> unit vector-0.13.2.0-HDMf4xbVX6o3s0g5c50SXN-vector-inspection vector> include base-4.19.2.0-0fde vector> include primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq vector> include tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 vector> include tasty-inspection-testing-0.2.1-LFjEz035qHFEbv0KeSKJiX vector> include vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> unit vector-0.13.2.0-GRgK9AM3EHABO89nlPRwGP-vector-tests-O0 vector> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi vector> include base-4.19.2.0-0fde vector> include base-orphans-0.9.3-HQcqw3C6hz5FrbRxPh3iYw vector> include primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq vector> include random-1.2.1.3-KGZDfCTowDgJLZ8SS9n703 vector> include tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 vector> include tasty-hunit-0.10.2-GvqyVBRVmj03GFrvo7llW5 vector> include tasty-quickcheck-0.11-8ASWrIW2G5gKRpKoKDr6x vector> include template-haskell-2.21.0.0-8a5d vector> include transformers-0.6.1.0-f128 vector> include vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> unit vector-0.13.2.0-D7AQUQBgxiM1nhQiTXrCWQ-vector-tests-O2 vector> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi vector> include base-4.19.2.0-0fde vector> include base-orphans-0.9.3-HQcqw3C6hz5FrbRxPh3iYw vector> include primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq vector> include random-1.2.1.3-KGZDfCTowDgJLZ8SS9n703 vector> include tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 vector> include tasty-hunit-0.10.2-GvqyVBRVmj03GFrvo7llW5 vector> include tasty-quickcheck-0.11-8ASWrIW2G5gKRpKoKDr6x vector> include template-haskell-2.21.0.0-8a5d vector> include transformers-0.6.1.0-f128 vector> include vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> Ready component graph: vector> definite vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> depends base-4.19.2.0-0fde vector> depends deepseq-1.5.1.0-7f97 vector> depends primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq vector> depends vector-stream-0.1.0.1-1ArDOuabiccI208zpeB9Zv vector> definite vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2 vector> depends base-4.19.2.0-0fde vector> depends random-1.2.1.3-KGZDfCTowDgJLZ8SS9n703 vector> depends tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 vector> depends vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> definite vector-0.13.2.0-HDMf4xbVX6o3s0g5c50SXN-vector-inspection vector> depends base-4.19.2.0-0fde vector> depends primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq vector> depends tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 vector> depends tasty-inspection-testing-0.2.1-LFjEz035qHFEbv0KeSKJiX vector> depends vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> definite vector-0.13.2.0-GRgK9AM3EHABO89nlPRwGP-vector-tests-O0 vector> depends QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi vector> depends base-4.19.2.0-0fde vector> depends base-orphans-0.9.3-HQcqw3C6hz5FrbRxPh3iYw vector> depends primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq vector> depends random-1.2.1.3-KGZDfCTowDgJLZ8SS9n703 vector> depends tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 vector> depends tasty-hunit-0.10.2-GvqyVBRVmj03GFrvo7llW5 vector> depends tasty-quickcheck-0.11-8ASWrIW2G5gKRpKoKDr6x vector> depends template-haskell-2.21.0.0-8a5d vector> depends transformers-0.6.1.0-f128 vector> depends vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> definite vector-0.13.2.0-F8sEnT9QefbDMdZWKOMKZt-vector-doctest vector> depends base-4.19.2.0-0fde vector> depends doctest-0.22.6-1SxYZzGcAV168a12vQnyDt vector> depends primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq vector> depends vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> definite vector-0.13.2.0-D7AQUQBgxiM1nhQiTXrCWQ-vector-tests-O2 vector> depends QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi vector> depends base-4.19.2.0-0fde vector> depends base-orphans-0.9.3-HQcqw3C6hz5FrbRxPh3iYw vector> depends primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq vector> depends random-1.2.1.3-KGZDfCTowDgJLZ8SS9n703 vector> depends tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 vector> depends tasty-hunit-0.10.2-GvqyVBRVmj03GFrvo7llW5 vector> depends tasty-quickcheck-0.11-8ASWrIW2G5gKRpKoKDr6x vector> depends template-haskell-2.21.0.0-8a5d vector> depends transformers-0.6.1.0-f128 vector> depends vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> Using Cabal-3.10.3.0 compiled by ghc-9.8 vector> Using compiler: ghc-9.8.4 vector> Using install prefix: vector> /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0 vector> Executables installed in: vector> /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0/bin vector> Libraries installed in: vector> /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> Dynamic Libraries installed in: vector> /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4 vector> Private executables installed in: vector> /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0/libexec/x86_64-linux-ghc-9.8.4/vector-0.13.2.0 vector> Data files installed in: vector> /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0/share/x86_64-linux-ghc-9.8.4/vector-0.13.2.0 vector> Documentation installed in: vector> /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0/share/doc/x86_64-linux-ghc-9.8.4/vector-0.13.2.0 vector> Configuration files installed in: vector> /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0/etc vector> No alex found vector> Using ar found on system at: vector> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ar vector> No c2hs found vector> No cpphs found vector> Using doctest version 0.22.6 found on system at: vector> /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/bin/doctest vector> Using gcc version 14.3.0 given by user at: vector> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/gcc vector> Using ghc version 9.8.4 found on system at: vector> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc vector> Using ghc-pkg version 9.8.4 found on system at: vector> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc-pkg-9.8.4 vector> No ghcjs found vector> No ghcjs-pkg found vector> No greencard found vector> Using haddock version 2.30.0 found on system at: vector> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/haddock-ghc-9.8.4 vector> No happy found vector> Using haskell-suite found on system at: haskell-suite-dummy-location vector> Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location vector> No hmake found vector> Using hpc version 0.69 found on system at: vector> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hpc-ghc-9.8.4 vector> Using hsc2hs version 0.68.10 found on system at: vector> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4 vector> Using hscolour version 1.25 found on system at: vector> /nix/store/fb7sllj82i2dv2ijivsz2abp0agz40p9-hscolour-1.25/bin/HsColour vector> No jhc found vector> Using ld found on system at: vector> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ld.gold vector> No pkg-config found vector> Using runghc version 9.8.4 found on system at: vector> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/runghc-9.8.4 vector> Using strip version 2.44 found on system at: vector> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/strip vector> Using tar found on system at: vector> /nix/store/76df6j9sq1ar58id3y3v4rkijany1wxp-gnutar-1.35/bin/tar vector> No uhc found no-recursion> Running phase: buildPhase no-recursion> Preprocessing library for no-recursion-0.3.0.0... no-recursion> Building library for no-recursion-0.3.0.0... no-recursion> [1 of 2] Compiling PluginUtils ( src/PluginUtils.hs, dist/build/PluginUtils.o, dist/build/PluginUtils.dyn_o ) vector> Running phase: buildPhase vector> Preprocessing library for vector-0.13.2.0.. vector> Building library for vector-0.13.2.0.. no-recursion> [2 of 2] Compiling NoRecursion ( src/NoRecursion.hs, dist/build/NoRecursion.o, dist/build/NoRecursion.dyn_o ) vector> [ 1 of 23] Compiling Data.Vector.Fusion.Stream.Monadic ( src/Data/Vector/Fusion/Stream/Monadic.hs, dist/build/Data/Vector/Fusion/Stream/Monadic.o, dist/build/Data/Vector/Fusion/Stream/Monadic.dyn_o ) vector> [ 2 of 23] Compiling Data.Vector.Fusion.Util ( src/Data/Vector/Fusion/Util.hs, dist/build/Data/Vector/Fusion/Util.o, dist/build/Data/Vector/Fusion/Util.dyn_o ) vector> [ 3 of 23] Compiling Data.Vector.Fusion.Bundle.Size ( src/Data/Vector/Fusion/Bundle/Size.hs, dist/build/Data/Vector/Fusion/Bundle/Size.o, dist/build/Data/Vector/Fusion/Bundle/Size.dyn_o ) vector> [ 4 of 23] Compiling Data.Vector.Generic.Mutable.Base ( src/Data/Vector/Generic/Mutable/Base.hs, dist/build/Data/Vector/Generic/Mutable/Base.o, dist/build/Data/Vector/Generic/Mutable/Base.dyn_o ) vector> [ 5 of 23] Compiling Data.Vector.Generic.Base ( src/Data/Vector/Generic/Base.hs, dist/build/Data/Vector/Generic/Base.o, dist/build/Data/Vector/Generic/Base.dyn_o ) vector> [ 6 of 23] Compiling Data.Vector.Internal.Check ( src/Data/Vector/Internal/Check.hs, dist/build/Data/Vector/Internal/Check.o, dist/build/Data/Vector/Internal/Check.dyn_o ) vector> [ 7 of 23] Compiling Data.Vector.Fusion.Bundle.Monadic ( src/Data/Vector/Fusion/Bundle/Monadic.hs, dist/build/Data/Vector/Fusion/Bundle/Monadic.o, dist/build/Data/Vector/Fusion/Bundle/Monadic.dyn_o ) no-recursion> [1 of 2] Compiling PluginUtils ( src/PluginUtils.hs, dist/build/PluginUtils.p_o ) no-recursion> [2 of 2] Compiling NoRecursion ( src/NoRecursion.hs, dist/build/NoRecursion.p_o ) no-recursion> Preprocessing test suite 'no-ignore-annotations' for no-recursion-0.3.0.0... no-recursion> Building test suite 'no-ignore-annotations' for no-recursion-0.3.0.0... no-recursion> [1 of 2] Compiling Test.IgnoreDefaultImpls ( tests/no-ignore/Test/IgnoreDefaultImpls.hs, dist/build/no-ignore-annotations/no-ignore-annotations-tmp/Test/IgnoreDefaultImpls.o ) no-recursion> [2 of 2] Compiling Main ( tests/no-ignore/test.hs, dist/build/no-ignore-annotations/no-ignore-annotations-tmp/Main.o ) no-recursion> [3 of 3] Linking dist/build/no-ignore-annotations/no-ignore-annotations vector> [ 8 of 23] Compiling Data.Vector.Fusion.Bundle ( src/Data/Vector/Fusion/Bundle.hs, dist/build/Data/Vector/Fusion/Bundle.o, dist/build/Data/Vector/Fusion/Bundle.dyn_o ) no-recursion> Preprocessing test suite 'doctests' for no-recursion-0.3.0.0... no-recursion> Building test suite 'doctests' for no-recursion-0.3.0.0... no-recursion> [1 of 2] Compiling Build_doctests ( dist/build/doctests/autogen/Build_doctests.hs, dist/build/doctests/doctests-tmp/Build_doctests.o ) no-recursion> [2 of 2] Compiling Main ( tests/doctests.hs, dist/build/doctests/doctests-tmp/Main.o ) no-recursion> [3 of 3] Linking dist/build/doctests/doctests vector> [ 9 of 23] Compiling Data.Vector.Generic.Mutable ( src/Data/Vector/Generic/Mutable.hs, dist/build/Data/Vector/Generic/Mutable.o, dist/build/Data/Vector/Generic/Mutable.dyn_o ) no-recursion> Preprocessing test suite 'annotations' for no-recursion-0.3.0.0... no-recursion> Building test suite 'annotations' for no-recursion-0.3.0.0... no-recursion> [1 of 6] Compiling Test.AllowRecursion ( tests/ignore/Test/AllowRecursion.hs, dist/build/annotations/annotations-tmp/Test/AllowRecursion.o ) no-recursion> [2 of 6] Compiling Test.AnnModule ( tests/ignore/Test/AnnModule.hs, dist/build/annotations/annotations-tmp/Test/AnnModule.o ) no-recursion> [3 of 6] Compiling Test.AnnName ( tests/ignore/Test/AnnName.hs, dist/build/annotations/annotations-tmp/Test/AnnName.o ) no-recursion> [4 of 6] Compiling Test.IgnoreDefaultImpls ( tests/ignore/Test/IgnoreDefaultImpls.hs, dist/build/annotations/annotations-tmp/Test/IgnoreDefaultImpls.o ) no-recursion> [5 of 6] Compiling Test.UnannName ( tests/ignore/Test/UnannName.hs, dist/build/annotations/annotations-tmp/Test/UnannName.o ) no-recursion> [6 of 6] Compiling Main ( tests/ignore/test.hs, dist/build/annotations/annotations-tmp/Main.o ) no-recursion> [7 of 7] Linking dist/build/annotations/annotations no-recursion> Running phase: checkPhase no-recursion> Running 3 test suites... no-recursion> Test suite no-ignore-annotations: RUNNING... no-recursion> Test suite no-ignore-annotations: PASS no-recursion> Test suite logged to: dist/test/no-recursion-0.3.0.0-no-ignore-annotations.log no-recursion> Test suite doctests: RUNNING... vector> [10 of 23] Compiling Data.Vector.Generic.New ( src/Data/Vector/Generic/New.hs, dist/build/Data/Vector/Generic/New.o, dist/build/Data/Vector/Generic/New.dyn_o ) vector> [11 of 23] Compiling Data.Vector.Generic ( src/Data/Vector/Generic.hs, dist/build/Data/Vector/Generic.o, dist/build/Data/Vector/Generic.dyn_o ) no-recursion> Examples: 0 Tried: 0 Errors: 0 Failures: 0 no-recursion> Test suite doctests: PASS no-recursion> Test suite logged to: dist/test/no-recursion-0.3.0.0-doctests.log no-recursion> Test suite annotations: RUNNING... no-recursion> Test suite annotations: PASS no-recursion> Test suite logged to: dist/test/no-recursion-0.3.0.0-annotations.log no-recursion> 3 of 3 test suites (3 of 3 test cases) passed. no-recursion> Running phase: haddockPhase no-recursion> Preprocessing library for no-recursion-0.3.0.0... no-recursion> Running Haddock on library for no-recursion-0.3.0.0... no-recursion> [1 of 2] Compiling PluginUtils ( src/PluginUtils.hs, nothing ) no-recursion> [2 of 2] Compiling NoRecursion ( src/NoRecursion.hs, nothing ) no-recursion> Haddock coverage: no-recursion> Warning: 'fst' is out of scope. no-recursion> If you qualify the identifier, haddock can try to link it anyway. no-recursion> Warning: ':' is out of scope. no-recursion> If you qualify the identifier, haddock can try to link it anyway. no-recursion> Warning: 'Opts' is ambiguous. It is defined no-recursion> * at src/NoRecursion.hs:50:13 no-recursion> * at src/NoRecursion.hs:50:1 no-recursion> You may be able to disambiguate the identifier by qualifying it or no-recursion> by specifying the type/value namespace explicitly. no-recursion> Defaulting to the one defined at src/NoRecursion.hs:50:1 no-recursion> 100% ( 2 / 2) in 'NoRecursion' vector> [12 of 23] Compiling Data.Vector.Mutable ( src/Data/Vector/Mutable.hs, dist/build/Data/Vector/Mutable.o, dist/build/Data/Vector/Mutable.dyn_o ) vector> [13 of 23] Compiling Data.Vector ( src/Data/Vector.hs, dist/build/Data/Vector.o, dist/build/Data/Vector.dyn_o ) no-recursion> Documentation created: dist/doc/html/no-recursion/, no-recursion> dist/doc/html/no-recursion/no-recursion.txt no-recursion> Preprocessing test suite 'no-ignore-annotations' for no-recursion-0.3.0.0... no-recursion> Preprocessing test suite 'doctests' for no-recursion-0.3.0.0... no-recursion> Preprocessing test suite 'annotations' for no-recursion-0.3.0.0... no-recursion> Running phase: installPhase no-recursion> Installing library in /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4-65e9/no-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk no-recursion> Running phase: fixupPhase no-recursion> shrinking RPATHs of ELF executables and libraries in /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0 no-recursion> shrinking /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4-65e9/libHSno-recursion-0.3.0.0-3xLmCEIiYoQ4v0y5DL7Byk-ghc9.8.4.so no-recursion> checking for references to /build/ in /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0... no-recursion> patching script interpreter paths in /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0 no-recursion> stripping (with command strip and flags -S -p) in /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0/lib no-recursion> shrinking RPATHs of ELF executables and libraries in /nix/store/91gbrqzszsln0x44krmxsqkrplw4wmjv-no-recursion-0.3.0.0-doc no-recursion> checking for references to /build/ in /nix/store/91gbrqzszsln0x44krmxsqkrplw4wmjv-no-recursion-0.3.0.0-doc... no-recursion> patching script interpreter paths in /nix/store/91gbrqzszsln0x44krmxsqkrplw4wmjv-no-recursion-0.3.0.0-doc no-recursion (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/91gbrqzszsln0x44krmxsqkrplw4wmjv-no-recursion-0.3.0.0-doc /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0 no-recursion (post)> Pushing 2 paths (66 are already present) using zstd to cache sellout ⏳ no-recursion (post)> no-recursion (post)> Pushing /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0 (533.98 KiB) no-recursion (post)> Pushing /nix/store/91gbrqzszsln0x44krmxsqkrplw4wmjv-no-recursion-0.3.0.0-doc (337.12 KiB) no-recursion (post)> no-recursion (post)> All done. no-recursion (post)> added 2 signatures no-recursion (post)> added 1 signatures no-recursion (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/91gbrqzszsln0x44krmxsqkrplw4wmjv-no-recursion-0.3.0.0-doc /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0 no-recursion (post)> copying 2 paths... no-recursion (post)> copying path '/nix/store/91gbrqzszsln0x44krmxsqkrplw4wmjv-no-recursion-0.3.0.0-doc' to 'https://cache.nix-ci.com'... no-recursion (post)> copying path '/nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0' to 'https://cache.nix-ci.com'... no-recursion (post)> copying 1 paths... no-recursion (post)> copying path '/nix/store/ksxhc25by0r8b14h5l1sgrgky01xacvn-no-recursion-0.3.0.0.drv' to 'https://cache.nix-ci.com'... no-recursion (post)> added 0 signatures no-recursion (post)> added 0 signatures no-recursion (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/91gbrqzszsln0x44krmxsqkrplw4wmjv-no-recursion-0.3.0.0-doc /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0 no-recursion (post)> copying 2 paths... no-recursion (post)> copying path '/nix/store/91gbrqzszsln0x44krmxsqkrplw4wmjv-no-recursion-0.3.0.0-doc' to 'ssh-ng://worker.nix-ci.com'... no-recursion (post)> copying path '/nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0' to 'ssh-ng://worker.nix-ci.com'... no-recursion (post)> copying 1 paths... no-recursion (post)> copying path '/nix/store/ksxhc25by0r8b14h5l1sgrgky01xacvn-no-recursion-0.3.0.0.drv' to 'ssh-ng://worker.nix-ci.com'... vector> [14 of 23] Compiling Data.Vector.Primitive.Mutable ( src/Data/Vector/Primitive/Mutable.hs, dist/build/Data/Vector/Primitive/Mutable.o, dist/build/Data/Vector/Primitive/Mutable.dyn_o ) vector> [15 of 23] Compiling Data.Vector.Primitive ( src/Data/Vector/Primitive.hs, dist/build/Data/Vector/Primitive.o, dist/build/Data/Vector/Primitive.dyn_o ) vector> [16 of 23] Compiling Data.Vector.Storable.Internal ( src/Data/Vector/Storable/Internal.hs, dist/build/Data/Vector/Storable/Internal.o, dist/build/Data/Vector/Storable/Internal.dyn_o ) vector> [17 of 23] Compiling Data.Vector.Storable.Mutable ( src/Data/Vector/Storable/Mutable.hs, dist/build/Data/Vector/Storable/Mutable.o, dist/build/Data/Vector/Storable/Mutable.dyn_o ) vector> [18 of 23] Compiling Data.Vector.Storable ( src/Data/Vector/Storable.hs, dist/build/Data/Vector/Storable.o, dist/build/Data/Vector/Storable.dyn_o ) vector> [19 of 23] Compiling Data.Vector.Strict.Mutable ( src/Data/Vector/Strict/Mutable.hs, dist/build/Data/Vector/Strict/Mutable.o, dist/build/Data/Vector/Strict/Mutable.dyn_o ) vector> [20 of 23] Compiling Data.Vector.Strict ( src/Data/Vector/Strict.hs, dist/build/Data/Vector/Strict.o, dist/build/Data/Vector/Strict.dyn_o ) vector> [21 of 23] Compiling Data.Vector.Unboxed.Base ( src/Data/Vector/Unboxed/Base.hs, dist/build/Data/Vector/Unboxed/Base.o, dist/build/Data/Vector/Unboxed/Base.dyn_o ) vector> [22 of 23] Compiling Data.Vector.Unboxed ( src/Data/Vector/Unboxed.hs, dist/build/Data/Vector/Unboxed.o, dist/build/Data/Vector/Unboxed.dyn_o ) vector> [23 of 23] Compiling Data.Vector.Unboxed.Mutable ( src/Data/Vector/Unboxed/Mutable.hs, dist/build/Data/Vector/Unboxed/Mutable.o, dist/build/Data/Vector/Unboxed/Mutable.dyn_o ) vector> [ 1 of 23] Compiling Data.Vector.Fusion.Stream.Monadic ( src/Data/Vector/Fusion/Stream/Monadic.hs, dist/build/Data/Vector/Fusion/Stream/Monadic.p_o ) vector> [ 2 of 23] Compiling Data.Vector.Fusion.Util ( src/Data/Vector/Fusion/Util.hs, dist/build/Data/Vector/Fusion/Util.p_o ) vector> [ 3 of 23] Compiling Data.Vector.Fusion.Bundle.Size ( src/Data/Vector/Fusion/Bundle/Size.hs, dist/build/Data/Vector/Fusion/Bundle/Size.p_o ) vector> [ 4 of 23] Compiling Data.Vector.Generic.Mutable.Base ( src/Data/Vector/Generic/Mutable/Base.hs, dist/build/Data/Vector/Generic/Mutable/Base.p_o ) vector> [ 5 of 23] Compiling Data.Vector.Generic.Base ( src/Data/Vector/Generic/Base.hs, dist/build/Data/Vector/Generic/Base.p_o ) vector> [ 6 of 23] Compiling Data.Vector.Internal.Check ( src/Data/Vector/Internal/Check.hs, dist/build/Data/Vector/Internal/Check.p_o ) vector> [ 7 of 23] Compiling Data.Vector.Fusion.Bundle.Monadic ( src/Data/Vector/Fusion/Bundle/Monadic.hs, dist/build/Data/Vector/Fusion/Bundle/Monadic.p_o ) vector> [ 8 of 23] Compiling Data.Vector.Fusion.Bundle ( src/Data/Vector/Fusion/Bundle.hs, dist/build/Data/Vector/Fusion/Bundle.p_o ) vector> [ 9 of 23] Compiling Data.Vector.Generic.Mutable ( src/Data/Vector/Generic/Mutable.hs, dist/build/Data/Vector/Generic/Mutable.p_o ) vector> [10 of 23] Compiling Data.Vector.Generic.New ( src/Data/Vector/Generic/New.hs, dist/build/Data/Vector/Generic/New.p_o ) vector> [11 of 23] Compiling Data.Vector.Generic ( src/Data/Vector/Generic.hs, dist/build/Data/Vector/Generic.p_o ) vector> [12 of 23] Compiling Data.Vector.Mutable ( src/Data/Vector/Mutable.hs, dist/build/Data/Vector/Mutable.p_o ) vector> [13 of 23] Compiling Data.Vector ( src/Data/Vector.hs, dist/build/Data/Vector.p_o ) vector> [14 of 23] Compiling Data.Vector.Primitive.Mutable ( src/Data/Vector/Primitive/Mutable.hs, dist/build/Data/Vector/Primitive/Mutable.p_o ) vector> [15 of 23] Compiling Data.Vector.Primitive ( src/Data/Vector/Primitive.hs, dist/build/Data/Vector/Primitive.p_o ) vector> [16 of 23] Compiling Data.Vector.Storable.Internal ( src/Data/Vector/Storable/Internal.hs, dist/build/Data/Vector/Storable/Internal.p_o ) vector> [17 of 23] Compiling Data.Vector.Storable.Mutable ( src/Data/Vector/Storable/Mutable.hs, dist/build/Data/Vector/Storable/Mutable.p_o ) vector> [18 of 23] Compiling Data.Vector.Storable ( src/Data/Vector/Storable.hs, dist/build/Data/Vector/Storable.p_o ) vector> [19 of 23] Compiling Data.Vector.Strict.Mutable ( src/Data/Vector/Strict/Mutable.hs, dist/build/Data/Vector/Strict/Mutable.p_o ) vector> [20 of 23] Compiling Data.Vector.Strict ( src/Data/Vector/Strict.hs, dist/build/Data/Vector/Strict.p_o ) vector> [21 of 23] Compiling Data.Vector.Unboxed.Base ( src/Data/Vector/Unboxed/Base.hs, dist/build/Data/Vector/Unboxed/Base.p_o ) vector> [22 of 23] Compiling Data.Vector.Unboxed ( src/Data/Vector/Unboxed.hs, dist/build/Data/Vector/Unboxed.p_o ) vector> [23 of 23] Compiling Data.Vector.Unboxed.Mutable ( src/Data/Vector/Unboxed/Mutable.hs, dist/build/Data/Vector/Unboxed/Mutable.p_o ) vector> Preprocessing library 'benchmarks-O2' for vector-0.13.2.0.. vector> Building library 'benchmarks-O2' for vector-0.13.2.0.. vector> [ 1 of 14] Compiling Bench.Vector.Algo.AwShCC ( benchlib/Bench/Vector/Algo/AwShCC.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/AwShCC.o, dist/build/benchmarks-O2/Bench/Vector/Algo/AwShCC.dyn_o ) vector> [ 2 of 14] Compiling Bench.Vector.Algo.FindIndexR ( benchlib/Bench/Vector/Algo/FindIndexR.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/FindIndexR.o, dist/build/benchmarks-O2/Bench/Vector/Algo/FindIndexR.dyn_o ) vector> [ 3 of 14] Compiling Bench.Vector.Algo.HybCC ( benchlib/Bench/Vector/Algo/HybCC.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/HybCC.o, dist/build/benchmarks-O2/Bench/Vector/Algo/HybCC.dyn_o ) vector> [ 4 of 14] Compiling Bench.Vector.Algo.Leaffix ( benchlib/Bench/Vector/Algo/Leaffix.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Leaffix.o, dist/build/benchmarks-O2/Bench/Vector/Algo/Leaffix.dyn_o ) vector> [ 5 of 14] Compiling Bench.Vector.Algo.ListRank ( benchlib/Bench/Vector/Algo/ListRank.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/ListRank.o, dist/build/benchmarks-O2/Bench/Vector/Algo/ListRank.dyn_o ) vector> [ 6 of 14] Compiling Bench.Vector.Algo.MutableSet ( benchlib/Bench/Vector/Algo/MutableSet.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/MutableSet.o, dist/build/benchmarks-O2/Bench/Vector/Algo/MutableSet.dyn_o ) vector> [ 7 of 14] Compiling Bench.Vector.Algo.NextPermutation ( benchlib/Bench/Vector/Algo/NextPermutation.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/NextPermutation.o, dist/build/benchmarks-O2/Bench/Vector/Algo/NextPermutation.dyn_o ) vector> [ 8 of 14] Compiling Bench.Vector.Algo.Quickhull ( benchlib/Bench/Vector/Algo/Quickhull.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Quickhull.o, dist/build/benchmarks-O2/Bench/Vector/Algo/Quickhull.dyn_o ) vector> [ 9 of 14] Compiling Bench.Vector.Algo.Rootfix ( benchlib/Bench/Vector/Algo/Rootfix.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Rootfix.o, dist/build/benchmarks-O2/Bench/Vector/Algo/Rootfix.dyn_o ) vector> [10 of 14] Compiling Bench.Vector.Algo.Spectral ( benchlib/Bench/Vector/Algo/Spectral.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Spectral.o, dist/build/benchmarks-O2/Bench/Vector/Algo/Spectral.dyn_o ) vector> [11 of 14] Compiling Bench.Vector.Algo.Tridiag ( benchlib/Bench/Vector/Algo/Tridiag.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Tridiag.o, dist/build/benchmarks-O2/Bench/Vector/Algo/Tridiag.dyn_o ) vector> [12 of 14] Compiling Bench.Vector.Tasty ( benchlib/Bench/Vector/Tasty.hs, dist/build/benchmarks-O2/Bench/Vector/Tasty.o, dist/build/benchmarks-O2/Bench/Vector/Tasty.dyn_o ) vector> [13 of 14] Compiling Bench.Vector.TestData.Graph ( benchlib/Bench/Vector/TestData/Graph.hs, dist/build/benchmarks-O2/Bench/Vector/TestData/Graph.o, dist/build/benchmarks-O2/Bench/Vector/TestData/Graph.dyn_o ) vector> [14 of 14] Compiling Bench.Vector.TestData.ParenTree ( benchlib/Bench/Vector/TestData/ParenTree.hs, dist/build/benchmarks-O2/Bench/Vector/TestData/ParenTree.o, dist/build/benchmarks-O2/Bench/Vector/TestData/ParenTree.dyn_o ) vector> [ 1 of 14] Compiling Bench.Vector.Algo.AwShCC ( benchlib/Bench/Vector/Algo/AwShCC.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/AwShCC.p_o ) vector> [ 2 of 14] Compiling Bench.Vector.Algo.FindIndexR ( benchlib/Bench/Vector/Algo/FindIndexR.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/FindIndexR.p_o ) vector> [ 3 of 14] Compiling Bench.Vector.Algo.HybCC ( benchlib/Bench/Vector/Algo/HybCC.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/HybCC.p_o ) vector> [ 4 of 14] Compiling Bench.Vector.Algo.Leaffix ( benchlib/Bench/Vector/Algo/Leaffix.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Leaffix.p_o ) vector> [ 5 of 14] Compiling Bench.Vector.Algo.ListRank ( benchlib/Bench/Vector/Algo/ListRank.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/ListRank.p_o ) vector> [ 6 of 14] Compiling Bench.Vector.Algo.MutableSet ( benchlib/Bench/Vector/Algo/MutableSet.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/MutableSet.p_o ) vector> [ 7 of 14] Compiling Bench.Vector.Algo.NextPermutation ( benchlib/Bench/Vector/Algo/NextPermutation.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/NextPermutation.p_o ) vector> [ 8 of 14] Compiling Bench.Vector.Algo.Quickhull ( benchlib/Bench/Vector/Algo/Quickhull.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Quickhull.p_o ) vector> [ 9 of 14] Compiling Bench.Vector.Algo.Rootfix ( benchlib/Bench/Vector/Algo/Rootfix.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Rootfix.p_o ) vector> [10 of 14] Compiling Bench.Vector.Algo.Spectral ( benchlib/Bench/Vector/Algo/Spectral.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Spectral.p_o ) vector> [11 of 14] Compiling Bench.Vector.Algo.Tridiag ( benchlib/Bench/Vector/Algo/Tridiag.hs, dist/build/benchmarks-O2/Bench/Vector/Algo/Tridiag.p_o ) vector> [12 of 14] Compiling Bench.Vector.Tasty ( benchlib/Bench/Vector/Tasty.hs, dist/build/benchmarks-O2/Bench/Vector/Tasty.p_o ) vector> [13 of 14] Compiling Bench.Vector.TestData.Graph ( benchlib/Bench/Vector/TestData/Graph.hs, dist/build/benchmarks-O2/Bench/Vector/TestData/Graph.p_o ) vector> [14 of 14] Compiling Bench.Vector.TestData.ParenTree ( benchlib/Bench/Vector/TestData/ParenTree.hs, dist/build/benchmarks-O2/Bench/Vector/TestData/ParenTree.p_o ) vector> Preprocessing test suite 'vector-inspection' for vector-0.13.2.0.. vector> Building test suite 'vector-inspection' for vector-0.13.2.0.. vector> [1 of 4] Compiling Inspect ( tests-inspect/Inspect.hs, dist/build/vector-inspection/vector-inspection-tmp/Inspect.o ) vector> [2 of 4] Compiling Inspect.DerivingVia.OtherFoo ( tests-inspect/Inspect/DerivingVia/OtherFoo.hs, dist/build/vector-inspection/vector-inspection-tmp/Inspect/DerivingVia/OtherFoo.o, dist/build/vector-inspection/vector-inspection-tmp/Inspect/DerivingVia/OtherFoo.dyn_o ) vector> [3 of 4] Compiling Inspect.DerivingVia ( tests-inspect/Inspect/DerivingVia.hs, dist/build/vector-inspection/vector-inspection-tmp/Inspect/DerivingVia.o ) vector> [4 of 4] Compiling Main ( tests-inspect/main.hs, dist/build/vector-inspection/vector-inspection-tmp/Main.o ) vector> [5 of 5] Linking dist/build/vector-inspection/vector-inspection vector> Preprocessing test suite 'vector-tests-O0' for vector-0.13.2.0.. vector> Building test suite 'vector-tests-O0' for vector-0.13.2.0.. vector> [ 1 of 12] Compiling Boilerplater ( tests/Boilerplater.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Boilerplater.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Boilerplater.dyn_o ) vector> [ 2 of 12] Compiling Tests.Vector.UnitTests ( tests/Tests/Vector/UnitTests.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/UnitTests.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/UnitTests.dyn_o ) vector> [ 3 of 12] Compiling Utilities ( tests/Utilities.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Utilities.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Utilities.dyn_o ) vector> vector> tests/Utilities.hs:244:17: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘tail’ vector> (imported from Prelude, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 244 | postscanl f z = tail . scanl f z vector> | ^^^^ vector> vector> tests/Utilities.hs:245:16: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘tail’ vector> (imported from Prelude, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 245 | prescanr f z = tail . scanr f z vector> | ^^^^ vector> [ 4 of 12] Compiling Tests.Vector.Property ( tests/Tests/Vector/Property.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Property.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Property.dyn_o ) vector> vector> tests/Tests/Vector/Property.hs:243:68: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘head’ vector> (imported from Data.List, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 243 | prop_head :: P (v a -> a) = not . V.null ===> V.head `eq` head vector> | ^^^^ vector> vector> tests/Tests/Vector/Property.hs:256:76: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘head’ vector> (imported from Data.List, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 256 | prop_unsafeHead :: P (v a -> a) = not . V.null ===> V.unsafeHead `eq` head vector> | ^^^^ vector> vector> tests/Tests/Vector/Property.hs:272:65: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘tail’ vector> (imported from Data.List, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 272 | prop_tail :: P (v a -> v a) = not . V.null ===> V.tail `eq` tail vector> | ^^^^ vector> vector> tests/Tests/Vector/Property.hs:439:26: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘head’ vector> (imported from Data.List, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 439 | = V.uniq `eq` (map head . group) vector> | ^^^^ vector> [ 5 of 12] Compiling Tests.Vector.Unboxed ( tests/Tests/Vector/Unboxed.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Unboxed.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Unboxed.dyn_o ) vector> [ 6 of 12] Compiling Tests.Vector.Strict ( tests/Tests/Vector/Strict.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Strict.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Strict.dyn_o ) vector> [ 7 of 12] Compiling Tests.Vector.Storable ( tests/Tests/Vector/Storable.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Storable.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Storable.dyn_o ) vector> [ 8 of 12] Compiling Tests.Vector.Primitive ( tests/Tests/Vector/Primitive.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Primitive.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Primitive.dyn_o ) vector> [ 9 of 12] Compiling Tests.Vector.Boxed ( tests/Tests/Vector/Boxed.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Boxed.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Vector/Boxed.dyn_o ) vector> [10 of 12] Compiling Tests.Move ( tests/Tests/Move.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Move.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Move.dyn_o ) vector> [11 of 12] Compiling Tests.Bundle ( tests/Tests/Bundle.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Bundle.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Tests/Bundle.dyn_o ) vector> vector> tests/Tests/Bundle.hs:76:77: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘head’ vector> (imported from Prelude, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 76 | prop_head :: P (S.Bundle v a -> a) = not . S.null ===> S.head `eq` head vector> | ^^^^ vector> vector> tests/Tests/Bundle.hs:92:83: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘tail’ vector> (imported from Prelude, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 92 | prop_tail :: P (S.Bundle v a -> S.Bundle v a) = not . S.null ===> S.tail `eq` tail vector> | ^^^^ vector> [12 of 12] Compiling Main ( tests/Main.hs, dist/build/vector-tests-O0/vector-tests-O0-tmp/Main.o, dist/build/vector-tests-O0/vector-tests-O0-tmp/Main.dyn_o ) vector> [13 of 13] Linking dist/build/vector-tests-O0/vector-tests-O0 vector> Preprocessing test suite 'vector-doctest' for vector-0.13.2.0.. vector> Building test suite 'vector-doctest' for vector-0.13.2.0.. vector> [1 of 1] Compiling Main ( tests/doctests.hs, dist/build/vector-doctest/vector-doctest-tmp/Main.o ) vector> [2 of 2] Linking dist/build/vector-doctest/vector-doctest vector> Preprocessing test suite 'vector-tests-O2' for vector-0.13.2.0.. vector> Building test suite 'vector-tests-O2' for vector-0.13.2.0.. vector> [ 1 of 12] Compiling Boilerplater ( tests/Boilerplater.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Boilerplater.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Boilerplater.dyn_o ) vector> [ 2 of 12] Compiling Tests.Vector.UnitTests ( tests/Tests/Vector/UnitTests.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/UnitTests.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/UnitTests.dyn_o ) vector> [ 3 of 12] Compiling Utilities ( tests/Utilities.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Utilities.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Utilities.dyn_o ) vector> vector> tests/Utilities.hs:244:17: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘tail’ vector> (imported from Prelude, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 244 | postscanl f z = tail . scanl f z vector> | ^^^^ vector> vector> tests/Utilities.hs:245:16: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘tail’ vector> (imported from Prelude, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 245 | prescanr f z = tail . scanr f z vector> | ^^^^ vector> [ 4 of 12] Compiling Tests.Vector.Property ( tests/Tests/Vector/Property.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Property.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Property.dyn_o ) vector> vector> tests/Tests/Vector/Property.hs:243:68: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘head’ vector> (imported from Data.List, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 243 | prop_head :: P (v a -> a) = not . V.null ===> V.head `eq` head vector> | ^^^^ vector> vector> tests/Tests/Vector/Property.hs:256:76: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘head’ vector> (imported from Data.List, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 256 | prop_unsafeHead :: P (v a -> a) = not . V.null ===> V.unsafeHead `eq` head vector> | ^^^^ vector> vector> tests/Tests/Vector/Property.hs:272:65: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘tail’ vector> (imported from Data.List, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 272 | prop_tail :: P (v a -> v a) = not . V.null ===> V.tail `eq` tail vector> | ^^^^ vector> vector> tests/Tests/Vector/Property.hs:439:26: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘head’ vector> (imported from Data.List, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 439 | = V.uniq `eq` (map head . group) vector> | ^^^^ vector> [ 5 of 12] Compiling Tests.Vector.Unboxed ( tests/Tests/Vector/Unboxed.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Unboxed.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Unboxed.dyn_o ) vector> [ 6 of 12] Compiling Tests.Vector.Strict ( tests/Tests/Vector/Strict.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Strict.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Strict.dyn_o ) vector> [ 7 of 12] Compiling Tests.Vector.Storable ( tests/Tests/Vector/Storable.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Storable.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Storable.dyn_o ) vector> [ 8 of 12] Compiling Tests.Vector.Primitive ( tests/Tests/Vector/Primitive.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Primitive.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Primitive.dyn_o ) vector> [ 9 of 12] Compiling Tests.Vector.Boxed ( tests/Tests/Vector/Boxed.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Boxed.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Vector/Boxed.dyn_o ) vector> [10 of 12] Compiling Tests.Move ( tests/Tests/Move.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Move.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Move.dyn_o ) vector> [11 of 12] Compiling Tests.Bundle ( tests/Tests/Bundle.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Bundle.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Tests/Bundle.dyn_o ) vector> vector> tests/Tests/Bundle.hs:76:77: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘head’ vector> (imported from Prelude, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 76 | prop_head :: P (S.Bundle v a -> a) = not . S.null ===> S.head `eq` head vector> | ^^^^ vector> vector> tests/Tests/Bundle.hs:92:83: warning: [GHC-63394] [-Wx-partial] vector> In the use of ‘tail’ vector> (imported from Prelude, but defined in GHC.List): vector> "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." vector> | vector> 92 | prop_tail :: P (S.Bundle v a -> S.Bundle v a) = not . S.null ===> S.tail `eq` tail vector> | ^^^^ vector> [12 of 12] Compiling Main ( tests/Main.hs, dist/build/vector-tests-O2/vector-tests-O2-tmp/Main.o, dist/build/vector-tests-O2/vector-tests-O2-tmp/Main.dyn_o ) vector> [13 of 13] Linking dist/build/vector-tests-O2/vector-tests-O2 vector> buildPhase completed in 1 minutes 58 seconds vector> Running phase: checkPhase vector> Running 2 test suites... vector> Test suite vector-tests-O0: RUNNING... vector> toplevel vector> Data.Vector.Fusion.Bundle vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> index: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> extract: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> scanl1': OK vector> +++ OK, passed 100 tests; 19 discarded. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> and: OK vector> +++ OK, passed 100 tests. vector> or: OK vector> +++ OK, passed 100 tests. vector> Tests.Vector.Boxed vector> Bool vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> replicateM: OK vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.04s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 15 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 10 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> concat: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK vector> +++ OK, passed 100 tests. vector> fmap: OK vector> +++ OK, passed 100 tests. vector> return: OK vector> +++ OK, passed 100 tests. vector> bind: OK vector> +++ OK, passed 100 tests. vector> mzip: OK vector> +++ OK, passed 100 tests. vector> munzip: OK vector> +++ OK, passed 100 tests. vector> applicative_pure: OK vector> +++ OK, passed 100 tests. vector> applicative_appl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> alternative_empty: OK vector> +++ OK, passed 1 test. vector> alternative_or: OK vector> +++ OK, passed 100 tests. vector> sequence: OK (0.02s) vector> +++ OK, passed 100 tests. vector> sequence_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> and: OK vector> +++ OK, passed 100 tests. vector> or: OK vector> +++ OK, passed 100 tests. vector> Int vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 14 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK vector> +++ OK, passed 100 tests. vector> fmap: OK vector> +++ OK, passed 100 tests. vector> return: OK vector> +++ OK, passed 100 tests. vector> bind: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mzip: OK vector> +++ OK, passed 100 tests. vector> munzip: OK vector> +++ OK, passed 100 tests. vector> applicative_pure: OK vector> +++ OK, passed 100 tests. vector> applicative_appl: OK (0.03s) vector> +++ OK, passed 100 tests. vector> alternative_empty: OK vector> +++ OK, passed 1 test. vector> alternative_or: OK vector> +++ OK, passed 100 tests. vector> sequence: OK (0.02s) vector> +++ OK, passed 100 tests. vector> sequence_: OK vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> unstream vector> unstream == vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstream == vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> Tests.Vector.Primitive vector> Int vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.04s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 17 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 16 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> Double vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> replicateM: OK vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> constructN: OK (0.01s) vector> +++ OK, passed 100 tests. vector> constructrN: OK (0.01s) vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.05s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> foldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldl1': OK (0.01s) vector> +++ OK, passed 100 tests; 13 discarded. vector> foldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldr1: OK (0.01s) vector> +++ OK, passed 100 tests; 13 discarded. vector> foldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldr1': OK (0.01s) vector> +++ OK, passed 100 tests; 19 discarded. vector> ifoldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> prescanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl1: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> prescanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> prescanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr1: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr1': OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests. vector> unstream vector> unstream == vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstream == vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> Tests.Vector.Storable vector> Data.Vector.Storable.Vector (Int) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> generateM: OK vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 20 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 23 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> Data.Vector.Storable.Vector (Double) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.04s) vector> +++ OK, passed 100 tests. vector> constructN: OK (0.01s) vector> +++ OK, passed 100 tests. vector> constructrN: OK (0.01s) vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK (0.01s) vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.04s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK (0.01s) vector> +++ OK, passed 100 tests; 13 discarded. vector> foldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldr1: OK (0.01s) vector> +++ OK, passed 100 tests; 17 discarded. vector> foldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 16 discarded. vector> ifoldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> unstream vector> unstream == vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstream == vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> Tests.Vector.Strict vector> Bool vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> replicateM: OK vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 18 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 11 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 10 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> concat: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK vector> +++ OK, passed 100 tests. vector> fmap: OK vector> +++ OK, passed 100 tests. vector> return: OK vector> +++ OK, passed 100 tests. vector> bind: OK vector> +++ OK, passed 100 tests. vector> mzip: OK vector> +++ OK, passed 100 tests. vector> munzip: OK vector> +++ OK, passed 100 tests. vector> applicative_pure: OK vector> +++ OK, passed 100 tests. vector> applicative_appl: OK vector> +++ OK, passed 100 tests. vector> alternative_empty: OK vector> +++ OK, passed 1 test. vector> alternative_or: OK vector> +++ OK, passed 100 tests. vector> sequence: OK (0.02s) vector> +++ OK, passed 100 tests. vector> sequence_: OK vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> and: OK vector> +++ OK, passed 100 tests. vector> or: OK vector> +++ OK, passed 100 tests. vector> Int vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 23 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 24 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 17 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 23 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> fmap: OK vector> +++ OK, passed 100 tests. vector> return: OK vector> +++ OK, passed 100 tests. vector> bind: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mzip: OK vector> +++ OK, passed 100 tests. vector> munzip: OK vector> +++ OK, passed 100 tests. vector> applicative_pure: OK vector> +++ OK, passed 100 tests. vector> applicative_appl: OK (0.04s) vector> +++ OK, passed 100 tests. vector> alternative_empty: OK vector> +++ OK, passed 1 test. vector> alternative_or: OK vector> +++ OK, passed 100 tests. vector> sequence: OK (0.02s) vector> +++ OK, passed 100 tests. vector> sequence_: OK vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 10 discarded. vector> unstream vector> unstream == vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstream == vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> Tests.Vector.Unboxed vector> () vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> generateM: OK vector> +++ OK, passed 100 tests. vector> replicateM: OK vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 23 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 11 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 19 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK vector> +++ OK, passed 100 tests. vector> mut_forM_: OK vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> (Bool) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.06s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 23 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 15 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK vector> +++ OK, passed 100 tests. vector> mut_forM_: OK vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 10 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> and: OK vector> +++ OK, passed 100 tests. vector> or: OK vector> +++ OK, passed 100 tests. vector> (Int) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 10 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 23 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 17 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 13 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> (Float) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 24 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> replicateM: OK vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.04s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.04s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.05s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 16 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 13 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 2 discarded. vector> (Double) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> constructN: OK (0.01s) vector> +++ OK, passed 100 tests. vector> constructrN: OK (0.01s) vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK (0.01s) vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.04s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> foldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldl1': OK (0.01s) vector> +++ OK, passed 100 tests; 18 discarded. vector> foldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldr1: OK (0.01s) vector> +++ OK, passed 100 tests; 21 discarded. vector> foldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldr1': OK (0.01s) vector> +++ OK, passed 100 tests; 16 discarded. vector> ifoldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl1: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> prescanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 1 discarded. vector> (Int,Bool) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 25 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.04s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.04s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 12 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 17 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.03s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> (Int,Bool,Int) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 25 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.04s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK (0.01s) vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.05s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.04s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.04s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.04s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.05s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK (0.01s) vector> +++ OK, passed 100 tests; 14 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 17 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.04s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.05s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.04s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.04s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.04s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.05s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> unstream vector> unstream == vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstream == vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> Data.Vector.Storable.Vector Alignment vector> Aligned Double: OK vector> Aligned Int: OK vector> Regression tests vector> enumFromTo crash #188 vector> Word8: OK vector> Word16: OK vector> Word32: OK vector> Word64: OK vector> Word: OK vector> Int8: OK vector> Int16: OK vector> Int32: OK vector> Int64: OK vector> Int: OK vector> Char: OK vector> Negative tests vector> slice out of bounds #257 vector> Boxed vector> Negative ix: OK vector> Negative size: OK vector> Negative ix and size: OK vector> Too large ix: OK vector> Too large size: OK vector> Too large ix and size: OK vector> Overflow: OK vector> OutOfMemory: OK vector> Primitive vector> Negative ix: OK vector> Negative size: OK vector> Negative ix and size: OK vector> Too large ix: OK vector> Too large size: OK vector> Too large ix and size: OK vector> Overflow: OK vector> OutOfMemory: OK vector> Storable vector> Negative ix: OK vector> Negative size: OK vector> Negative ix and size: OK vector> Too large ix: OK vector> Too large size: OK vector> Too large ix and size: OK vector> Overflow: OK vector> OutOfMemory: OK vector> Unboxed vector> Negative ix: OK vector> Negative size: OK vector> Negative ix and size: OK vector> Too large ix: OK vector> Too large size: OK vector> Too large ix and size: OK vector> Overflow: OK vector> OutOfMemory: OK vector> take #282 vector> Boxed: OK vector> Primitive: OK vector> Storable: OK vector> Unboxed: OK vector> Data.Vector vector> MonadFix: OK vector> toFromArray: OK vector> toFromArraySlice: OK vector> toFromArraySliceUnsafe: OK vector> toFromMutableArray: OK vector> Data.Vector.Mutable (Move): OK vector> +++ OK, passed 100 tests; 21 discarded. vector> Data.Vector.Primitive.Mutable (Move): OK vector> +++ OK, passed 100 tests; 16 discarded. vector> Data.Vector.Unboxed.Mutable (Move): OK vector> +++ OK, passed 100 tests; 12 discarded. vector> Data.Vector.Storable.Mutable (Move): OK vector> +++ OK, passed 100 tests; 21 discarded. vector> Data.Vector.Generic.Mutable (nextPermutation): OK vector> +++ OK, passed 1 test. vector> Data.Vector.Generic.Mutable (prevPermutation): OK (0.01s) vector> +++ OK, passed 1 test. vector> Data.Vector.Generic.Mutable (nextPermutation then prevPermutation = id): OK vector> +++ OK, passed 100 tests. vector> Data.Vector.Generic.Mutable (prevPermutation then nextPermutation = id): OK vector> +++ OK, passed 100 tests. vector> vector> All 2808 tests passed (12.18s) vector> Test suite vector-tests-O0: PASS vector> Test suite logged to: dist/test/vector-0.13.2.0-vector-tests-O0.log vector> Test suite vector-tests-O2: RUNNING... vector> toplevel vector> Data.Vector.Fusion.Bundle vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> index: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> extract: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 17 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests; 25 discarded. vector> scanl1': OK vector> +++ OK, passed 100 tests; 15 discarded. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> and: OK vector> +++ OK, passed 100 tests. vector> or: OK vector> +++ OK, passed 100 tests. vector> Tests.Vector.Boxed vector> Bool vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 24 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> replicateM: OK vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 16 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 14 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK vector> +++ OK, passed 100 tests. vector> mut_forM_: OK vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 23 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 23 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 24 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> concat: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK vector> +++ OK, passed 100 tests. vector> fmap: OK vector> +++ OK, passed 100 tests. vector> return: OK vector> +++ OK, passed 100 tests. vector> bind: OK vector> +++ OK, passed 100 tests. vector> mzip: OK vector> +++ OK, passed 100 tests. vector> munzip: OK vector> +++ OK, passed 100 tests. vector> applicative_pure: OK vector> +++ OK, passed 100 tests. vector> applicative_appl: OK vector> +++ OK, passed 100 tests. vector> alternative_empty: OK vector> +++ OK, passed 1 test. vector> alternative_or: OK vector> +++ OK, passed 100 tests. vector> sequence: OK (0.01s) vector> +++ OK, passed 100 tests. vector> sequence_: OK vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> and: OK vector> +++ OK, passed 100 tests. vector> or: OK vector> +++ OK, passed 100 tests. vector> Int vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> replicateM: OK vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 21 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 18 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> concat: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK vector> +++ OK, passed 100 tests. vector> fmap: OK vector> +++ OK, passed 100 tests. vector> return: OK vector> +++ OK, passed 100 tests. vector> bind: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mzip: OK vector> +++ OK, passed 100 tests. vector> munzip: OK vector> +++ OK, passed 100 tests. vector> applicative_pure: OK vector> +++ OK, passed 100 tests. vector> applicative_appl: OK (0.02s) vector> +++ OK, passed 100 tests. vector> alternative_empty: OK vector> +++ OK, passed 1 test. vector> alternative_or: OK vector> +++ OK, passed 100 tests. vector> sequence: OK (0.03s) vector> +++ OK, passed 100 tests. vector> sequence_: OK vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> unstream vector> unstream == vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstream == vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> Tests.Vector.Primitive vector> Int vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 12 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 15 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> Double vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> replicateM: OK vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK vector> +++ OK, passed 100 tests. vector> constructN: OK (0.01s) vector> +++ OK, passed 100 tests. vector> constructrN: OK (0.01s) vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK (0.01s) vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.04s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> foldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldl1': OK (0.01s) vector> +++ OK, passed 100 tests; 13 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK (0.01s) vector> +++ OK, passed 100 tests; 15 discarded. vector> foldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldr1': OK (0.01s) vector> +++ OK, passed 100 tests; 17 discarded. vector> ifoldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.04s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> prescanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl1: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl1': OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr1': OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.04s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 10 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 4 discarded. vector> unstream vector> unstream == vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstream == vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> Tests.Vector.Storable vector> Data.Vector.Storable.Vector (Int) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> replicateM: OK vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 16 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 12 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 25 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 10 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> Data.Vector.Storable.Vector (Double) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> replicateM: OK vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK vector> +++ OK, passed 100 tests. vector> constructN: OK (0.01s) vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK (0.01s) vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.04s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK (0.01s) vector> +++ OK, passed 100 tests; 17 discarded. vector> foldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 18 discarded. vector> foldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldr1: OK (0.01s) vector> +++ OK, passed 100 tests; 21 discarded. vector> foldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldr1': OK (0.01s) vector> +++ OK, passed 100 tests; 18 discarded. vector> ifoldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> prescanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> prescanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr1: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests. vector> unstream vector> unstream == vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstream == vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> Tests.Vector.Strict vector> Bool vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 23 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK vector> +++ OK, passed 100 tests. vector> generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> replicateM: OK vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 20 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 14 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK vector> +++ OK, passed 100 tests. vector> mut_forM_: OK vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 24 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> concat: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK vector> +++ OK, passed 100 tests. vector> fmap: OK vector> +++ OK, passed 100 tests. vector> return: OK vector> +++ OK, passed 100 tests. vector> bind: OK vector> +++ OK, passed 100 tests. vector> mzip: OK vector> +++ OK, passed 100 tests. vector> munzip: OK vector> +++ OK, passed 100 tests. vector> applicative_pure: OK vector> +++ OK, passed 100 tests. vector> applicative_appl: OK vector> +++ OK, passed 100 tests. vector> alternative_empty: OK vector> +++ OK, passed 1 test. vector> alternative_or: OK vector> +++ OK, passed 100 tests. vector> sequence: OK (0.02s) vector> +++ OK, passed 100 tests. vector> sequence_: OK vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> and: OK vector> +++ OK, passed 100 tests. vector> or: OK vector> +++ OK, passed 100 tests. vector> Int vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 10 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 18 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 18 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> concat: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK vector> +++ OK, passed 100 tests. vector> fmap: OK vector> +++ OK, passed 100 tests. vector> return: OK vector> +++ OK, passed 100 tests. vector> bind: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mzip: OK vector> +++ OK, passed 100 tests. vector> munzip: OK vector> +++ OK, passed 100 tests. vector> applicative_pure: OK vector> +++ OK, passed 100 tests. vector> applicative_appl: OK (0.03s) vector> +++ OK, passed 100 tests. vector> alternative_empty: OK vector> +++ OK, passed 1 test. vector> alternative_or: OK vector> +++ OK, passed 100 tests. vector> sequence: OK (0.03s) vector> +++ OK, passed 100 tests. vector> sequence_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> unstream vector> unstream == vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstream == vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> Tests.Vector.Unboxed vector> () vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 26 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK vector> +++ OK, passed 100 tests. vector> generateM: OK vector> +++ OK, passed 100 tests. vector> replicateM: OK vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 14 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK vector> +++ OK, passed 100 tests. vector> mut_forM_: OK vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> (Bool) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> generateM: OK vector> +++ OK, passed 100 tests. vector> replicateM: OK vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 12 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK vector> +++ OK, passed 100 tests. vector> mut_forM_: OK vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> and: OK vector> +++ OK, passed 100 tests. vector> or: OK vector> +++ OK, passed 100 tests. vector> (Int) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK vector> +++ OK, passed 100 tests. vector> generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> replicateM: OK vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 16 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 13 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.01s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> (Float) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> constructN: OK (0.01s) vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 11 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 14 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 1 discarded. vector> (Double) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 10 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 24 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK vector> +++ OK, passed 100 tests. vector> generateM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> constructN: OK (0.01s) vector> +++ OK, passed 100 tests. vector> constructrN: OK (0.01s) vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK (0.01s) vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.04s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 20 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK (0.01s) vector> +++ OK, passed 100 tests; 15 discarded. vector> foldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> foldr1': OK (0.01s) vector> +++ OK, passed 100 tests; 18 discarded. vector> ifoldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> prescanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> prescanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> postscanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr1: OK (0.01s) vector> +++ OK, passed 100 tests. vector> scanr1': OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> iscanr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldl': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.02s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> sum: OK vector> +++ OK, passed 100 tests. vector> product: OK vector> +++ OK, passed 100 tests. vector> enumFromN: OK vector> +++ OK, passed 100 tests. vector> enumFromThenN: OK vector> +++ OK, passed 100 tests. vector> enumFromTo: OK vector> +++ OK, passed 100 tests. vector> enumFromThenTo: OK vector> +++ OK, passed 100 tests; 2 discarded. vector> (Int,Bool) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.03s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.03s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 16 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 21 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 11 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.03s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> (Int,Bool,Int) vector> fromList.toList == id: OK vector> +++ OK, passed 100 tests. vector> toList.fromList == id: OK vector> +++ OK, passed 100 tests. vector> unstream.stream == id: OK vector> +++ OK, passed 100 tests. vector> stream.unstream == id: OK vector> +++ OK, passed 100 tests. vector> eq: OK vector> +++ OK, passed 100 tests. vector> length: OK vector> +++ OK, passed 100 tests. vector> null: OK vector> +++ OK, passed 100 tests. vector> index: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> safeIndex: OK vector> +++ OK, passed 100 tests. vector> head: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> last: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> unsafeIndex: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> unsafeHead: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> unsafeLast: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> slice: OK vector> +++ OK, passed 100 tests. vector> init: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> tail: OK vector> +++ OK, passed 100 tests; 12 discarded. vector> take: OK vector> +++ OK, passed 100 tests. vector> drop: OK vector> +++ OK, passed 100 tests. vector> splitAt: OK vector> +++ OK, passed 100 tests. vector> empty: OK vector> +++ OK, passed 1 test. vector> singleton: OK vector> +++ OK, passed 100 tests. vector> replicate: OK vector> +++ OK, passed 100 tests. vector> generate: OK vector> +++ OK, passed 100 tests. vector> iterateN: OK vector> +++ OK, passed 100 tests. vector> iterateNM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> replicateM: OK (0.01s) vector> +++ OK, passed 100 tests. vector> create: OK vector> +++ OK, passed 100 tests. vector> createT: OK vector> +++ OK, passed 100 tests. vector> unfoldr: OK vector> +++ OK, passed 100 tests. vector> unfoldrN: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactN: OK vector> +++ OK, passed 100 tests. vector> unfoldrM: OK vector> +++ OK, passed 100 tests. vector> unfoldrNM: OK vector> +++ OK, passed 100 tests. vector> unfoldrExactNM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> constructN: OK vector> +++ OK, passed 100 tests. vector> constructrN: OK vector> +++ OK, passed 100 tests. vector> cons: OK vector> +++ OK, passed 100 tests. vector> snoc: OK vector> +++ OK, passed 100 tests. vector> append: OK vector> +++ OK, passed 100 tests. vector> concat: OK (0.05s) vector> +++ OK, passed 100 tests. vector> force: OK vector> +++ OK, passed 100 tests. vector> upd: OK vector> +++ OK, passed 100 tests. vector> accum: OK vector> +++ OK, passed 100 tests. vector> reverse: OK vector> +++ OK, passed 100 tests. vector> backpermute: OK vector> +++ OK, passed 100 tests. vector> map: OK vector> +++ OK, passed 100 tests. vector> imap: OK vector> +++ OK, passed 100 tests. vector> concatMap: OK vector> +++ OK, passed 100 tests. vector> mapM: OK vector> +++ OK, passed 100 tests. vector> mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> forM: OK vector> +++ OK, passed 100 tests. vector> forM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> imapM: OK vector> +++ OK, passed 100 tests. vector> imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> zipWith: OK vector> +++ OK, passed 100 tests. vector> zipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWith: OK vector> +++ OK, passed 100 tests. vector> izipWith3: OK vector> +++ OK, passed 100 tests. vector> izipWithM: OK vector> +++ OK, passed 100 tests. vector> izipWithM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> zipWithM: OK vector> +++ OK, passed 100 tests. vector> zipWithM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> filter: OK vector> +++ OK, passed 100 tests. vector> ifilter: OK vector> +++ OK, passed 100 tests. vector> filterM: OK (0.04s) vector> +++ OK, passed 100 tests. vector> uniq: OK vector> +++ OK, passed 100 tests. vector> mapMaybe: OK vector> +++ OK, passed 100 tests. vector> imapMaybe: OK vector> +++ OK, passed 100 tests. vector> takeWhile: OK vector> +++ OK, passed 100 tests. vector> dropWhile: OK vector> +++ OK, passed 100 tests. vector> partition: OK vector> +++ OK, passed 100 tests. vector> partitionWith: OK vector> +++ OK, passed 100 tests. vector> span: OK vector> +++ OK, passed 100 tests. vector> break: OK vector> +++ OK, passed 100 tests. vector> spanR: OK vector> +++ OK, passed 100 tests. vector> breakR: OK vector> +++ OK, passed 100 tests. vector> groupBy: OK vector> +++ OK, passed 100 tests. vector> elem: OK vector> +++ OK, passed 100 tests. vector> notElem: OK vector> +++ OK, passed 100 tests. vector> find: OK vector> +++ OK, passed 100 tests. vector> findIndex: OK vector> +++ OK, passed 100 tests. vector> findIndexR: OK vector> +++ OK, passed 100 tests. vector> findIndices: OK vector> +++ OK, passed 100 tests. vector> elemIndex: OK vector> +++ OK, passed 100 tests. vector> elemIndices: OK vector> +++ OK, passed 100 tests. vector> foldl: OK vector> +++ OK, passed 100 tests. vector> foldl1: OK vector> +++ OK, passed 100 tests; 16 discarded. vector> foldl': OK vector> +++ OK, passed 100 tests. vector> foldl1': OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldr: OK vector> +++ OK, passed 100 tests. vector> foldr1: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> foldr': OK vector> +++ OK, passed 100 tests. vector> foldr1': OK vector> +++ OK, passed 100 tests; 19 discarded. vector> ifoldl: OK vector> +++ OK, passed 100 tests. vector> ifoldl': OK vector> +++ OK, passed 100 tests. vector> ifoldr: OK vector> +++ OK, passed 100 tests. vector> ifoldr': OK vector> +++ OK, passed 100 tests. vector> ifoldM: OK vector> +++ OK, passed 100 tests. vector> ifoldM': OK vector> +++ OK, passed 100 tests. vector> ifoldM_: OK (0.04s) vector> +++ OK, passed 100 tests. vector> ifoldM'_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> all: OK vector> +++ OK, passed 100 tests. vector> any: OK vector> +++ OK, passed 100 tests. vector> prescanl: OK vector> +++ OK, passed 100 tests. vector> prescanl': OK vector> +++ OK, passed 100 tests. vector> postscanl: OK vector> +++ OK, passed 100 tests. vector> postscanl': OK vector> +++ OK, passed 100 tests. vector> scanl: OK vector> +++ OK, passed 100 tests. vector> scanl': OK vector> +++ OK, passed 100 tests. vector> scanl1: OK vector> +++ OK, passed 100 tests. vector> scanl1': OK vector> +++ OK, passed 100 tests. vector> iscanl: OK vector> +++ OK, passed 100 tests. vector> iscanl': OK vector> +++ OK, passed 100 tests. vector> prescanr: OK vector> +++ OK, passed 100 tests. vector> prescanr': OK vector> +++ OK, passed 100 tests. vector> postscanr: OK vector> +++ OK, passed 100 tests. vector> postscanr': OK vector> +++ OK, passed 100 tests. vector> scanr: OK vector> +++ OK, passed 100 tests. vector> scanr': OK vector> +++ OK, passed 100 tests. vector> scanr1: OK vector> +++ OK, passed 100 tests. vector> scanr1': OK vector> +++ OK, passed 100 tests. vector> iscanr: OK vector> +++ OK, passed 100 tests. vector> iscanr': OK vector> +++ OK, passed 100 tests. vector> mut_read: OK vector> +++ OK, passed 100 tests; 18 discarded. vector> mut_write: OK vector> +++ OK, passed 100 tests; 19 discarded. vector> mut_modify: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> mut_generate: OK vector> +++ OK, passed 100 tests. vector> mut_generateM: OK (0.02s) vector> +++ OK, passed 100 tests. vector> mut_mapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_imapM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_forM_: OK (0.04s) vector> +++ OK, passed 100 tests. vector> mut_iforM_: OK (0.03s) vector> +++ OK, passed 100 tests. vector> mut_foldr: OK vector> +++ OK, passed 100 tests. vector> mut_foldr': OK vector> +++ OK, passed 100 tests. vector> mut_foldl: OK vector> +++ OK, passed 100 tests. vector> mut_foldl': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldr': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldl': OK vector> +++ OK, passed 100 tests. vector> mut_foldM: OK vector> +++ OK, passed 100 tests. vector> mut_foldM': OK vector> +++ OK, passed 100 tests. vector> mut_foldrM: OK vector> +++ OK, passed 100 tests. vector> mut_foldrM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldM': OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM: OK vector> +++ OK, passed 100 tests. vector> mut_ifoldrM': OK vector> +++ OK, passed 100 tests. vector> compare: OK vector> +++ OK, passed 100 tests. vector> maximum: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minimum: OK vector> +++ OK, passed 100 tests; 22 discarded. vector> minIndex: OK vector> +++ OK, passed 100 tests; 14 discarded. vector> maxIndex: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> maximumBy: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minimumBy: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> maximumOn: OK vector> +++ OK, passed 100 tests; 17 discarded. vector> minimumOn: OK vector> +++ OK, passed 100 tests; 13 discarded. vector> maxIndexBy: OK vector> +++ OK, passed 100 tests; 15 discarded. vector> minIndexBy: OK vector> +++ OK, passed 100 tests; 24 discarded. vector> ListFirstMaxIndexWins: OK vector> +++ OK, passed 100 tests; 20 discarded. vector> FalseListFirstMaxIndexWins: OK vector> +++ OK, failed as expected. (after 1 test): vector> Exception: vector> Prelude.foldr1: empty list vector> CallStack (from HasCallStack): vector> error, called at libraries/base/GHC/List.hs:2004:3 in base:GHC.List vector> errorEmptyList, called at libraries/base/GHC/List.hs:693:30 in base:GHC.List vector> foldr1, called at libraries/base/Data/Foldable.hs:741:15 in base:Data.Foldable vector> [] vector> zip: OK vector> +++ OK, passed 100 tests. vector> zip3: OK vector> +++ OK, passed 100 tests. vector> unzip: OK vector> +++ OK, passed 100 tests. vector> unzip3: OK vector> +++ OK, passed 100 tests. vector> indexed: OK vector> +++ OK, passed 100 tests. vector> update: OK vector> +++ OK, passed 100 tests. vector> mempty: OK vector> +++ OK, passed 1 test. vector> mappend: OK vector> +++ OK, passed 100 tests. vector> mconcat: OK (0.04s) vector> +++ OK, passed 100 tests. vector> glength: OK vector> +++ OK, passed 100 tests. vector> unstream vector> unstream == vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstream == vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (exact): OK vector> +++ OK, passed 100 tests. vector> unstreamR ~= vunstream (unknown): OK vector> +++ OK, passed 100 tests. vector> Data.Vector.Storable.Vector Alignment vector> Aligned Double: OK vector> Aligned Int: OK vector> Regression tests vector> enumFromTo crash #188 vector> Word8: OK vector> Word16: OK vector> Word32: OK vector> Word64: OK vector> Word: OK vector> Int8: OK vector> Int16: OK vector> Int32: OK vector> Int64: OK vector> Int: OK vector> Char: OK vector> Negative tests vector> slice out of bounds #257 vector> Boxed vector> Negative ix: OK vector> Negative size: OK vector> Negative ix and size: OK vector> Too large ix: OK vector> Too large size: OK vector> Too large ix and size: OK vector> Overflow: OK vector> OutOfMemory: OK vector> Primitive vector> Negative ix: OK vector> Negative size: OK vector> Negative ix and size: OK vector> Too large ix: OK vector> Too large size: OK vector> Too large ix and size: OK vector> Overflow: OK vector> OutOfMemory: OK vector> Storable vector> Negative ix: OK vector> Negative size: OK vector> Negative ix and size: OK vector> Too large ix: OK vector> Too large size: OK vector> Too large ix and size: OK vector> Overflow: OK vector> OutOfMemory: OK vector> Unboxed vector> Negative ix: OK vector> Negative size: OK vector> Negative ix and size: OK vector> Too large ix: OK vector> Too large size: OK vector> Too large ix and size: OK vector> Overflow: OK vector> OutOfMemory: OK vector> take #282 vector> Boxed: OK vector> Primitive: OK vector> Storable: OK vector> Unboxed: OK vector> Data.Vector vector> MonadFix: OK vector> toFromArray: OK vector> toFromArraySlice: OK vector> toFromArraySliceUnsafe: OK vector> toFromMutableArray: OK vector> Data.Vector.Mutable (Move): OK vector> +++ OK, passed 100 tests; 11 discarded. vector> Data.Vector.Primitive.Mutable (Move): OK vector> +++ OK, passed 100 tests; 19 discarded. vector> Data.Vector.Unboxed.Mutable (Move): OK vector> +++ OK, passed 100 tests; 12 discarded. vector> Data.Vector.Storable.Mutable (Move): OK vector> +++ OK, passed 100 tests; 19 discarded. vector> Data.Vector.Generic.Mutable (nextPermutation): OK vector> +++ OK, passed 1 test. vector> Data.Vector.Generic.Mutable (prevPermutation): OK vector> +++ OK, passed 1 test. vector> Data.Vector.Generic.Mutable (nextPermutation then prevPermutation = id): OK vector> +++ OK, passed 100 tests. vector> Data.Vector.Generic.Mutable (prevPermutation then nextPermutation = id): OK vector> +++ OK, passed 100 tests. vector> vector> All 2808 tests passed (10.26s) vector> Test suite vector-tests-O2: PASS vector> Test suite logged to: dist/test/vector-0.13.2.0-vector-tests-O2.log vector> 2 of 2 test suites (2 of 2 test cases) passed. vector> Running phase: haddockPhase vector> Running phase: installPhase vector> Installing library in /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 vector> Installing internal library benchmarks-O2 in /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/vector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2 vector> Running phase: fixupPhase vector> shrinking RPATHs of ELF executables and libraries in /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0 vector> shrinking /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/libHSvector-0.13.2.0-KjPJfwfBs004HPZguWmR2B-benchmarks-O2-ghc9.8.4.so vector> shrinking /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/libHSvector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9-ghc9.8.4.so vector> checking for references to /build/ in /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0... vector> patching script interpreter paths in /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0 vector> stripping (with command strip and flags -S -p) in /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0/lib vector (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0 vector (post)> Pushing 1 paths (93 are already present) using zstd to cache sellout ⏳ vector (post)> vector (post)> Pushing /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0 (57.19 MiB) vector (post)> vector (post)> All done. vector (post)> added 1 signatures vector (post)> added 1 signatures vector (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0 vector (post)> copying 1 paths... vector (post)> copying path '/nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0' to 'https://cache.nix-ci.com'... vector (post)> copying 1 paths... vector (post)> copying path '/nix/store/646673qh9df9sglyca3dqg6fgvlp9nsx-vector-0.13.2.0.drv' to 'https://cache.nix-ci.com'... vector (post)> added 0 signatures vector (post)> added 0 signatures vector (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0 vector (post)> copying 1 paths... vector (post)> copying path '/nix/store/cb4g59dbf5f20cn1yh5nvrhlr9k952kr-vector-0.13.2.0' to 'ssh-ng://worker.nix-ci.com'... vector (post)> copying 1 paths... vector (post)> copying path '/nix/store/646673qh9df9sglyca3dqg6fgvlp9nsx-vector-0.13.2.0.drv' to 'ssh-ng://worker.nix-ci.com'... building '/nix/store/7qlcj84dhzw4qj2bi1lri15b56qjdvkj-nothunks-0.3.0.0.drv'... nothunks> Running phase: setupCompilerEnvironmentPhase nothunks> Build with /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4. nothunks> Running phase: unpackPhase nothunks> unpacking source archive /nix/store/wzdyx5j9ylkjc475kaylxv5w38vhyy44-nothunks-0.3.0.0.tar.gz nothunks> source root is nothunks-0.3.0.0 nothunks> setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file "nothunks-0.3.0.0/test/Test/NoThunks/Class.hs" nothunks> Running phase: patchPhase nothunks> Replace Cabal file with edited version from mirror://hackage/nothunks-0.3.0.0/revision/1.cabal. nothunks> Run jailbreak-cabal to lift version restrictions on build inputs. nothunks> Running phase: compileBuildDriverPhase nothunks> setupCompileFlags: -package-db=/build/tmp.UyK8NRbwB3/setup-package.conf.d -threaded nothunks> [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.UyK8NRbwB3/Main.o ) nothunks> [2 of 2] Linking Setup nothunks> Running phase: updateAutotoolsGnuConfigScriptsPhase nothunks> Running phase: configurePhase nothunks> configureFlags: --verbose --prefix=/nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/35jzv4nh2fdi7m53skbhnp33n5znys7d-nothunks-0.3.0.0-doc/share/doc/nothunks-0.3.0.0 --with-gcc=gcc --package-db=/build/tmp.UyK8NRbwB3/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/vj3rmg6937p9icir6bazbdcb4xdnrg9j-ncurses-6.5/lib --extra-lib-dirs=/nix/store/0aaj6jbxclpwvrphggqz4vf5hg8360fr-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/vaix9m2syrilm7hv3690plsk35y0arwm-elfutils-0.192/lib --extra-lib-dirs=/nix/store/m9fycbkaairz8kampnsl7sx1aanvl0db-gmp-with-cxx-6.3.0/lib nothunks> Using Parsec parser nothunks> Configuring nothunks-0.3.0.0... nothunks> Flags chosen: bytestring=True, text=True, vector=True nothunks> Dependency base: using base-4.19.2.0 nothunks> Dependency bytestring >=0.10 && <0.13: using bytestring-0.12.1.0 nothunks> Dependency containers: using containers-0.6.8 nothunks> Dependency ghc-heap: using ghc-heap-9.8.4 nothunks> Dependency stm: using stm-2.5.3.1 nothunks> Dependency text >=1.2 && <1.3 || >=2 && <2.2: using text-2.1.1 nothunks> Dependency time: using time-1.12.2 nothunks> Dependency vector >=0.12 && <0.14: using vector-0.13.2.0 nothunks> Dependency wherefrom-compat >=0.1.1 && <0.2: using wherefrom-compat-0.1.1.1 nothunks> Dependency base: using base-4.19.2.0 nothunks> Dependency containers: using containers-0.6.8 nothunks> Dependency ghc-prim: using ghc-prim-0.11.0 nothunks> Dependency hedgehog: using hedgehog-1.5 nothunks> Dependency nothunks: using nothunks-0.3.0.0 nothunks> Dependency random: using random-1.2.1.3 nothunks> Dependency stm: using stm-2.5.3.1 nothunks> Dependency tasty: using tasty-1.5.3 nothunks> Dependency tasty-hedgehog: using tasty-hedgehog-1.4.0.2 nothunks> Source component graph: nothunks> component lib nothunks> component test:nothunks-test dependency lib nothunks> Configured component graph: nothunks> component nothunks-0.3.0.0-vowkruDfwdFxgmkFexrFK nothunks> include base-4.19.2.0-0fde nothunks> include bytestring-0.12.1.0-c522 nothunks> include containers-0.6.8-ddec nothunks> include ghc-heap-9.8.4-1f41 nothunks> include stm-2.5.3.1-4fc6 nothunks> include text-2.1.1-fd6a nothunks> include time-1.12.2-a970 nothunks> include vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 nothunks> include wherefrom-compat-0.1.1.1-DYuQoo4PT41AhREgC36Xwb nothunks> component nothunks-0.3.0.0-3Ewe7k9kJzZANLl6hDVYnx-nothunks-test nothunks> include base-4.19.2.0-0fde nothunks> include containers-0.6.8-ddec nothunks> include ghc-prim-0.11.0-ce3f nothunks> include hedgehog-1.5-Cya8Y6QE8FkF1j7fe2PPQ4 nothunks> include nothunks-0.3.0.0-vowkruDfwdFxgmkFexrFK nothunks> include random-1.2.1.3-KGZDfCTowDgJLZ8SS9n703 nothunks> include stm-2.5.3.1-4fc6 nothunks> include tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 nothunks> include tasty-hedgehog-1.4.0.2-EnsyyAJBbn0JrLVecMHBMm nothunks> Linked component graph: nothunks> unit nothunks-0.3.0.0-vowkruDfwdFxgmkFexrFK nothunks> include base-4.19.2.0-0fde nothunks> include bytestring-0.12.1.0-c522 nothunks> include containers-0.6.8-ddec nothunks> include ghc-heap-9.8.4-1f41 nothunks> include stm-2.5.3.1-4fc6 nothunks> include text-2.1.1-fd6a nothunks> include time-1.12.2-a970 nothunks> include vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 nothunks> include wherefrom-compat-0.1.1.1-DYuQoo4PT41AhREgC36Xwb nothunks> NoThunks.Class=nothunks-0.3.0.0-vowkruDfwdFxgmkFexrFK:NoThunks.Class nothunks> unit nothunks-0.3.0.0-3Ewe7k9kJzZANLl6hDVYnx-nothunks-test nothunks> include base-4.19.2.0-0fde nothunks> include containers-0.6.8-ddec nothunks> include ghc-prim-0.11.0-ce3f nothunks> include hedgehog-1.5-Cya8Y6QE8FkF1j7fe2PPQ4 nothunks> include nothunks-0.3.0.0-vowkruDfwdFxgmkFexrFK nothunks> include random-1.2.1.3-KGZDfCTowDgJLZ8SS9n703 nothunks> include stm-2.5.3.1-4fc6 nothunks> include tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 nothunks> include tasty-hedgehog-1.4.0.2-EnsyyAJBbn0JrLVecMHBMm nothunks> Ready component graph: nothunks> definite nothunks-0.3.0.0-vowkruDfwdFxgmkFexrFK nothunks> depends base-4.19.2.0-0fde nothunks> depends bytestring-0.12.1.0-c522 nothunks> depends containers-0.6.8-ddec nothunks> depends ghc-heap-9.8.4-1f41 nothunks> depends stm-2.5.3.1-4fc6 nothunks> depends text-2.1.1-fd6a nothunks> depends time-1.12.2-a970 nothunks> depends vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 nothunks> depends wherefrom-compat-0.1.1.1-DYuQoo4PT41AhREgC36Xwb nothunks> definite nothunks-0.3.0.0-3Ewe7k9kJzZANLl6hDVYnx-nothunks-test nothunks> depends base-4.19.2.0-0fde nothunks> depends containers-0.6.8-ddec nothunks> depends ghc-prim-0.11.0-ce3f nothunks> depends hedgehog-1.5-Cya8Y6QE8FkF1j7fe2PPQ4 nothunks> depends nothunks-0.3.0.0-vowkruDfwdFxgmkFexrFK nothunks> depends random-1.2.1.3-KGZDfCTowDgJLZ8SS9n703 nothunks> depends stm-2.5.3.1-4fc6 nothunks> depends tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 nothunks> depends tasty-hedgehog-1.4.0.2-EnsyyAJBbn0JrLVecMHBMm nothunks> Using Cabal-3.10.3.0 compiled by ghc-9.8 nothunks> Using compiler: ghc-9.8.4 nothunks> Using install prefix: nothunks> /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0 nothunks> Executables installed in: nothunks> /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0/bin nothunks> Libraries installed in: nothunks> /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/nothunks-0.3.0.0-vowkruDfwdFxgmkFexrFK nothunks> Dynamic Libraries installed in: nothunks> /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4 nothunks> Private executables installed in: nothunks> /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0/libexec/x86_64-linux-ghc-9.8.4/nothunks-0.3.0.0 nothunks> Data files installed in: nothunks> /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0/share/x86_64-linux-ghc-9.8.4/nothunks-0.3.0.0 nothunks> Documentation installed in: nothunks> /nix/store/35jzv4nh2fdi7m53skbhnp33n5znys7d-nothunks-0.3.0.0-doc/share/doc/nothunks-0.3.0.0 nothunks> Configuration files installed in: nothunks> /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0/etc nothunks> No alex found nothunks> Using ar found on system at: nothunks> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ar nothunks> No c2hs found nothunks> No cpphs found nothunks> No doctest found nothunks> Using gcc version 14.3.0 given by user at: nothunks> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/gcc nothunks> Using ghc version 9.8.4 found on system at: nothunks> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc nothunks> Using ghc-pkg version 9.8.4 found on system at: nothunks> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc-pkg-9.8.4 nothunks> No ghcjs found nothunks> No ghcjs-pkg found nothunks> No greencard found nothunks> Using haddock version 2.30.0 found on system at: nothunks> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/haddock-ghc-9.8.4 nothunks> No happy found nothunks> Using haskell-suite found on system at: haskell-suite-dummy-location nothunks> Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location nothunks> No hmake found nothunks> Using hpc version 0.69 found on system at: nothunks> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hpc-ghc-9.8.4 nothunks> Using hsc2hs version 0.68.10 found on system at: nothunks> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4 nothunks> Using hscolour version 1.25 found on system at: nothunks> /nix/store/fb7sllj82i2dv2ijivsz2abp0agz40p9-hscolour-1.25/bin/HsColour nothunks> No jhc found nothunks> Using ld found on system at: nothunks> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ld.gold nothunks> No pkg-config found nothunks> Using runghc version 9.8.4 found on system at: nothunks> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/runghc-9.8.4 nothunks> Using strip version 2.44 found on system at: nothunks> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/strip nothunks> Using tar found on system at: nothunks> /nix/store/76df6j9sq1ar58id3y3v4rkijany1wxp-gnutar-1.35/bin/tar nothunks> No uhc found nothunks> Running phase: buildPhase nothunks> Preprocessing library for nothunks-0.3.0.0.. nothunks> Building library for nothunks-0.3.0.0.. nothunks> [1 of 1] Compiling NoThunks.Class ( src/NoThunks/Class.hs, dist/build/NoThunks/Class.o, dist/build/NoThunks/Class.dyn_o ) nothunks> [1 of 1] Compiling NoThunks.Class ( src/NoThunks/Class.hs, dist/build/NoThunks/Class.p_o ) nothunks> Preprocessing test suite 'nothunks-test' for nothunks-0.3.0.0.. nothunks> Building test suite 'nothunks-test' for nothunks-0.3.0.0.. nothunks> [1 of 2] Compiling Test.NoThunks.Class ( test/Test/NoThunks/Class.hs, dist/build/nothunks-test/nothunks-test-tmp/Test/NoThunks/Class.o ) nothunks> [2 of 2] Compiling Main ( test/Main.hs, dist/build/nothunks-test/nothunks-test-tmp/Main.o ) nothunks> [3 of 3] Linking dist/build/nothunks-test/nothunks-test nothunks> Running phase: checkPhase nothunks> Running 1 test suites... nothunks> Test suite nothunks-test: RUNNING... nothunks> Tests nothunks> NoThunks.Class nothunks> Sanity nothunks> IntNotNF: OK nothunks> ✓ passed 1 test. nothunks> IntIsNF: OK nothunks> ✓ passed 1 test. nothunks> Pair: OK nothunks> ✓ passed 1 test. nothunks> Sum: OK nothunks> ✓ passed 1 test. nothunks> Fn: OK nothunks> ✓ passed 1 test. nothunks> IO: OK nothunks> ✓ passed 1 test. nothunks> InspectHeap nothunks> Int: OK (0.01s) nothunks> ✓ passed 1000 tests. nothunks> Just ["Int"] 50% █████████▉·········· nothunks> Nothing 50% ██████████·········· nothunks> IntInt: OK (0.02s) nothunks> ✓ passed 1000 tests. nothunks> Just ["Int","Tuple2"] 38% ███████▌············ nothunks> Just ["Tuple2"] 51% ██████████▏········· nothunks> Nothing 11% ██▏················· nothunks> SumInt: OK (0.01s) nothunks> ✓ passed 1000 tests. nothunks> Just ["Either"] 35% ███████············· nothunks> Just ["Int","Either"] 34% ██████▋············· nothunks> Nothing 31% ██████▎············· nothunks> ListInt: OK (0.02s) nothunks> ✓ passed 1000 tests. nothunks> Just ["Int","List"] 24% ████▋··············· nothunks> Just ["List"] 45% █████████··········· nothunks> Nothing 31% ██████▏············· nothunks> IntListInt: OK (0.02s) nothunks> ✓ passed 1000 tests. nothunks> Just ["Int","List","Tuple2"] 5% █··················· nothunks> Just ["Int","Tuple2"] 26% █████▏·············· nothunks> Just ["List","Tuple2"] 10% █▉·················· nothunks> Just ["Tuple2"] 50% █████████▉·········· nothunks> Nothing 9% █▊·················· nothunks> SeqInt: ✗ EXPECTED FAILURE failed at test/Test/NoThunks/Class.hs:179:7 nothunks> after 11 tests and 2 shrinks. nothunks> shrink path: 11:cA nothunks> Just ["Int","Seq"] 54% ██████████▉········· nothunks> Nothing 36% ███████▎············ nothunks> nothunks> ┏━━ test/Test/NoThunks/Class.hs ━━━ nothunks> 166 ┃ testWithModel :: forall a. FromModel a nothunks> 167 ┃ => (Maybe ThunkInfo -> Maybe [String] -> Bool) nothunks> 168 ┃ -> Proxy a nothunks> 169 ┃ -- ^ Compare @ThunkInfo@. When we use 'noThunks' this nothunks> 170 ┃ -- can just be @(==)@; however, when we use 'isNormalForm', the nothunks> 171 ┃ -- context we will get from the model will be too detailed. nothunks> 172 ┃ -> Property nothunks> 173 ┃ testWithModel compareInfo _proxy = withTests 1000 $ property $ do nothunks> 174 ┃ m :: Model a <- forAll genModel nothunks> ┃ │ Wrap nothunks> ┃ │ { unwrap = nothunks> ┃ │ SeqEnqueue nothunks> ┃ │ (IntValue 0) nothunks> ┃ │ (SeqEnqueue nothunks> ┃ │ (IntValue 0) nothunks> ┃ │ (SeqEnqueue nothunks> ┃ │ (IntValue 0) nothunks> ┃ │ (SeqEnqueue nothunks> ┃ │ (IntValue 0) nothunks> ┃ │ (SeqEnqueue (IntValue 0) (SeqEnqueue (IntValue 0) SeqEmpty))))) nothunks> ┃ │ } nothunks> 175 ┃ collect $ modelUnexpected [] m nothunks> 176 ┃ fromModel m $ \a -> do nothunks> 177 ┃ annotate $ show $ modelIsNF [] m nothunks> ┃ │ IsNF nothunks> 178 ┃ isNF <- liftIO $ noThunks [] a nothunks> 179 ┃ Hedgehog.diff isNF compareInfo (modelUnexpected [] m) nothunks> ┃ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ nothunks> ┃ │ ━━━ Failed (- lhs) (+ rhs) ━━━ nothunks> ┃ │ - Just nothunks> ┃ │ - ThunkInfo nothunks> ┃ │ - { thunkContext = [ "..." , "Seq Int" ] , thunkInfo = Nothing } nothunks> ┃ │ + Nothing nothunks> nothunks> This failure can be reproduced by running: nothunks> > recheckAt (Seed 17705041616279523473 15039207163328475211) "11:cA" EXPECTED FAILURE nothunks> nothunks> OK (0.02s) nothunks> ✓ passed 1 test. nothunks> Model nothunks> Int: OK nothunks> ✓ passed 1000 tests. nothunks> Just ["Int"] 52% ██████████▎········· nothunks> Nothing 48% █████████▋·········· nothunks> IntInt: OK nothunks> ✓ passed 1000 tests. nothunks> Just ["Int","Tuple2"] 34% ██████▋············· nothunks> Just ["Tuple2"] 54% ██████████▊········· nothunks> Nothing 12% ██▍················· nothunks> SumInt: OK (0.01s) nothunks> ✓ passed 1000 tests. nothunks> Just ["Either"] 34% ██████▋············· nothunks> Just ["Int","Either"] 34% ██████▊············· nothunks> Nothing 33% ██████▌············· nothunks> ListInt: OK (0.02s) nothunks> ✓ passed 1000 tests. nothunks> Just ["Int","List"] 24% ████▊··············· nothunks> Just ["List"] 41% ████████▏··········· nothunks> Nothing 35% ██████▉············· nothunks> IntListInt: OK (0.02s) nothunks> ✓ passed 1000 tests. nothunks> Just ["Int","List","Tuple2"] 6% █··················· nothunks> Just ["Int","Tuple2"] 27% █████▍·············· nothunks> Just ["List","Tuple2"] 10% ██·················· nothunks> Just ["Tuple2"] 49% █████████▊·········· nothunks> Nothing 8% █▌·················· nothunks> SeqInt: OK (0.06s) nothunks> ✓ passed 1000 tests. nothunks> Just ["Int","Seq"] 44% ████████▊··········· nothunks> Nothing 56% ███████████▏········ nothunks> AllowThunksIn: OK (0.02s) nothunks> ✓ passed 1000 tests. nothunks> Just ["Int","field2","Record"] 26% █████▎·············· nothunks> Just ["Record"] 50% █████████▉·········· nothunks> Nothing 24% ████▊··············· nothunks> Fn: OK nothunks> ✓ passed 1000 tests. nothunks> Just ["->"] 26% █████▏·············· nothunks> Nothing 74% ██████████████▊····· nothunks> IO: OK nothunks> ✓ passed 1000 tests. nothunks> Just ["IO"] 26% █████▏·············· nothunks> Nothing 74% ██████████████▊····· nothunks> ThunkFreeFn: OK (0.01s) nothunks> ✓ passed 1000 tests. nothunks> Just ["->"] 25% █████··············· nothunks> Just ["...","->"] 38% ███████▌············ nothunks> Nothing 37% ███████▎············ nothunks> ThunkFreeIO: OK nothunks> ✓ passed 1000 tests. nothunks> Just ["...","IO"] 38% ███████▋············ nothunks> Just ["IO"] 24% ████▊··············· nothunks> Nothing 38% ███████▌············ nothunks> MutableVars nothunks> IORef nothunks> NotNF: OK nothunks> ✓ passed 1 test. nothunks> NF: OK nothunks> ✓ passed 1 test. nothunks> NotNFPure: OK nothunks> ✓ passed 1 test. nothunks> NFPure: OK nothunks> ✓ passed 1 test. nothunks> NotNFAtomically: OK nothunks> ✓ passed 1 test. nothunks> NFAtomically: OK nothunks> ✓ passed 1 test. nothunks> MVar nothunks> NotNF: OK nothunks> ✓ passed 1 test. nothunks> NF: OK nothunks> ✓ passed 1 test. nothunks> NotNFPure: OK nothunks> ✓ passed 1 test. nothunks> NFPure: OK nothunks> ✓ passed 1 test. nothunks> NotNFAtomically: OK nothunks> ✓ passed 1 test. nothunks> NFAtomically: OK nothunks> ✓ passed 1 test. nothunks> TVar nothunks> NotNF: OK nothunks> ✓ passed 1 test. nothunks> NF: OK nothunks> ✓ passed 1 test. nothunks> NotNFPure: OK nothunks> ✓ passed 1 test. nothunks> NFPure: OK nothunks> ✓ passed 1 test. nothunks> NotNFAtomically: OK nothunks> ✓ passed 1 test. nothunks> NFAtomically: OK nothunks> ✓ passed 1 test. nothunks> nothunks> All 41 tests passed (0.32s) nothunks> Test suite nothunks-test: PASS nothunks> Test suite logged to: dist/test/nothunks-0.3.0.0-nothunks-test.log nothunks> 1 of 1 test suites (1 of 1 test cases) passed. nothunks> Running phase: haddockPhase nothunks> Preprocessing library for nothunks-0.3.0.0.. nothunks> Running Haddock on library for nothunks-0.3.0.0.. nothunks> Warning: The documentation for the following packages are not installed. No nothunks> links will be generated to these packages: vector-0.13.2.0 nothunks> Warning: --source-* options are ignored when --hyperlinked-source is enabled. nothunks> [1 of 1] Compiling NoThunks.Class ( src/NoThunks/Class.hs, nothing ) nothunks> Haddock coverage: nothunks> Warning: 'AllowThunksIn' is ambiguous. It is defined nothunks> * at src/NoThunks/Class.hs:334:48 nothunks> * at src/NoThunks/Class.hs:334:1 nothunks> You may be able to disambiguate the identifier by qualifying it or nothunks> by specifying the type/value namespace explicitly. nothunks> Defaulting to the one defined at src/NoThunks/Class.hs:334:1 nothunks> Warning: 'InspectHeap' is ambiguous. It is defined nothunks> * at src/NoThunks/Class.hs:353:25 nothunks> * at src/NoThunks/Class.hs:353:1 nothunks> You may be able to disambiguate the identifier by qualifying it or nothunks> by specifying the type/value namespace explicitly. nothunks> Defaulting to the one defined at src/NoThunks/Class.hs:353:1 nothunks> Warning: 'InspectHeapNamed' is ambiguous. It is defined nothunks> * at src/NoThunks/Class.hs:358:47 nothunks> * at src/NoThunks/Class.hs:358:1 nothunks> You may be able to disambiguate the identifier by qualifying it or nothunks> by specifying the type/value namespace explicitly. nothunks> Defaulting to the one defined at src/NoThunks/Class.hs:358:1 nothunks> Warning: 'OnlyCheckWhnf' is ambiguous. It is defined nothunks> * at src/NoThunks/Class.hs:308:27 nothunks> * at src/NoThunks/Class.hs:308:1 nothunks> You may be able to disambiguate the identifier by qualifying it or nothunks> by specifying the type/value namespace explicitly. nothunks> Defaulting to the one defined at src/NoThunks/Class.hs:308:1 nothunks> Warning: 'ThunkInfo' is ambiguous. It is defined nothunks> * at src/NoThunks/Class.hs:230:18 nothunks> * at src/NoThunks/Class.hs:230:1 nothunks> You may be able to disambiguate the identifier by qualifying it or nothunks> by specifying the type/value namespace explicitly. nothunks> Defaulting to the one defined at src/NoThunks/Class.hs:230:1 nothunks> Warning: 'GHC' is out of scope. nothunks> If you qualify the identifier, haddock can try to link it anyway. nothunks> Warning: 'a' is out of scope. nothunks> If you qualify the identifier, haddock can try to link it anyway. nothunks> 95% ( 20 / 21) in 'NoThunks.Class' nothunks> Missing documentation for: nothunks> Module header nothunks> Warning: NoThunks.Class: could not find link destinations for: nothunks> - Data.Vector.Vector nothunks> - Data.Vector.Unboxed.Base.Vector nothunks> - NoThunks.Class.HasFields nothunks> - NoThunks.Class.Elem nothunks> - NoThunks.Class.GShowTypeOf nothunks> - NoThunks.Class.GWRecordField nothunks> - NoThunks.Class.checkContainsThunks nothunks> Documentation created: dist/doc/html/nothunks/, nothunks> dist/doc/html/nothunks/nothunks.txt nothunks> Preprocessing test suite 'nothunks-test' for nothunks-0.3.0.0.. nothunks> Running phase: installPhase nothunks> Installing library in /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/nothunks-0.3.0.0-vowkruDfwdFxgmkFexrFK nothunks> Running phase: fixupPhase nothunks> shrinking RPATHs of ELF executables and libraries in /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0 nothunks> shrinking /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/libHSnothunks-0.3.0.0-vowkruDfwdFxgmkFexrFK-ghc9.8.4.so nothunks> checking for references to /build/ in /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0... nothunks> patching script interpreter paths in /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0 nothunks> stripping (with command strip and flags -S -p) in /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0/lib nothunks> shrinking RPATHs of ELF executables and libraries in /nix/store/35jzv4nh2fdi7m53skbhnp33n5znys7d-nothunks-0.3.0.0-doc nothunks> checking for references to /build/ in /nix/store/35jzv4nh2fdi7m53skbhnp33n5znys7d-nothunks-0.3.0.0-doc... nothunks> patching script interpreter paths in /nix/store/35jzv4nh2fdi7m53skbhnp33n5znys7d-nothunks-0.3.0.0-doc nothunks (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/35jzv4nh2fdi7m53skbhnp33n5znys7d-nothunks-0.3.0.0-doc /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0 nothunks (post)> Pushing 2 paths (96 are already present) using zstd to cache sellout ⏳ nothunks (post)> nothunks (post)> Pushing /nix/store/35jzv4nh2fdi7m53skbhnp33n5znys7d-nothunks-0.3.0.0-doc (841.94 KiB) nothunks (post)> Pushing /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0 (2.71 MiB) nothunks (post)> nothunks (post)> All done. nothunks (post)> added 4 signatures nothunks (post)> added 1 signatures nothunks (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/35jzv4nh2fdi7m53skbhnp33n5znys7d-nothunks-0.3.0.0-doc /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0 nothunks (post)> copying 4 paths... nothunks (post)> copying path '/nix/store/a8ynp3myvxi7dv5c8db70avfcblc7315-wherefrom-compat-0.1.1.1-doc' to 'https://cache.nix-ci.com'... nothunks (post)> copying path '/nix/store/35jzv4nh2fdi7m53skbhnp33n5znys7d-nothunks-0.3.0.0-doc' to 'https://cache.nix-ci.com'... nothunks (post)> copying path '/nix/store/psqjy5kz7nvv8rffq9i301bx2m528s32-wherefrom-compat-0.1.1.1' to 'https://cache.nix-ci.com'... nothunks (post)> copying path '/nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0' to 'https://cache.nix-ci.com'... nothunks (post)> copying 1 paths... nothunks (post)> copying path '/nix/store/7qlcj84dhzw4qj2bi1lri15b56qjdvkj-nothunks-0.3.0.0.drv' to 'https://cache.nix-ci.com'... nothunks (post)> added 0 signatures nothunks (post)> added 0 signatures nothunks (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/35jzv4nh2fdi7m53skbhnp33n5znys7d-nothunks-0.3.0.0-doc /nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0 nothunks (post)> copying 4 paths... nothunks (post)> copying path '/nix/store/a8ynp3myvxi7dv5c8db70avfcblc7315-wherefrom-compat-0.1.1.1-doc' to 'ssh-ng://worker.nix-ci.com'... nothunks (post)> copying path '/nix/store/35jzv4nh2fdi7m53skbhnp33n5znys7d-nothunks-0.3.0.0-doc' to 'ssh-ng://worker.nix-ci.com'... nothunks (post)> copying path '/nix/store/psqjy5kz7nvv8rffq9i301bx2m528s32-wherefrom-compat-0.1.1.1' to 'ssh-ng://worker.nix-ci.com'... nothunks (post)> copying path '/nix/store/sknrpjlljrjbplgw40qi1f6pbrabjhp8-nothunks-0.3.0.0' to 'ssh-ng://worker.nix-ci.com'... nothunks (post)> copying 1 paths... nothunks (post)> copying path '/nix/store/7qlcj84dhzw4qj2bi1lri15b56qjdvkj-nothunks-0.3.0.0.drv' to 'ssh-ng://worker.nix-ci.com'... building '/nix/store/kd82f77swbga7qbbw21x9pl7myq4dsmi-unordered-containers-0.2.20.drv'... unordered-containers> Running phase: setupCompilerEnvironmentPhase unordered-containers> Build with /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4. unordered-containers> Running phase: unpackPhase unordered-containers> unpacking source archive /nix/store/46rvk8vjzsagr58a6pqwimivmr0ahxys-unordered-containers-0.2.20.tar.gz unordered-containers> source root is unordered-containers-0.2.20 unordered-containers> setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file "unordered-containers-0.2.20/unordered-containers.cabal" unordered-containers> Running phase: patchPhase unordered-containers> Replace Cabal file with edited version from mirror://hackage/unordered-containers-0.2.20/revision/4.cabal. unordered-containers> Running phase: compileBuildDriverPhase unordered-containers> setupCompileFlags: -package-db=/build/tmp.JzZj9dBxte/setup-package.conf.d -threaded unordered-containers> [1 of 2] Compiling Main ( Setup.hs, /build/tmp.JzZj9dBxte/Main.o ) unordered-containers> [2 of 2] Linking Setup unordered-containers> Running phase: updateAutotoolsGnuConfigScriptsPhase unordered-containers> Running phase: configurePhase unordered-containers> configureFlags: --verbose --prefix=/nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/xs3bv7g7vgcjk79d9mq86awxj6bb46z9-unordered-containers-0.2.20-doc/share/doc/unordered-containers-0.2.20 --with-gcc=gcc --package-db=/build/tmp.JzZj9dBxte/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/vj3rmg6937p9icir6bazbdcb4xdnrg9j-ncurses-6.5/lib --extra-lib-dirs=/nix/store/0aaj6jbxclpwvrphggqz4vf5hg8360fr-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/vaix9m2syrilm7hv3690plsk35y0arwm-elfutils-0.192/lib --extra-lib-dirs=/nix/store/m9fycbkaairz8kampnsl7sx1aanvl0db-gmp-with-cxx-6.3.0/lib unordered-containers> Using Parsec parser unordered-containers> Configuring unordered-containers-0.2.20... unordered-containers> Flags chosen: debug=False unordered-containers> Dependency base >=4.10 && <5: using base-4.19.2.0 unordered-containers> Dependency deepseq >=1.4.3: using deepseq-1.5.1.0 unordered-containers> Dependency hashable >=1.4 && <1.6: using hashable-1.4.7.0 unordered-containers> Dependency template-haskell <2.24: using template-haskell-2.21.0.0 unordered-containers> Dependency ChasingBottoms: using ChasingBottoms-1.3.1.15 unordered-containers> Dependency HUnit: using HUnit-1.6.2.0 unordered-containers> Dependency QuickCheck >=2.4.0.1: using QuickCheck-2.14.3 unordered-containers> Dependency base: using base-4.19.2.0 unordered-containers> Dependency containers >=0.5.8: using containers-0.6.8 unordered-containers> Dependency hashable: using hashable-1.4.7.0 unordered-containers> Dependency nothunks >=0.1.3: using nothunks-0.3.0.0 unordered-containers> Dependency random: using random-1.2.1.3 unordered-containers> Dependency tasty >=1.4.0.3: using tasty-1.5.3 unordered-containers> Dependency tasty-hunit >=0.10.0.3: using tasty-hunit-0.10.2 unordered-containers> Dependency tasty-quickcheck >=0.10.1.2: using tasty-quickcheck-0.11 unordered-containers> Dependency unordered-containers: using unordered-containers-0.2.20 unordered-containers> Source component graph: unordered-containers> component lib unordered-containers> component test:unordered-containers-tests dependency lib unordered-containers> Configured component graph: unordered-containers> component unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1 unordered-containers> include base-4.19.2.0-0fde unordered-containers> include deepseq-1.5.1.0-7f97 unordered-containers> include hashable-1.4.7.0-Cn74cqcjwyW1of38P6bM3u unordered-containers> include template-haskell-2.21.0.0-8a5d unordered-containers> component unordered-containers-0.2.20-99XvYqJcjMI7MBEmYVeutF-unordered-containers-tests unordered-containers> include ChasingBottoms-1.3.1.15-48ZtS6cwWag5tonZtMlr5 unordered-containers> include HUnit-1.6.2.0-4GVQACZeyCG6aTmdiRM2Zi unordered-containers> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi unordered-containers> include base-4.19.2.0-0fde unordered-containers> include containers-0.6.8-ddec unordered-containers> include hashable-1.4.7.0-Cn74cqcjwyW1of38P6bM3u unordered-containers> include nothunks-0.3.0.0-vowkruDfwdFxgmkFexrFK unordered-containers> include random-1.2.1.3-KGZDfCTowDgJLZ8SS9n703 unordered-containers> include tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 unordered-containers> include tasty-hunit-0.10.2-GvqyVBRVmj03GFrvo7llW5 unordered-containers> include tasty-quickcheck-0.11-8ASWrIW2G5gKRpKoKDr6x unordered-containers> include unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1 unordered-containers> Linked component graph: unordered-containers> unit unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1 unordered-containers> include base-4.19.2.0-0fde unordered-containers> include deepseq-1.5.1.0-7f97 unordered-containers> include hashable-1.4.7.0-Cn74cqcjwyW1of38P6bM3u unordered-containers> include template-haskell-2.21.0.0-8a5d unordered-containers> Data.HashMap.Internal=unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1:Data.HashMap.Internal,Data.HashMap.Internal.Array=unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1:Data.HashMap.Internal.Array,Data.HashMap.Internal.Debug=unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1:Data.HashMap.Internal.Debug,Data.HashMap.Internal.List=unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1:Data.HashMap.Internal.List,Data.HashMap.Internal.Strict=unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1:Data.HashMap.Internal.Strict,Data.HashMap.Lazy=unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1:Data.HashMap.Lazy,Data.HashMap.Strict=unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1:Data.HashMap.Strict,Data.HashSet=unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1:Data.HashSet,Data.HashSet.Internal=unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1:Data.HashSet.Internal unordered-containers> unit unordered-containers-0.2.20-99XvYqJcjMI7MBEmYVeutF-unordered-containers-tests unordered-containers> include ChasingBottoms-1.3.1.15-48ZtS6cwWag5tonZtMlr5 unordered-containers> include HUnit-1.6.2.0-4GVQACZeyCG6aTmdiRM2Zi unordered-containers> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi unordered-containers> include base-4.19.2.0-0fde unordered-containers> include containers-0.6.8-ddec unordered-containers> include hashable-1.4.7.0-Cn74cqcjwyW1of38P6bM3u unordered-containers> include nothunks-0.3.0.0-vowkruDfwdFxgmkFexrFK unordered-containers> include random-1.2.1.3-KGZDfCTowDgJLZ8SS9n703 unordered-containers> include tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 unordered-containers> include tasty-hunit-0.10.2-GvqyVBRVmj03GFrvo7llW5 unordered-containers> include tasty-quickcheck-0.11-8ASWrIW2G5gKRpKoKDr6x unordered-containers> include unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1 unordered-containers> Ready component graph: unordered-containers> definite unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1 unordered-containers> depends base-4.19.2.0-0fde unordered-containers> depends deepseq-1.5.1.0-7f97 unordered-containers> depends hashable-1.4.7.0-Cn74cqcjwyW1of38P6bM3u unordered-containers> depends template-haskell-2.21.0.0-8a5d unordered-containers> definite unordered-containers-0.2.20-99XvYqJcjMI7MBEmYVeutF-unordered-containers-tests unordered-containers> depends ChasingBottoms-1.3.1.15-48ZtS6cwWag5tonZtMlr5 unordered-containers> depends HUnit-1.6.2.0-4GVQACZeyCG6aTmdiRM2Zi unordered-containers> depends QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi unordered-containers> depends base-4.19.2.0-0fde unordered-containers> depends containers-0.6.8-ddec unordered-containers> depends hashable-1.4.7.0-Cn74cqcjwyW1of38P6bM3u unordered-containers> depends nothunks-0.3.0.0-vowkruDfwdFxgmkFexrFK unordered-containers> depends random-1.2.1.3-KGZDfCTowDgJLZ8SS9n703 unordered-containers> depends tasty-1.5.3-QOpJMSxeF49XPb7Cb4i95 unordered-containers> depends tasty-hunit-0.10.2-GvqyVBRVmj03GFrvo7llW5 unordered-containers> depends tasty-quickcheck-0.11-8ASWrIW2G5gKRpKoKDr6x unordered-containers> depends unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1 unordered-containers> Using Cabal-3.10.3.0 compiled by ghc-9.8 unordered-containers> Using compiler: ghc-9.8.4 unordered-containers> Using install prefix: unordered-containers> /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20 unordered-containers> Executables installed in: unordered-containers> /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20/bin unordered-containers> Libraries installed in: unordered-containers> /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1 unordered-containers> Dynamic Libraries installed in: unordered-containers> /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4 unordered-containers> Private executables installed in: unordered-containers> /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20/libexec/x86_64-linux-ghc-9.8.4/unordered-containers-0.2.20 unordered-containers> Data files installed in: unordered-containers> /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20/share/x86_64-linux-ghc-9.8.4/unordered-containers-0.2.20 unordered-containers> Documentation installed in: unordered-containers> /nix/store/xs3bv7g7vgcjk79d9mq86awxj6bb46z9-unordered-containers-0.2.20-doc/share/doc/unordered-containers-0.2.20 unordered-containers> Configuration files installed in: unordered-containers> /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20/etc unordered-containers> No alex found unordered-containers> Using ar found on system at: unordered-containers> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ar unordered-containers> No c2hs found unordered-containers> No cpphs found unordered-containers> No doctest found unordered-containers> Using gcc version 14.3.0 given by user at: unordered-containers> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/gcc unordered-containers> Using ghc version 9.8.4 found on system at: unordered-containers> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc unordered-containers> Using ghc-pkg version 9.8.4 found on system at: unordered-containers> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc-pkg-9.8.4 unordered-containers> No ghcjs found unordered-containers> No ghcjs-pkg found unordered-containers> No greencard found unordered-containers> Using haddock version 2.30.0 found on system at: unordered-containers> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/haddock-ghc-9.8.4 unordered-containers> No happy found unordered-containers> Using haskell-suite found on system at: haskell-suite-dummy-location unordered-containers> Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location unordered-containers> No hmake found unordered-containers> Using hpc version 0.69 found on system at: unordered-containers> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hpc-ghc-9.8.4 unordered-containers> Using hsc2hs version 0.68.10 found on system at: unordered-containers> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4 unordered-containers> Using hscolour version 1.25 found on system at: unordered-containers> /nix/store/fb7sllj82i2dv2ijivsz2abp0agz40p9-hscolour-1.25/bin/HsColour unordered-containers> No jhc found unordered-containers> Using ld found on system at: unordered-containers> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ld.gold unordered-containers> No pkg-config found unordered-containers> Using runghc version 9.8.4 found on system at: unordered-containers> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/runghc-9.8.4 unordered-containers> Using strip version 2.44 found on system at: unordered-containers> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/strip unordered-containers> Using tar found on system at: unordered-containers> /nix/store/76df6j9sq1ar58id3y3v4rkijany1wxp-gnutar-1.35/bin/tar unordered-containers> No uhc found unordered-containers> Running phase: buildPhase unordered-containers> Preprocessing library for unordered-containers-0.2.20.. unordered-containers> Building library for unordered-containers-0.2.20.. unordered-containers> unordered-containers> Data/HashMap/Internal.hs:12:14-23: warning: [GHC-53692] [-Wdeprecated-flags] unordered-containers> -XTypeInType is deprecated: use -XDataKinds and -XPolyKinds instead unordered-containers> | unordered-containers> 12 | {-# LANGUAGE TypeInType #-} unordered-containers> | ^^^^^^^^^^ unordered-containers> [1 of 9] Compiling Data.HashMap.Internal.Array ( Data/HashMap/Internal/Array.hs, dist/build/Data/HashMap/Internal/Array.o, dist/build/Data/HashMap/Internal/Array.dyn_o ) unordered-containers> unordered-containers> Data/HashMap/Internal/Array.hs:83:1-35: warning: [GHC-66111] [-Wunused-imports] unordered-containers> The import of ‘Control.Applicative’ is redundant unordered-containers> except perhaps to import instances from ‘Control.Applicative’ unordered-containers> To import instances alone, use: import Control.Applicative() unordered-containers> | unordered-containers> 83 | import Control.Applicative (liftA2) unordered-containers> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unordered-containers> [2 of 9] Compiling Data.HashMap.Internal.List ( Data/HashMap/Internal/List.hs, dist/build/Data/HashMap/Internal/List.o, dist/build/Data/HashMap/Internal/List.dyn_o ) unordered-containers> [3 of 9] Compiling Data.HashMap.Internal ( Data/HashMap/Internal.hs, dist/build/Data/HashMap/Internal.o, dist/build/Data/HashMap/Internal.dyn_o ) unordered-containers> [4 of 9] Compiling Data.HashMap.Internal.Debug ( Data/HashMap/Internal/Debug.hs, dist/build/Data/HashMap/Internal/Debug.o, dist/build/Data/HashMap/Internal/Debug.dyn_o ) unordered-containers> [5 of 9] Compiling Data.HashMap.Internal.Strict ( Data/HashMap/Internal/Strict.hs, dist/build/Data/HashMap/Internal/Strict.o, dist/build/Data/HashMap/Internal/Strict.dyn_o ) unordered-containers> [6 of 9] Compiling Data.HashSet.Internal ( Data/HashSet/Internal.hs, dist/build/Data/HashSet/Internal.o, dist/build/Data/HashSet/Internal.dyn_o ) unordered-containers> [7 of 9] Compiling Data.HashSet ( Data/HashSet.hs, dist/build/Data/HashSet.o, dist/build/Data/HashSet.dyn_o ) unordered-containers> [8 of 9] Compiling Data.HashMap.Strict ( Data/HashMap/Strict.hs, dist/build/Data/HashMap/Strict.o, dist/build/Data/HashMap/Strict.dyn_o ) unordered-containers> [9 of 9] Compiling Data.HashMap.Lazy ( Data/HashMap/Lazy.hs, dist/build/Data/HashMap/Lazy.o, dist/build/Data/HashMap/Lazy.dyn_o ) unordered-containers> unordered-containers> Data/HashMap/Internal.hs:12:14-23: warning: [GHC-53692] [-Wdeprecated-flags] unordered-containers> -XTypeInType is deprecated: use -XDataKinds and -XPolyKinds instead unordered-containers> | unordered-containers> 12 | {-# LANGUAGE TypeInType #-} unordered-containers> | ^^^^^^^^^^ unordered-containers> [1 of 9] Compiling Data.HashMap.Internal.Array ( Data/HashMap/Internal/Array.hs, dist/build/Data/HashMap/Internal/Array.p_o ) unordered-containers> unordered-containers> Data/HashMap/Internal/Array.hs:83:1-35: warning: [GHC-66111] [-Wunused-imports] unordered-containers> The import of ‘Control.Applicative’ is redundant unordered-containers> except perhaps to import instances from ‘Control.Applicative’ unordered-containers> To import instances alone, use: import Control.Applicative() unordered-containers> | unordered-containers> 83 | import Control.Applicative (liftA2) unordered-containers> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unordered-containers> [2 of 9] Compiling Data.HashMap.Internal.List ( Data/HashMap/Internal/List.hs, dist/build/Data/HashMap/Internal/List.p_o ) unordered-containers> [3 of 9] Compiling Data.HashMap.Internal ( Data/HashMap/Internal.hs, dist/build/Data/HashMap/Internal.p_o ) unordered-containers> [4 of 9] Compiling Data.HashMap.Internal.Debug ( Data/HashMap/Internal/Debug.hs, dist/build/Data/HashMap/Internal/Debug.p_o ) unordered-containers> [5 of 9] Compiling Data.HashMap.Internal.Strict ( Data/HashMap/Internal/Strict.hs, dist/build/Data/HashMap/Internal/Strict.p_o ) unordered-containers> [6 of 9] Compiling Data.HashSet.Internal ( Data/HashSet/Internal.hs, dist/build/Data/HashSet/Internal.p_o ) unordered-containers> [7 of 9] Compiling Data.HashSet ( Data/HashSet.hs, dist/build/Data/HashSet.p_o ) unordered-containers> [8 of 9] Compiling Data.HashMap.Strict ( Data/HashMap/Strict.hs, dist/build/Data/HashMap/Strict.p_o ) unordered-containers> [9 of 9] Compiling Data.HashMap.Lazy ( Data/HashMap/Lazy.hs, dist/build/Data/HashMap/Lazy.p_o ) unordered-containers> Preprocessing test suite 'unordered-containers-tests' for unordered-containers-0.2.20.. unordered-containers> Building test suite 'unordered-containers-tests' for unordered-containers-0.2.20.. unordered-containers> [1 of 9] Compiling Properties.List ( tests/Properties/List.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Properties/List.o ) unordered-containers> [2 of 9] Compiling Regressions ( tests/Regressions.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Regressions.o ) unordered-containers> unordered-containers> tests/Regressions.hs:91:16: warning: [GHC-63394] [-Wx-partial] unordered-containers> In the use of ‘head’ unordered-containers> (imported from Prelude, but defined in GHC.List): unordered-containers> "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." unordered-containers> | unordered-containers> 91 | k = head keys unordered-containers> | ^^^^ unordered-containers> [3 of 9] Compiling Util.Key ( tests/Util/Key.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Util/Key.o ) unordered-containers> [4 of 9] Compiling Strictness ( tests/Strictness.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Strictness.o ) unordered-containers> [5 of 9] Compiling Properties.HashSet ( tests/Properties/HashSet.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Properties/HashSet.o ) unordered-containers> [6 of 9] Compiling Properties.HashMapStrict ( tests/Properties/HashMapStrict.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Properties/HashMapStrict.o ) unordered-containers> [7 of 9] Compiling Properties.HashMapLazy ( tests/Properties/HashMapLazy.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Properties/HashMapLazy.o ) unordered-containers> [8 of 9] Compiling Properties ( tests/Properties.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Properties.o ) unordered-containers> [9 of 9] Compiling Main ( tests/Main.hs, dist/build/unordered-containers-tests/unordered-containers-tests-tmp/Main.o ) unordered-containers> [10 of 10] Linking dist/build/unordered-containers-tests/unordered-containers-tests unordered-containers> Running phase: checkPhase unordered-containers> Running 1 test suites... unordered-containers> Test suite unordered-containers-tests: RUNNING... unordered-containers> All unordered-containers> Properties unordered-containers> Data.HashMap.Lazy unordered-containers> instances unordered-containers> Eq unordered-containers> ==: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> /=: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> Ord unordered-containers> compare reflexive: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> compare transitive: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> compare antisymmetric: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> Ord => Eq: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> Read/Show: OK (0.10s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> Functor: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> Foldable: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> Bifoldable unordered-containers> bifoldMap: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> bifoldr: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> bifoldl: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> Hashable: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> empty unordered-containers> valid: OK unordered-containers> +++ OK, passed 1 test. unordered-containers> singleton unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> size: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> member: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> lookup: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> !?: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> insert unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> insertWith unordered-containers> insertWith: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> delete unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> adjust unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> update unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> alter unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> alterF unordered-containers> model unordered-containers> []: OK (0.03s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> adjust: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> insert: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> insertWith: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> delete: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> lookup: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> isSubmapOf unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> m ⊆ m: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> m1 ⊆ m1 ∪ m2: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> m1 ⊈ m2 ⇒ m1 ∪ m2 ⊈ m1: OK unordered-containers> +++ OK, passed 100 tests; 21 discarded. unordered-containers> m1\m2 ⊆ m1: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> m1 ∩ m2 ≠ ∅ ⇒ m1 ⊈ m1\m2 : OK (0.01s) unordered-containers> +++ OK, passed 100 tests; 115 discarded. unordered-containers> delete k m ⊆ m: OK unordered-containers> +++ OK, passed 100 tests; 15 discarded. unordered-containers> m ⊈ delete k m : OK unordered-containers> +++ OK, passed 100 tests; 16 discarded. unordered-containers> k ∉ m ⇒ m ⊆ insert k v m: OK unordered-containers> +++ OK, passed 100 tests; 13 discarded. unordered-containers> k ∉ m ⇒ insert k v m ⊈ m: OK unordered-containers> +++ OK, passed 100 tests; 7 discarded. unordered-containers> union unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> unionWith unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> unionWithKey unordered-containers> model: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> unions unordered-containers> model: OK (0.39s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.23s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> difference unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> differenceWith unordered-containers> model: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> intersection unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> intersectionWith unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> intersectionWithKey unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> compose unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> map unordered-containers> model: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> traverseWithKey unordered-containers> model: OK (0.06s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> mapKeys unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.08s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldr: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldl: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldrWithKey: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldlWithKey: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldrWithKey': OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldlWithKey': OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldl': OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldr': OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldMapWithKey: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> filter unordered-containers> model: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> filterWithKey unordered-containers> model: OK (0.42s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.14s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> mapMaybe unordered-containers> model: OK (0.03s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> mapMaybeWithKey unordered-containers> model: OK (0.42s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.22s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> elems: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> keys: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> fromList unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> fromListWith unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> fromListWithKey unordered-containers> model: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> toList: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> Data.HashMap.Strict unordered-containers> instances unordered-containers> Eq unordered-containers> ==: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> /=: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> Ord unordered-containers> compare reflexive: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> compare transitive: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> compare antisymmetric: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> Ord => Eq: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> Read/Show: OK (0.09s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> Functor: OK (0.03s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> Foldable: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> Bifoldable unordered-containers> bifoldMap: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> bifoldr: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> bifoldl: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> Hashable: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> empty unordered-containers> valid: OK unordered-containers> +++ OK, passed 1 test. unordered-containers> singleton unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> size: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> member: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> lookup: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> !?: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> insert unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> insertWith unordered-containers> insertWith: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> delete unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> adjust unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> update unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> alter unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> alterF unordered-containers> model unordered-containers> []: OK (0.06s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> adjust: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> insert: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> insertWith: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> delete: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> lookup: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> isSubmapOf unordered-containers> model: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> m ⊆ m: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> m1 ⊆ m1 ∪ m2: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> m1 ⊈ m2 ⇒ m1 ∪ m2 ⊈ m1: OK (0.01s) unordered-containers> +++ OK, passed 100 tests; 16 discarded. unordered-containers> m1\m2 ⊆ m1: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> m1 ∩ m2 ≠ ∅ ⇒ m1 ⊈ m1\m2 : OK (0.02s) unordered-containers> +++ OK, passed 100 tests; 214 discarded. unordered-containers> delete k m ⊆ m: OK (0.01s) unordered-containers> +++ OK, passed 100 tests; 18 discarded. unordered-containers> m ⊈ delete k m : OK unordered-containers> +++ OK, passed 100 tests; 15 discarded. unordered-containers> k ∉ m ⇒ m ⊆ insert k v m: OK unordered-containers> +++ OK, passed 100 tests; 12 discarded. unordered-containers> k ∉ m ⇒ insert k v m ⊈ m: OK unordered-containers> +++ OK, passed 100 tests; 4 discarded. unordered-containers> union unordered-containers> model: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> unionWith unordered-containers> model: OK (0.03s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> unionWithKey unordered-containers> model: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> unions unordered-containers> model: OK (0.40s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.28s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> difference unordered-containers> model: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> differenceWith unordered-containers> model: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> intersection unordered-containers> model: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> intersectionWith unordered-containers> model: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> intersectionWithKey unordered-containers> model: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> compose unordered-containers> valid: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> map unordered-containers> model: OK (0.03s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> traverseWithKey unordered-containers> model: OK (0.04s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> mapKeys unordered-containers> model: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.17s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldr: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldl: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldrWithKey: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldlWithKey: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldrWithKey': OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldlWithKey': OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldl': OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldr': OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldMapWithKey: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> filter unordered-containers> model: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> filterWithKey unordered-containers> model: OK (0.32s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.22s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> mapMaybe unordered-containers> model: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> mapMaybeWithKey unordered-containers> model: OK (0.30s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.19s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> elems: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> keys: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> fromList unordered-containers> model: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> fromListWith unordered-containers> model: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> fromListWithKey unordered-containers> model: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> valid: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> toList: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> Data.HashSet unordered-containers> instances unordered-containers> Eq unordered-containers> ==: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> == permutations: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> /=: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> Ord unordered-containers> compare reflexive: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> compare transitive: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> compare antisymmetric: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> Ord => Eq: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> Read/Show: OK (0.11s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> Foldable: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> Hashable: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> size: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> member: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> insert: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> delete: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> union: OK (0.02s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> map: OK (0.22s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldr: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> foldl': OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> filter: OK (0.22s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> toList: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> Data.HashMap.Internal.List unordered-containers> isPermutationBy: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> isPermutationBy of different length: OK unordered-containers> +++ OK, passed 100 tests; 22 discarded. unordered-containers> pUnorderedCompare: OK (0.03s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> modelUnorderedCompare unordered-containers> reflexive: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> anti-symmetric: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> transitive: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> Regression tests unordered-containers> issue32: OK unordered-containers> issue39a: OK unordered-containers> issue39b: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> issue254 lazy: OK unordered-containers> issue254 strict: OK unordered-containers> issue379 unordered-containers> Lazy.unionWith: OK unordered-containers> union: OK unordered-containers> Strict.unionWith: OK unordered-containers> Strict.unionWithKey: OK unordered-containers> issue381 unordered-containers> mapMaybe: OK unordered-containers> mapMaybeWithKey: OK unordered-containers> issue382: OK unordered-containers> issue383: OK unordered-containers> issue420: OK unordered-containers> Strictness unordered-containers> HashMap.Strict unordered-containers> singleton is key-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> singleton is value-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> member is key-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> lookup is key-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> lookupDefault is key-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> findWithDefault is key-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> ! is key-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> delete is key-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> adjust is key-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> adjust is value-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> insert is key-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> insert is value-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> insertWith is key-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> insertWith is value-strict: OK (0.01s) unordered-containers> +++ OK, passed 100 tests. unordered-containers> fromList is key-strict: OK unordered-containers> +++ OK, passed 1 test. unordered-containers> fromList is value-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> fromListWith is key-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> fromListWith is value-strict: OK unordered-containers> +++ OK, passed 100 tests. unordered-containers> unordered-containers> All 256 tests passed (0.53s) unordered-containers> Test suite unordered-containers-tests: PASS unordered-containers> Test suite logged to: unordered-containers> dist/test/unordered-containers-0.2.20-unordered-containers-tests.log unordered-containers> 1 of 1 test suites (1 of 1 test cases) passed. unordered-containers> Running phase: haddockPhase unordered-containers> Preprocessing library for unordered-containers-0.2.20.. unordered-containers> Running Haddock on library for unordered-containers-0.2.20.. unordered-containers> Warning: --source-* options are ignored when --hyperlinked-source is enabled. unordered-containers> unordered-containers> Data/HashMap/Internal.hs:12:14-23: warning: [GHC-53692] [-Wdeprecated-flags] unordered-containers> -XTypeInType is deprecated: use -XDataKinds and -XPolyKinds instead unordered-containers> | unordered-containers> 12 | {-# LANGUAGE TypeInType #-} unordered-containers> | ^^^^^^^^^^ unordered-containers> [1 of 9] Compiling Data.HashMap.Internal.Array ( Data/HashMap/Internal/Array.hs, nothing ) unordered-containers> unordered-containers> Data/HashMap/Internal/Array.hs:83:1-35: warning: [GHC-66111] [-Wunused-imports] unordered-containers> The import of ‘Control.Applicative’ is redundant unordered-containers> except perhaps to import instances from ‘Control.Applicative’ unordered-containers> To import instances alone, use: import Control.Applicative() unordered-containers> | unordered-containers> 83 | import Control.Applicative (liftA2) unordered-containers> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unordered-containers> [2 of 9] Compiling Data.HashMap.Internal.List ( Data/HashMap/Internal/List.hs, nothing ) unordered-containers> [3 of 9] Compiling Data.HashMap.Internal ( Data/HashMap/Internal.hs, nothing ) unordered-containers> [4 of 9] Compiling Data.HashMap.Internal.Debug ( Data/HashMap/Internal/Debug.hs, nothing ) unordered-containers> [5 of 9] Compiling Data.HashMap.Internal.Strict ( Data/HashMap/Internal/Strict.hs, nothing ) unordered-containers> [6 of 9] Compiling Data.HashSet.Internal ( Data/HashSet/Internal.hs, nothing ) unordered-containers> [7 of 9] Compiling Data.HashSet ( Data/HashSet.hs, nothing ) unordered-containers> [8 of 9] Compiling Data.HashMap.Strict ( Data/HashMap/Strict.hs, nothing ) unordered-containers> [9 of 9] Compiling Data.HashMap.Lazy ( Data/HashMap/Lazy.hs, nothing ) unordered-containers> Haddock coverage: unordered-containers> 33% ( 16 / 48) in 'Data.HashMap.Internal.Array' unordered-containers> Missing documentation for: unordered-containers> Array (Data/HashMap/Internal/Array.hs:125) unordered-containers> MArray (Data/HashMap/Internal/Array.hs:157) unordered-containers> new_ (Data/HashMap/Internal/Array.hs:208) unordered-containers> singleton (Data/HashMap/Internal/Array.hs:225) unordered-containers> singletonM (Data/HashMap/Internal/Array.hs:229) unordered-containers> snoc (Data/HashMap/Internal/Array.hs:233) unordered-containers> pair (Data/HashMap/Internal/Array.hs:242) unordered-containers> length (Data/HashMap/Internal/Array.hs:154) unordered-containers> lengthM (Data/HashMap/Internal/Array.hs:162) unordered-containers> read (Data/HashMap/Internal/Array.hs:249) unordered-containers> write (Data/HashMap/Internal/Array.hs:255) unordered-containers> index (Data/HashMap/Internal/Array.hs:262) unordered-containers> indexM (Data/HashMap/Internal/Array.hs:274) unordered-containers> index# (Data/HashMap/Internal/Array.hs:268) unordered-containers> sameArray1 (Data/HashMap/Internal/Array.hs:140) unordered-containers> unsafeFreeze (Data/HashMap/Internal/Array.hs:280) unordered-containers> unsafeThaw (Data/HashMap/Internal/Array.hs:286) unordered-containers> unsafeSameArray (Data/HashMap/Internal/Array.hs:136) unordered-containers> run (Data/HashMap/Internal/Array.hs:292) unordered-containers> cloneM (Data/HashMap/Internal/Array.hs:314) unordered-containers> foldl (Data/HashMap/Internal/Array.hs:404) unordered-containers> foldl' (Data/HashMap/Internal/Array.hs:375) unordered-containers> foldr (Data/HashMap/Internal/Array.hs:394) unordered-containers> foldr' (Data/HashMap/Internal/Array.hs:385) unordered-containers> foldMap (Data/HashMap/Internal/Array.hs:417) unordered-containers> thaw (Data/HashMap/Internal/Array.hs:436) unordered-containers> map (Data/HashMap/Internal/Array.hs:461) unordered-containers> traverse (Data/HashMap/Internal/Array.hs:537) unordered-containers> traverse' (Data/HashMap/Internal/Array.hs:553) unordered-containers> toList (Data/HashMap/Internal/Array.hs:529) unordered-containers> fromList (Data/HashMap/Internal/Array.hs:494) unordered-containers> fromList' (Data/HashMap/Internal/Array.hs:506) unordered-containers> 25% ( 1 / 4) in 'Data.HashMap.Internal.List' unordered-containers> Missing documentation for: unordered-containers> isPermutationBy (Data/HashMap/Internal/List.hs:40) unordered-containers> deleteBy (Data/HashMap/Internal/List.hs:83) unordered-containers> unorderedCompare (Data/HashMap/Internal/List.hs:68) unordered-containers> Warning: 'Leaf' is ambiguous. It is defined unordered-containers> * at Data/HashMap/Internal.hs:225:7 unordered-containers> * at Data/HashMap/Internal.hs:185:1 unordered-containers> You may be able to disambiguate the identifier by qualifying it or unordered-containers> by specifying the type/value namespace explicitly. unordered-containers> Defaulting to the one defined at Data/HashMap/Internal.hs:185:1 unordered-containers> Warning: 'at' is out of scope. unordered-containers> If you qualify the identifier, haddock can try to link it anyway. unordered-containers> 88% ( 93 /105) in 'Data.HashMap.Internal' unordered-containers> Missing documentation for: unordered-containers> Leaf (Data/HashMap/Internal.hs:185) unordered-containers> intersectionWithKey# (Data/HashMap/Internal.hs:1855) unordered-containers> updateOrConcatWithKey (Data/HashMap/Internal.hs:2368) unordered-containers> equalKeys (Data/HashMap/Internal.hs:511) unordered-containers> equalKeys1 (Data/HashMap/Internal.hs:495) unordered-containers> lookupRecordCollision (Data/HashMap/Internal.hs:678) unordered-containers> LookupRes (Data/HashMap/Internal.hs:657) unordered-containers> lookupResToMaybe (Data/HashMap/Internal.hs:660) unordered-containers> insert' (Data/HashMap/Internal.hs:806) unordered-containers> delete' (Data/HashMap/Internal.hs:1124) unordered-containers> insertNewKey (Data/HashMap/Internal.hs:848) unordered-containers> insertKeyExists (Data/HashMap/Internal.hs:883) unordered-containers> 50% ( 3 / 6) in 'Data.HashMap.Internal.Debug' unordered-containers> Missing documentation for: unordered-containers> valid (Data/HashMap/Internal/Debug.hs:98) unordered-containers> Validity (Data/HashMap/Internal/Debug.hs:43) unordered-containers> SubHashPath (Data/HashMap/Internal/Debug.hs:75) unordered-containers> Warning: 'lookup' is out of scope. unordered-containers> If you qualify the identifier, haddock can try to link it anyway. unordered-containers> Warning: 'at' is out of scope. unordered-containers> If you qualify the identifier, haddock can try to link it anyway. unordered-containers> 100% ( 67 / 67) in 'Data.HashMap.Internal.Strict' unordered-containers> Warning: 'HashSet' is ambiguous. It is defined unordered-containers> * at Data/HashSet/Internal.hs:112:21 unordered-containers> * at Data/HashSet/Internal.hs:112:1 unordered-containers> You may be able to disambiguate the identifier by qualifying it or unordered-containers> by specifying the type/value namespace explicitly. unordered-containers> Defaulting to the one defined at Data/HashSet/Internal.hs:112:1 unordered-containers> 100% ( 35 / 35) in 'Data.HashSet.Internal' unordered-containers> Warning: 'HashSet' is ambiguous. It is defined unordered-containers> * at Data/HashSet/Internal.hs:112:21 unordered-containers> * at Data/HashSet/Internal.hs:112:1 unordered-containers> You may be able to disambiguate the identifier by qualifying it or unordered-containers> by specifying the type/value namespace explicitly. unordered-containers> Defaulting to the one defined at Data/HashSet/Internal.hs:112:1 unordered-containers> 100% ( 32 / 32) in 'Data.HashSet' unordered-containers> 100% ( 69 / 69) in 'Data.HashMap.Strict' unordered-containers> 100% ( 69 / 69) in 'Data.HashMap.Lazy' unordered-containers> Warning: Data.HashMap.Internal: could not find link destinations for: unordered-containers> - Data.HashMap.Internal.D:R:ItemHashMap unordered-containers> Warning: Data.HashMap.Internal.Strict: could not find link destinations for: unordered-containers> - Data.HashMap.Internal.D:R:ItemHashMap unordered-containers> Warning: Data.HashSet.Internal: could not find link destinations for: unordered-containers> - Data.HashSet.Internal.D:R:ItemHashSet unordered-containers> Warning: Data.HashSet: could not find link destinations for: unordered-containers> - Data.HashSet.Internal.D:R:ItemHashSet unordered-containers> Warning: Data.HashMap.Strict: could not find link destinations for: unordered-containers> - Data.HashMap.Internal.D:R:ItemHashMap unordered-containers> Warning: Data.HashMap.Lazy: could not find link destinations for: unordered-containers> - Data.HashMap.Internal.D:R:ItemHashMap unordered-containers> Documentation created: dist/doc/html/unordered-containers/, unordered-containers> dist/doc/html/unordered-containers/unordered-containers.txt unordered-containers> Preprocessing test suite 'unordered-containers-tests' for unordered-containers-0.2.20.. unordered-containers> Running phase: installPhase unordered-containers> Installing library in /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1 unordered-containers> Running phase: fixupPhase unordered-containers> shrinking RPATHs of ELF executables and libraries in /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20 unordered-containers> shrinking /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/libHSunordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1-ghc9.8.4.so unordered-containers> checking for references to /build/ in /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20... unordered-containers> patching script interpreter paths in /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20 unordered-containers> stripping (with command strip and flags -S -p) in /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20/lib unordered-containers> shrinking RPATHs of ELF executables and libraries in /nix/store/xs3bv7g7vgcjk79d9mq86awxj6bb46z9-unordered-containers-0.2.20-doc unordered-containers> checking for references to /build/ in /nix/store/xs3bv7g7vgcjk79d9mq86awxj6bb46z9-unordered-containers-0.2.20-doc... unordered-containers> patching script interpreter paths in /nix/store/xs3bv7g7vgcjk79d9mq86awxj6bb46z9-unordered-containers-0.2.20-doc unordered-containers (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20 /nix/store/xs3bv7g7vgcjk79d9mq86awxj6bb46z9-unordered-containers-0.2.20-doc unordered-containers (post)> Pushing 2 paths (70 are already present) using zstd to cache sellout ⏳ unordered-containers (post)> unordered-containers (post)> Pushing /nix/store/xs3bv7g7vgcjk79d9mq86awxj6bb46z9-unordered-containers-0.2.20-doc (4.50 MiB) unordered-containers (post)> Pushing /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20 (9.26 MiB) unordered-containers (post)> unordered-containers (post)> All done. unordered-containers (post)> added 2 signatures unordered-containers (post)> added 1 signatures unordered-containers (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20 /nix/store/xs3bv7g7vgcjk79d9mq86awxj6bb46z9-unordered-containers-0.2.20-doc unordered-containers (post)> copying 2 paths... unordered-containers (post)> copying path '/nix/store/xs3bv7g7vgcjk79d9mq86awxj6bb46z9-unordered-containers-0.2.20-doc' to 'https://cache.nix-ci.com'... unordered-containers (post)> copying path '/nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20' to 'https://cache.nix-ci.com'... unordered-containers (post)> copying 1 paths... unordered-containers (post)> copying path '/nix/store/kd82f77swbga7qbbw21x9pl7myq4dsmi-unordered-containers-0.2.20.drv' to 'https://cache.nix-ci.com'... unordered-containers (post)> added 0 signatures unordered-containers (post)> added 0 signatures unordered-containers (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20 /nix/store/xs3bv7g7vgcjk79d9mq86awxj6bb46z9-unordered-containers-0.2.20-doc unordered-containers (post)> copying 2 paths... unordered-containers (post)> copying path '/nix/store/xs3bv7g7vgcjk79d9mq86awxj6bb46z9-unordered-containers-0.2.20-doc' to 'ssh-ng://worker.nix-ci.com'... unordered-containers (post)> copying path '/nix/store/vfm1p75ckhsrc17sgblki6y4v00rpq5m-unordered-containers-0.2.20' to 'ssh-ng://worker.nix-ci.com'... unordered-containers (post)> copying 1 paths... unordered-containers (post)> copying path '/nix/store/kd82f77swbga7qbbw21x9pl7myq4dsmi-unordered-containers-0.2.20.drv' to 'ssh-ng://worker.nix-ci.com'... building '/nix/store/3i938nwnxca35b5cj7d63868n233c4gh-quickcheck-instances-0.3.32.drv'... quickcheck-instances> Running phase: setupCompilerEnvironmentPhase quickcheck-instances> Build with /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4. quickcheck-instances> Running phase: unpackPhase quickcheck-instances> unpacking source archive /nix/store/kz0fzqcr8g42rvq6dwlwvzxmg8rjfhqn-quickcheck-instances-0.3.32.tar.gz quickcheck-instances> source root is quickcheck-instances-0.3.32 quickcheck-instances> setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file "quickcheck-instances-0.3.32/test/Tests.hs" quickcheck-instances> Running phase: patchPhase quickcheck-instances> Replace Cabal file with edited version from mirror://hackage/quickcheck-instances-0.3.32/revision/1.cabal. quickcheck-instances> Running phase: compileBuildDriverPhase quickcheck-instances> setupCompileFlags: -package-db=/build/tmp.005dmxV3uw/setup-package.conf.d -threaded quickcheck-instances> [1 of 2] Compiling Main ( Setup.hs, /build/tmp.005dmxV3uw/Main.o ) quickcheck-instances> [2 of 2] Linking Setup quickcheck-instances> Running phase: updateAutotoolsGnuConfigScriptsPhase quickcheck-instances> Running phase: configurePhase quickcheck-instances> configureFlags: --verbose --prefix=/nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/bz238v975dal8z6aabxgp8p8mharzb1l-quickcheck-instances-0.3.32-doc/share/doc/quickcheck-instances-0.3.32 --with-gcc=gcc --package-db=/build/tmp.005dmxV3uw/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/vj3rmg6937p9icir6bazbdcb4xdnrg9j-ncurses-6.5/lib --extra-lib-dirs=/nix/store/0aaj6jbxclpwvrphggqz4vf5hg8360fr-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/vaix9m2syrilm7hv3690plsk35y0arwm-elfutils-0.192/lib --extra-lib-dirs=/nix/store/m9fycbkaairz8kampnsl7sx1aanvl0db-gmp-with-cxx-6.3.0/lib quickcheck-instances> Using Parsec parser quickcheck-instances> Configuring quickcheck-instances-0.3.32... quickcheck-instances> Dependency OneTuple >=0.4.2 && <0.5: using OneTuple-0.4.2 quickcheck-instances> Dependency QuickCheck >=2.14.2 && <2.15.1: using QuickCheck-2.14.3 quickcheck-instances> Dependency array >=0.5.3.0 && <0.6: using array-0.5.8.0 quickcheck-instances> Dependency base >=4.12.0.0 && <4.22: using base-4.19.2.0 quickcheck-instances> Dependency bytestring >=0.10.8.2 && <0.13: using bytestring-0.12.1.0 quickcheck-instances> Dependency case-insensitive >=1.2.0.11 && <1.3: using case-insensitive-1.2.1.0 quickcheck-instances> Dependency containers >=0.6.0.1 && <0.8: using containers-0.6.8 quickcheck-instances> Dependency data-fix >=0.3 && <0.4: using data-fix-0.3.4 quickcheck-instances> Dependency hashable >=1.4.4.0 && <1.6: using hashable-1.4.7.0 quickcheck-instances> Dependency integer-logarithms >=1.0.3.1 && <1.1: using quickcheck-instances> integer-logarithms-1.0.4 quickcheck-instances> Dependency old-time >=1.1.0.0 && <1.2: using old-time-1.1.0.4 quickcheck-instances> Dependency primitive >=0.9.0.0 && <0.10: using primitive-0.9.1.0 quickcheck-instances> Dependency scientific >=0.3.8.0 && <0.4: using scientific-0.3.8.0 quickcheck-instances> Dependency splitmix >=0.1.0.5 && <0.2: using splitmix-0.1.1 quickcheck-instances> Dependency strict >=0.5 && <0.6: using strict-0.5.1 quickcheck-instances> Dependency tagged >=0.8.8 && <0.9: using tagged-0.8.8 quickcheck-instances> Dependency text >=1.2.3.0 && <1.3 || >=2.0 && <2.2: using text-2.1.1 quickcheck-instances> Dependency text-short >=0.1.4 && <0.2: using text-short-0.1.6 quickcheck-instances> Dependency these >=1.2.1 && <1.3: using these-1.2.1 quickcheck-instances> Dependency time-compat >=1.9.4 && <1.10: using time-compat-1.9.7 quickcheck-instances> Dependency transformers >=0.5.6.2 && <0.7: using transformers-0.6.1.0 quickcheck-instances> Dependency unordered-containers >=0.2.20 && <0.3: using quickcheck-instances> unordered-containers-0.2.20 quickcheck-instances> Dependency uuid-types >=1.0.6 && <1.1: using uuid-types-1.0.6 quickcheck-instances> Dependency vector >=0.13.1.0 && <0.14: using vector-0.13.2.0 quickcheck-instances> Dependency QuickCheck: using QuickCheck-2.14.3 quickcheck-instances> Dependency base: using base-4.19.2.0 quickcheck-instances> Dependency containers: using containers-0.6.8 quickcheck-instances> Dependency primitive: using primitive-0.9.1.0 quickcheck-instances> Dependency quickcheck-instances: using quickcheck-instances-0.3.32 quickcheck-instances> Dependency tagged: using tagged-0.8.8 quickcheck-instances> Dependency uuid-types: using uuid-types-1.0.6 quickcheck-instances> Source component graph: quickcheck-instances> component lib quickcheck-instances> component test:self-test dependency lib quickcheck-instances> Configured component graph: quickcheck-instances> component quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0 quickcheck-instances> include OneTuple-0.4.2-2W00w8aT0kw9xsuxClE0fS quickcheck-instances> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi quickcheck-instances> include array-0.5.8.0-bbbc quickcheck-instances> include base-4.19.2.0-0fde quickcheck-instances> include bytestring-0.12.1.0-c522 quickcheck-instances> include case-insensitive-1.2.1.0-L8lBIJx4g3RKgOzxuT2pH8 quickcheck-instances> include containers-0.6.8-ddec quickcheck-instances> include data-fix-0.3.4-3ugtRcj9IpDBZBhdn1bmmt quickcheck-instances> include hashable-1.4.7.0-Cn74cqcjwyW1of38P6bM3u quickcheck-instances> include integer-logarithms-1.0.4-CgIU5qp4vS4EBjs7iQtX8a quickcheck-instances> include old-time-1.1.0.4-CQvJG9Ew6X99pa7ogfDxzB quickcheck-instances> include primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq quickcheck-instances> include scientific-0.3.8.0-K5tDFJQON2O5O02hw1W6oz quickcheck-instances> include splitmix-0.1.1-J9nx3j5SWnzANc5bCE6otr quickcheck-instances> include strict-0.5.1-GR6xmZZ6WmbKVxycEqE6ht quickcheck-instances> include tagged-0.8.8-2THEaAWbkXP2mKNzFVOU9b quickcheck-instances> include text-2.1.1-fd6a quickcheck-instances> include text-short-0.1.6-7GVeyChRUtDArYfvBeLBPZ quickcheck-instances> include these-1.2.1-VL1lchWElUJvBkZ9nzqJN quickcheck-instances> include time-compat-1.9.7-55iqxFH3MBI5OtmQDz5rFf quickcheck-instances> include transformers-0.6.1.0-f128 quickcheck-instances> include unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1 quickcheck-instances> include uuid-types-1.0.6-702rL0iyLjWH7BUVzLVuEK quickcheck-instances> include vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 quickcheck-instances> component quickcheck-instances-0.3.32-Jl8WciKx8XRFMNp4uu4KaV-self-test quickcheck-instances> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi quickcheck-instances> include base-4.19.2.0-0fde quickcheck-instances> include containers-0.6.8-ddec quickcheck-instances> include primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq quickcheck-instances> include quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0 quickcheck-instances> include tagged-0.8.8-2THEaAWbkXP2mKNzFVOU9b quickcheck-instances> include uuid-types-1.0.6-702rL0iyLjWH7BUVzLVuEK quickcheck-instances> Linked component graph: quickcheck-instances> unit quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0 quickcheck-instances> include OneTuple-0.4.2-2W00w8aT0kw9xsuxClE0fS quickcheck-instances> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi quickcheck-instances> include array-0.5.8.0-bbbc quickcheck-instances> include base-4.19.2.0-0fde quickcheck-instances> include bytestring-0.12.1.0-c522 quickcheck-instances> include case-insensitive-1.2.1.0-L8lBIJx4g3RKgOzxuT2pH8 quickcheck-instances> include containers-0.6.8-ddec quickcheck-instances> include data-fix-0.3.4-3ugtRcj9IpDBZBhdn1bmmt quickcheck-instances> include hashable-1.4.7.0-Cn74cqcjwyW1of38P6bM3u quickcheck-instances> include integer-logarithms-1.0.4-CgIU5qp4vS4EBjs7iQtX8a quickcheck-instances> include old-time-1.1.0.4-CQvJG9Ew6X99pa7ogfDxzB quickcheck-instances> include primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq quickcheck-instances> include scientific-0.3.8.0-K5tDFJQON2O5O02hw1W6oz quickcheck-instances> include splitmix-0.1.1-J9nx3j5SWnzANc5bCE6otr quickcheck-instances> include strict-0.5.1-GR6xmZZ6WmbKVxycEqE6ht quickcheck-instances> include tagged-0.8.8-2THEaAWbkXP2mKNzFVOU9b quickcheck-instances> include text-2.1.1-fd6a quickcheck-instances> include text-short-0.1.6-7GVeyChRUtDArYfvBeLBPZ quickcheck-instances> include these-1.2.1-VL1lchWElUJvBkZ9nzqJN quickcheck-instances> include time-compat-1.9.7-55iqxFH3MBI5OtmQDz5rFf quickcheck-instances> include transformers-0.6.1.0-f128 quickcheck-instances> include unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1 quickcheck-instances> include uuid-types-1.0.6-702rL0iyLjWH7BUVzLVuEK quickcheck-instances> include vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 quickcheck-instances> Test.QuickCheck.Instances=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances,Test.QuickCheck.Instances.Array=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Array,Test.QuickCheck.Instances.Array.Byte=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Array.Byte,Test.QuickCheck.Instances.ByteString=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.ByteString,Test.QuickCheck.Instances.CaseInsensitive=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.CaseInsensitive,Test.QuickCheck.Instances.Containers=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Containers,Test.QuickCheck.Instances.DataFix=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.DataFix,Test.QuickCheck.Instances.Hashable=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Hashable,Test.QuickCheck.Instances.Natural=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Natural,Test.QuickCheck.Instances.OldTime=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.OldTime,Test.QuickCheck.Instances.Primitive=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Primitive,Test.QuickCheck.Instances.Scientific=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Scientific,Test.QuickCheck.Instances.Semigroup=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Semigroup,Test.QuickCheck.Instances.Solo=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Solo,Test.QuickCheck.Instances.Strict=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Strict,Test.QuickCheck.Instances.Tagged=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Tagged,Test.QuickCheck.Instances.Text=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Text,Test.QuickCheck.Instances.Text.Short=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Text.Short,Test.QuickCheck.Instances.These=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.These,Test.QuickCheck.Instances.Time=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Time,Test.QuickCheck.Instances.Transformer=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Transformer,Test.QuickCheck.Instances.UUID=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.UUID,Test.QuickCheck.Instances.UnorderedContainers=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.UnorderedContainers,Test.QuickCheck.Instances.Vector=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Vector,Test.QuickCheck.Instances.Void=quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0:Test.QuickCheck.Instances.Void quickcheck-instances> unit quickcheck-instances-0.3.32-Jl8WciKx8XRFMNp4uu4KaV-self-test quickcheck-instances> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi quickcheck-instances> include base-4.19.2.0-0fde quickcheck-instances> include containers-0.6.8-ddec quickcheck-instances> include primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq quickcheck-instances> include quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0 quickcheck-instances> include tagged-0.8.8-2THEaAWbkXP2mKNzFVOU9b quickcheck-instances> include uuid-types-1.0.6-702rL0iyLjWH7BUVzLVuEK quickcheck-instances> Ready component graph: quickcheck-instances> definite quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0 quickcheck-instances> depends OneTuple-0.4.2-2W00w8aT0kw9xsuxClE0fS quickcheck-instances> depends QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi quickcheck-instances> depends array-0.5.8.0-bbbc quickcheck-instances> depends base-4.19.2.0-0fde quickcheck-instances> depends bytestring-0.12.1.0-c522 quickcheck-instances> depends case-insensitive-1.2.1.0-L8lBIJx4g3RKgOzxuT2pH8 quickcheck-instances> depends containers-0.6.8-ddec quickcheck-instances> depends data-fix-0.3.4-3ugtRcj9IpDBZBhdn1bmmt quickcheck-instances> depends hashable-1.4.7.0-Cn74cqcjwyW1of38P6bM3u quickcheck-instances> depends integer-logarithms-1.0.4-CgIU5qp4vS4EBjs7iQtX8a quickcheck-instances> depends old-time-1.1.0.4-CQvJG9Ew6X99pa7ogfDxzB quickcheck-instances> depends primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq quickcheck-instances> depends scientific-0.3.8.0-K5tDFJQON2O5O02hw1W6oz quickcheck-instances> depends splitmix-0.1.1-J9nx3j5SWnzANc5bCE6otr quickcheck-instances> depends strict-0.5.1-GR6xmZZ6WmbKVxycEqE6ht quickcheck-instances> depends tagged-0.8.8-2THEaAWbkXP2mKNzFVOU9b quickcheck-instances> depends text-2.1.1-fd6a quickcheck-instances> depends text-short-0.1.6-7GVeyChRUtDArYfvBeLBPZ quickcheck-instances> depends these-1.2.1-VL1lchWElUJvBkZ9nzqJN quickcheck-instances> depends time-compat-1.9.7-55iqxFH3MBI5OtmQDz5rFf quickcheck-instances> depends transformers-0.6.1.0-f128 quickcheck-instances> depends unordered-containers-0.2.20-B8fEFgZAZ7aTlt0iRPVk1 quickcheck-instances> depends uuid-types-1.0.6-702rL0iyLjWH7BUVzLVuEK quickcheck-instances> depends vector-0.13.2.0-IIUr7Zn0DbyEckDMt8chd9 quickcheck-instances> definite quickcheck-instances-0.3.32-Jl8WciKx8XRFMNp4uu4KaV-self-test quickcheck-instances> depends QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi quickcheck-instances> depends base-4.19.2.0-0fde quickcheck-instances> depends containers-0.6.8-ddec quickcheck-instances> depends primitive-0.9.1.0-Klx13KZdqwr1yrKGFGoUxq quickcheck-instances> depends quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0 quickcheck-instances> depends tagged-0.8.8-2THEaAWbkXP2mKNzFVOU9b quickcheck-instances> depends uuid-types-1.0.6-702rL0iyLjWH7BUVzLVuEK quickcheck-instances> Using Cabal-3.10.3.0 compiled by ghc-9.8 quickcheck-instances> Using compiler: ghc-9.8.4 quickcheck-instances> Using install prefix: quickcheck-instances> /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32 quickcheck-instances> Executables installed in: quickcheck-instances> /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32/bin quickcheck-instances> Libraries installed in: quickcheck-instances> /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0 quickcheck-instances> Dynamic Libraries installed in: quickcheck-instances> /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4 quickcheck-instances> Private executables installed in: quickcheck-instances> /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32/libexec/x86_64-linux-ghc-9.8.4/quickcheck-instances-0.3.32 quickcheck-instances> Data files installed in: quickcheck-instances> /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32/share/x86_64-linux-ghc-9.8.4/quickcheck-instances-0.3.32 quickcheck-instances> Documentation installed in: quickcheck-instances> /nix/store/bz238v975dal8z6aabxgp8p8mharzb1l-quickcheck-instances-0.3.32-doc/share/doc/quickcheck-instances-0.3.32 quickcheck-instances> Configuration files installed in: quickcheck-instances> /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32/etc quickcheck-instances> No alex found quickcheck-instances> Using ar found on system at: quickcheck-instances> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ar quickcheck-instances> No c2hs found quickcheck-instances> No cpphs found quickcheck-instances> No doctest found quickcheck-instances> Using gcc version 14.3.0 given by user at: quickcheck-instances> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/gcc quickcheck-instances> Using ghc version 9.8.4 found on system at: quickcheck-instances> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc quickcheck-instances> Using ghc-pkg version 9.8.4 found on system at: quickcheck-instances> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc-pkg-9.8.4 quickcheck-instances> No ghcjs found quickcheck-instances> No ghcjs-pkg found quickcheck-instances> No greencard found quickcheck-instances> Using haddock version 2.30.0 found on system at: quickcheck-instances> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/haddock-ghc-9.8.4 quickcheck-instances> No happy found quickcheck-instances> Using haskell-suite found on system at: haskell-suite-dummy-location quickcheck-instances> Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location quickcheck-instances> No hmake found quickcheck-instances> Using hpc version 0.69 found on system at: quickcheck-instances> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hpc-ghc-9.8.4 quickcheck-instances> Using hsc2hs version 0.68.10 found on system at: quickcheck-instances> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4 quickcheck-instances> Using hscolour version 1.25 found on system at: quickcheck-instances> /nix/store/fb7sllj82i2dv2ijivsz2abp0agz40p9-hscolour-1.25/bin/HsColour quickcheck-instances> No jhc found quickcheck-instances> Using ld found on system at: quickcheck-instances> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ld.gold quickcheck-instances> No pkg-config found quickcheck-instances> Using runghc version 9.8.4 found on system at: quickcheck-instances> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/runghc-9.8.4 quickcheck-instances> Using strip version 2.44 found on system at: quickcheck-instances> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/strip quickcheck-instances> Using tar found on system at: quickcheck-instances> /nix/store/76df6j9sq1ar58id3y3v4rkijany1wxp-gnutar-1.35/bin/tar quickcheck-instances> No uhc found quickcheck-instances> Running phase: buildPhase quickcheck-instances> Preprocessing library for quickcheck-instances-0.3.32.. quickcheck-instances> Building library for quickcheck-instances-0.3.32.. quickcheck-instances> [ 1 of 26] Compiling Test.QuickCheck.Instances.Containers ( src/Test/QuickCheck/Instances/Containers.hs, dist/build/Test/QuickCheck/Instances/Containers.o, dist/build/Test/QuickCheck/Instances/Containers.dyn_o ) quickcheck-instances> [ 2 of 26] Compiling Test.QuickCheck.Instances.CustomPrelude ( src/Test/QuickCheck/Instances/CustomPrelude.hs, dist/build/Test/QuickCheck/Instances/CustomPrelude.o, dist/build/Test/QuickCheck/Instances/CustomPrelude.dyn_o ) quickcheck-instances> [ 3 of 26] Compiling Test.QuickCheck.Instances.CaseInsensitive ( src/Test/QuickCheck/Instances/CaseInsensitive.hs, dist/build/Test/QuickCheck/Instances/CaseInsensitive.o, dist/build/Test/QuickCheck/Instances/CaseInsensitive.dyn_o ) quickcheck-instances> [ 4 of 26] Compiling Test.QuickCheck.Instances.ByteString ( src/Test/QuickCheck/Instances/ByteString.hs, dist/build/Test/QuickCheck/Instances/ByteString.o, dist/build/Test/QuickCheck/Instances/ByteString.dyn_o ) quickcheck-instances> [ 5 of 26] Compiling Test.QuickCheck.Instances.Array ( src/Test/QuickCheck/Instances/Array.hs, dist/build/Test/QuickCheck/Instances/Array.o, dist/build/Test/QuickCheck/Instances/Array.dyn_o ) quickcheck-instances> [ 6 of 26] Compiling Test.QuickCheck.Instances.DataFix ( src/Test/QuickCheck/Instances/DataFix.hs, dist/build/Test/QuickCheck/Instances/DataFix.o, dist/build/Test/QuickCheck/Instances/DataFix.dyn_o ) quickcheck-instances> [ 7 of 26] Compiling Test.QuickCheck.Instances.Hashable ( src/Test/QuickCheck/Instances/Hashable.hs, dist/build/Test/QuickCheck/Instances/Hashable.o, dist/build/Test/QuickCheck/Instances/Hashable.dyn_o ) quickcheck-instances> [ 8 of 26] Compiling Test.QuickCheck.Instances.Natural ( src/Test/QuickCheck/Instances/Natural.hs, dist/build/Test/QuickCheck/Instances/Natural.o, dist/build/Test/QuickCheck/Instances/Natural.dyn_o ) quickcheck-instances> [ 9 of 26] Compiling Test.QuickCheck.Instances.OldTime ( src/Test/QuickCheck/Instances/OldTime.hs, dist/build/Test/QuickCheck/Instances/OldTime.o, dist/build/Test/QuickCheck/Instances/OldTime.dyn_o ) quickcheck-instances> [10 of 26] Compiling Test.QuickCheck.Instances.Primitive ( src/Test/QuickCheck/Instances/Primitive.hs, dist/build/Test/QuickCheck/Instances/Primitive.o, dist/build/Test/QuickCheck/Instances/Primitive.dyn_o ) quickcheck-instances> [11 of 26] Compiling Test.QuickCheck.Instances.Array.Byte ( src/Test/QuickCheck/Instances/Array/Byte.hs, dist/build/Test/QuickCheck/Instances/Array/Byte.o, dist/build/Test/QuickCheck/Instances/Array/Byte.dyn_o ) quickcheck-instances> [12 of 26] Compiling Test.QuickCheck.Instances.Scientific ( src/Test/QuickCheck/Instances/Scientific.hs, dist/build/Test/QuickCheck/Instances/Scientific.o, dist/build/Test/QuickCheck/Instances/Scientific.dyn_o ) quickcheck-instances> [13 of 26] Compiling Test.QuickCheck.Instances.Semigroup ( src/Test/QuickCheck/Instances/Semigroup.hs, dist/build/Test/QuickCheck/Instances/Semigroup.o, dist/build/Test/QuickCheck/Instances/Semigroup.dyn_o ) quickcheck-instances> [14 of 26] Compiling Test.QuickCheck.Instances.Solo ( src/Test/QuickCheck/Instances/Solo.hs, dist/build/Test/QuickCheck/Instances/Solo.o, dist/build/Test/QuickCheck/Instances/Solo.dyn_o ) quickcheck-instances> [15 of 26] Compiling Test.QuickCheck.Instances.Strict ( src/Test/QuickCheck/Instances/Strict.hs, dist/build/Test/QuickCheck/Instances/Strict.o, dist/build/Test/QuickCheck/Instances/Strict.dyn_o ) quickcheck-instances> [16 of 26] Compiling Test.QuickCheck.Instances.Tagged ( src/Test/QuickCheck/Instances/Tagged.hs, dist/build/Test/QuickCheck/Instances/Tagged.o, dist/build/Test/QuickCheck/Instances/Tagged.dyn_o ) quickcheck-instances> [17 of 26] Compiling Test.QuickCheck.Instances.Text ( src/Test/QuickCheck/Instances/Text.hs, dist/build/Test/QuickCheck/Instances/Text.o, dist/build/Test/QuickCheck/Instances/Text.dyn_o ) quickcheck-instances> [18 of 26] Compiling Test.QuickCheck.Instances.Text.Short ( src/Test/QuickCheck/Instances/Text/Short.hs, dist/build/Test/QuickCheck/Instances/Text/Short.o, dist/build/Test/QuickCheck/Instances/Text/Short.dyn_o ) quickcheck-instances> [19 of 26] Compiling Test.QuickCheck.Instances.These ( src/Test/QuickCheck/Instances/These.hs, dist/build/Test/QuickCheck/Instances/These.o, dist/build/Test/QuickCheck/Instances/These.dyn_o ) quickcheck-instances> [20 of 26] Compiling Test.QuickCheck.Instances.Time ( src/Test/QuickCheck/Instances/Time.hs, dist/build/Test/QuickCheck/Instances/Time.o, dist/build/Test/QuickCheck/Instances/Time.dyn_o ) quickcheck-instances> [21 of 26] Compiling Test.QuickCheck.Instances.Transformer ( src/Test/QuickCheck/Instances/Transformer.hs, dist/build/Test/QuickCheck/Instances/Transformer.o, dist/build/Test/QuickCheck/Instances/Transformer.dyn_o ) quickcheck-instances> [22 of 26] Compiling Test.QuickCheck.Instances.UUID ( src/Test/QuickCheck/Instances/UUID.hs, dist/build/Test/QuickCheck/Instances/UUID.o, dist/build/Test/QuickCheck/Instances/UUID.dyn_o ) quickcheck-instances> [23 of 26] Compiling Test.QuickCheck.Instances.UnorderedContainers ( src/Test/QuickCheck/Instances/UnorderedContainers.hs, dist/build/Test/QuickCheck/Instances/UnorderedContainers.o, dist/build/Test/QuickCheck/Instances/UnorderedContainers.dyn_o ) quickcheck-instances> [24 of 26] Compiling Test.QuickCheck.Instances.Vector ( src/Test/QuickCheck/Instances/Vector.hs, dist/build/Test/QuickCheck/Instances/Vector.o, dist/build/Test/QuickCheck/Instances/Vector.dyn_o ) quickcheck-instances> [25 of 26] Compiling Test.QuickCheck.Instances.Void ( src/Test/QuickCheck/Instances/Void.hs, dist/build/Test/QuickCheck/Instances/Void.o, dist/build/Test/QuickCheck/Instances/Void.dyn_o ) quickcheck-instances> [26 of 26] Compiling Test.QuickCheck.Instances ( src/Test/QuickCheck/Instances.hs, dist/build/Test/QuickCheck/Instances.o, dist/build/Test/QuickCheck/Instances.dyn_o ) quickcheck-instances> [ 1 of 26] Compiling Test.QuickCheck.Instances.Containers ( src/Test/QuickCheck/Instances/Containers.hs, dist/build/Test/QuickCheck/Instances/Containers.p_o ) quickcheck-instances> [ 2 of 26] Compiling Test.QuickCheck.Instances.CustomPrelude ( src/Test/QuickCheck/Instances/CustomPrelude.hs, dist/build/Test/QuickCheck/Instances/CustomPrelude.p_o ) quickcheck-instances> [ 3 of 26] Compiling Test.QuickCheck.Instances.CaseInsensitive ( src/Test/QuickCheck/Instances/CaseInsensitive.hs, dist/build/Test/QuickCheck/Instances/CaseInsensitive.p_o ) quickcheck-instances> [ 4 of 26] Compiling Test.QuickCheck.Instances.ByteString ( src/Test/QuickCheck/Instances/ByteString.hs, dist/build/Test/QuickCheck/Instances/ByteString.p_o ) quickcheck-instances> [ 5 of 26] Compiling Test.QuickCheck.Instances.Array ( src/Test/QuickCheck/Instances/Array.hs, dist/build/Test/QuickCheck/Instances/Array.p_o ) quickcheck-instances> [ 6 of 26] Compiling Test.QuickCheck.Instances.DataFix ( src/Test/QuickCheck/Instances/DataFix.hs, dist/build/Test/QuickCheck/Instances/DataFix.p_o ) quickcheck-instances> [ 7 of 26] Compiling Test.QuickCheck.Instances.Hashable ( src/Test/QuickCheck/Instances/Hashable.hs, dist/build/Test/QuickCheck/Instances/Hashable.p_o ) quickcheck-instances> [ 8 of 26] Compiling Test.QuickCheck.Instances.Natural ( src/Test/QuickCheck/Instances/Natural.hs, dist/build/Test/QuickCheck/Instances/Natural.p_o ) quickcheck-instances> [ 9 of 26] Compiling Test.QuickCheck.Instances.OldTime ( src/Test/QuickCheck/Instances/OldTime.hs, dist/build/Test/QuickCheck/Instances/OldTime.p_o ) quickcheck-instances> [10 of 26] Compiling Test.QuickCheck.Instances.Primitive ( src/Test/QuickCheck/Instances/Primitive.hs, dist/build/Test/QuickCheck/Instances/Primitive.p_o ) quickcheck-instances> [11 of 26] Compiling Test.QuickCheck.Instances.Array.Byte ( src/Test/QuickCheck/Instances/Array/Byte.hs, dist/build/Test/QuickCheck/Instances/Array/Byte.p_o ) quickcheck-instances> [12 of 26] Compiling Test.QuickCheck.Instances.Scientific ( src/Test/QuickCheck/Instances/Scientific.hs, dist/build/Test/QuickCheck/Instances/Scientific.p_o ) quickcheck-instances> [13 of 26] Compiling Test.QuickCheck.Instances.Semigroup ( src/Test/QuickCheck/Instances/Semigroup.hs, dist/build/Test/QuickCheck/Instances/Semigroup.p_o ) quickcheck-instances> [14 of 26] Compiling Test.QuickCheck.Instances.Solo ( src/Test/QuickCheck/Instances/Solo.hs, dist/build/Test/QuickCheck/Instances/Solo.p_o ) quickcheck-instances> [15 of 26] Compiling Test.QuickCheck.Instances.Strict ( src/Test/QuickCheck/Instances/Strict.hs, dist/build/Test/QuickCheck/Instances/Strict.p_o ) quickcheck-instances> [16 of 26] Compiling Test.QuickCheck.Instances.Tagged ( src/Test/QuickCheck/Instances/Tagged.hs, dist/build/Test/QuickCheck/Instances/Tagged.p_o ) quickcheck-instances> [17 of 26] Compiling Test.QuickCheck.Instances.Text ( src/Test/QuickCheck/Instances/Text.hs, dist/build/Test/QuickCheck/Instances/Text.p_o ) quickcheck-instances> [18 of 26] Compiling Test.QuickCheck.Instances.Text.Short ( src/Test/QuickCheck/Instances/Text/Short.hs, dist/build/Test/QuickCheck/Instances/Text/Short.p_o ) quickcheck-instances> [19 of 26] Compiling Test.QuickCheck.Instances.These ( src/Test/QuickCheck/Instances/These.hs, dist/build/Test/QuickCheck/Instances/These.p_o ) quickcheck-instances> [20 of 26] Compiling Test.QuickCheck.Instances.Time ( src/Test/QuickCheck/Instances/Time.hs, dist/build/Test/QuickCheck/Instances/Time.p_o ) quickcheck-instances> [21 of 26] Compiling Test.QuickCheck.Instances.Transformer ( src/Test/QuickCheck/Instances/Transformer.hs, dist/build/Test/QuickCheck/Instances/Transformer.p_o ) quickcheck-instances> [22 of 26] Compiling Test.QuickCheck.Instances.UUID ( src/Test/QuickCheck/Instances/UUID.hs, dist/build/Test/QuickCheck/Instances/UUID.p_o ) quickcheck-instances> [23 of 26] Compiling Test.QuickCheck.Instances.UnorderedContainers ( src/Test/QuickCheck/Instances/UnorderedContainers.hs, dist/build/Test/QuickCheck/Instances/UnorderedContainers.p_o ) quickcheck-instances> [24 of 26] Compiling Test.QuickCheck.Instances.Vector ( src/Test/QuickCheck/Instances/Vector.hs, dist/build/Test/QuickCheck/Instances/Vector.p_o ) quickcheck-instances> [25 of 26] Compiling Test.QuickCheck.Instances.Void ( src/Test/QuickCheck/Instances/Void.hs, dist/build/Test/QuickCheck/Instances/Void.p_o ) quickcheck-instances> [26 of 26] Compiling Test.QuickCheck.Instances ( src/Test/QuickCheck/Instances.hs, dist/build/Test/QuickCheck/Instances.p_o ) quickcheck-instances> Preprocessing test suite 'self-test' for quickcheck-instances-0.3.32.. quickcheck-instances> Building test suite 'self-test' for quickcheck-instances-0.3.32.. quickcheck-instances> [1 of 1] Compiling Main ( test/Tests.hs, dist/build/self-test/self-test-tmp/Main.o ) quickcheck-instances> [2 of 2] Linking dist/build/self-test/self-test quickcheck-instances> Running phase: checkPhase quickcheck-instances> Running 1 test suites... quickcheck-instances> Test suite self-test: RUNNING... quickcheck-instances> +++ OK, passed 100 tests. quickcheck-instances> +++ OK, passed 100 tests. quickcheck-instances> +++ OK, passed 100 tests. quickcheck-instances> +++ OK, passed 100 tests. quickcheck-instances> +++ OK, passed 100 tests. quickcheck-instances> Test suite self-test: PASS quickcheck-instances> Test suite logged to: dist/test/quickcheck-instances-0.3.32-self-test.log quickcheck-instances> 1 of 1 test suites (1 of 1 test cases) passed. quickcheck-instances> Running phase: haddockPhase quickcheck-instances> Preprocessing library for quickcheck-instances-0.3.32.. quickcheck-instances> Running Haddock on library for quickcheck-instances-0.3.32.. quickcheck-instances> Warning: The documentation for the following packages are not installed. No quickcheck-instances> links will be generated to these packages: vector-0.13.2.0 quickcheck-instances> Warning: --source-* options are ignored when --hyperlinked-source is enabled. quickcheck-instances> [ 1 of 26] Compiling Test.QuickCheck.Instances.Containers ( src/Test/QuickCheck/Instances/Containers.hs, nothing ) quickcheck-instances> [ 2 of 26] Compiling Test.QuickCheck.Instances.CustomPrelude ( src/Test/QuickCheck/Instances/CustomPrelude.hs, nothing ) quickcheck-instances> [ 3 of 26] Compiling Test.QuickCheck.Instances.CaseInsensitive ( src/Test/QuickCheck/Instances/CaseInsensitive.hs, nothing ) quickcheck-instances> [ 4 of 26] Compiling Test.QuickCheck.Instances.ByteString ( src/Test/QuickCheck/Instances/ByteString.hs, nothing ) quickcheck-instances> [ 5 of 26] Compiling Test.QuickCheck.Instances.Array ( src/Test/QuickCheck/Instances/Array.hs, nothing ) quickcheck-instances> [ 6 of 26] Compiling Test.QuickCheck.Instances.DataFix ( src/Test/QuickCheck/Instances/DataFix.hs, nothing ) quickcheck-instances> [ 7 of 26] Compiling Test.QuickCheck.Instances.Hashable ( src/Test/QuickCheck/Instances/Hashable.hs, nothing ) quickcheck-instances> [ 8 of 26] Compiling Test.QuickCheck.Instances.Natural ( src/Test/QuickCheck/Instances/Natural.hs, nothing ) quickcheck-instances> [ 9 of 26] Compiling Test.QuickCheck.Instances.OldTime ( src/Test/QuickCheck/Instances/OldTime.hs, nothing ) quickcheck-instances> [10 of 26] Compiling Test.QuickCheck.Instances.Primitive ( src/Test/QuickCheck/Instances/Primitive.hs, nothing ) quickcheck-instances> [11 of 26] Compiling Test.QuickCheck.Instances.Array.Byte ( src/Test/QuickCheck/Instances/Array/Byte.hs, nothing ) quickcheck-instances> [12 of 26] Compiling Test.QuickCheck.Instances.Scientific ( src/Test/QuickCheck/Instances/Scientific.hs, nothing ) quickcheck-instances> [13 of 26] Compiling Test.QuickCheck.Instances.Semigroup ( src/Test/QuickCheck/Instances/Semigroup.hs, nothing ) quickcheck-instances> [14 of 26] Compiling Test.QuickCheck.Instances.Solo ( src/Test/QuickCheck/Instances/Solo.hs, nothing ) quickcheck-instances> [15 of 26] Compiling Test.QuickCheck.Instances.Strict ( src/Test/QuickCheck/Instances/Strict.hs, nothing ) quickcheck-instances> [16 of 26] Compiling Test.QuickCheck.Instances.Tagged ( src/Test/QuickCheck/Instances/Tagged.hs, nothing ) quickcheck-instances> [17 of 26] Compiling Test.QuickCheck.Instances.Text ( src/Test/QuickCheck/Instances/Text.hs, nothing ) quickcheck-instances> [18 of 26] Compiling Test.QuickCheck.Instances.Text.Short ( src/Test/QuickCheck/Instances/Text/Short.hs, nothing ) quickcheck-instances> [19 of 26] Compiling Test.QuickCheck.Instances.These ( src/Test/QuickCheck/Instances/These.hs, nothing ) quickcheck-instances> [20 of 26] Compiling Test.QuickCheck.Instances.Time ( src/Test/QuickCheck/Instances/Time.hs, nothing ) quickcheck-instances> [21 of 26] Compiling Test.QuickCheck.Instances.Transformer ( src/Test/QuickCheck/Instances/Transformer.hs, nothing ) quickcheck-instances> [22 of 26] Compiling Test.QuickCheck.Instances.UUID ( src/Test/QuickCheck/Instances/UUID.hs, nothing ) quickcheck-instances> [23 of 26] Compiling Test.QuickCheck.Instances.UnorderedContainers ( src/Test/QuickCheck/Instances/UnorderedContainers.hs, nothing ) quickcheck-instances> [24 of 26] Compiling Test.QuickCheck.Instances.Vector ( src/Test/QuickCheck/Instances/Vector.hs, nothing ) quickcheck-instances> [25 of 26] Compiling Test.QuickCheck.Instances.Void ( src/Test/QuickCheck/Instances/Void.hs, nothing ) quickcheck-instances> [26 of 26] Compiling Test.QuickCheck.Instances ( src/Test/QuickCheck/Instances.hs, nothing ) quickcheck-instances> Haddock coverage: quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Containers' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.CaseInsensitive' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.ByteString' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Array' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.DataFix' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Hashable' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Natural' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.OldTime' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Primitive' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Array.Byte' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Scientific' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Semigroup' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Solo' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Strict' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Tagged' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Text' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Text.Short' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.These' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Time' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Transformer' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.UUID' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.UnorderedContainers' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Vector' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 0% ( 0 / 1) in 'Test.QuickCheck.Instances.Void' quickcheck-instances> Missing documentation for: quickcheck-instances> Module header quickcheck-instances> 100% ( 1 / 1) in 'Test.QuickCheck.Instances' quickcheck-instances> Warning: Test.QuickCheck.Instances.Vector: could not find link destinations for: quickcheck-instances> - Data.Vector.Vector quickcheck-instances> - Data.Vector.Primitive.Vector quickcheck-instances> - Data.Vector.Storable.Vector quickcheck-instances> - Data.Vector.Unboxed.Base.Unbox quickcheck-instances> - Data.Vector.Unboxed.Base.Vector quickcheck-instances> Documentation created: dist/doc/html/quickcheck-instances/, quickcheck-instances> dist/doc/html/quickcheck-instances/quickcheck-instances.txt quickcheck-instances> Preprocessing test suite 'self-test' for quickcheck-instances-0.3.32.. quickcheck-instances> Running phase: installPhase quickcheck-instances> Installing library in /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0 quickcheck-instances> Running phase: fixupPhase quickcheck-instances> shrinking RPATHs of ELF executables and libraries in /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32 quickcheck-instances> shrinking /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/libHSquickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0-ghc9.8.4.so quickcheck-instances> checking for references to /build/ in /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32... quickcheck-instances> patching script interpreter paths in /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32 quickcheck-instances> stripping (with command strip and flags -S -p) in /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32/lib quickcheck-instances> shrinking RPATHs of ELF executables and libraries in /nix/store/bz238v975dal8z6aabxgp8p8mharzb1l-quickcheck-instances-0.3.32-doc quickcheck-instances> checking for references to /build/ in /nix/store/bz238v975dal8z6aabxgp8p8mharzb1l-quickcheck-instances-0.3.32-doc... quickcheck-instances> patching script interpreter paths in /nix/store/bz238v975dal8z6aabxgp8p8mharzb1l-quickcheck-instances-0.3.32-doc quickcheck-instances (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/bz238v975dal8z6aabxgp8p8mharzb1l-quickcheck-instances-0.3.32-doc /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32 quickcheck-instances (post)> Pushing 2 paths (130 are already present) using zstd to cache sellout ⏳ quickcheck-instances (post)> quickcheck-instances (post)> Pushing /nix/store/bz238v975dal8z6aabxgp8p8mharzb1l-quickcheck-instances-0.3.32-doc (1.48 MiB) quickcheck-instances (post)> Pushing /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32 (5.35 MiB) quickcheck-instances (post)> quickcheck-instances (post)> All done. quickcheck-instances (post)> added 2 signatures quickcheck-instances (post)> added 1 signatures quickcheck-instances (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/bz238v975dal8z6aabxgp8p8mharzb1l-quickcheck-instances-0.3.32-doc /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32 quickcheck-instances (post)> copying 2 paths... quickcheck-instances (post)> copying path '/nix/store/bz238v975dal8z6aabxgp8p8mharzb1l-quickcheck-instances-0.3.32-doc' to 'https://cache.nix-ci.com'... quickcheck-instances (post)> copying path '/nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32' to 'https://cache.nix-ci.com'... quickcheck-instances (post)> copying 1 paths... quickcheck-instances (post)> copying path '/nix/store/3i938nwnxca35b5cj7d63868n233c4gh-quickcheck-instances-0.3.32.drv' to 'https://cache.nix-ci.com'... quickcheck-instances (post)> added 0 signatures quickcheck-instances (post)> added 0 signatures quickcheck-instances (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/bz238v975dal8z6aabxgp8p8mharzb1l-quickcheck-instances-0.3.32-doc /nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32 quickcheck-instances (post)> copying 2 paths... quickcheck-instances (post)> copying path '/nix/store/bz238v975dal8z6aabxgp8p8mharzb1l-quickcheck-instances-0.3.32-doc' to 'ssh-ng://worker.nix-ci.com'... quickcheck-instances (post)> copying path '/nix/store/ijx9lmkn27n20dq1675pis9qd7j48dh6-quickcheck-instances-0.3.32' to 'ssh-ng://worker.nix-ci.com'... quickcheck-instances (post)> copying 1 paths... quickcheck-instances (post)> copying path '/nix/store/3i938nwnxca35b5cj7d63868n233c4gh-quickcheck-instances-0.3.32.drv' to 'ssh-ng://worker.nix-ci.com'... building '/nix/store/38dxvd6b506l9khi773rv0hw8kiqp43i-extra-1.7.16.drv'... extra> Running phase: setupCompilerEnvironmentPhase extra> Build with /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4. extra> Running phase: unpackPhase extra> unpacking source archive /nix/store/zap07ayqyv48lfcxp4yva8sylcvy2knk-extra-1.7.16.tar.gz extra> source root is extra-1.7.16 extra> setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file "extra-1.7.16/test/TestUtil.hs" extra> Running phase: patchPhase extra> Replace Cabal file with edited version from mirror://hackage/extra-1.7.16/revision/1.cabal. extra> Running phase: compileBuildDriverPhase extra> setupCompileFlags: -package-db=/build/tmp.zhJbhYAkop/setup-package.conf.d -threaded extra> [1 of 2] Compiling Main ( Setup.hs, /build/tmp.zhJbhYAkop/Main.o ) extra> [2 of 2] Linking Setup extra> Running phase: updateAutotoolsGnuConfigScriptsPhase extra> Running phase: configurePhase extra> configureFlags: --verbose --prefix=/nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/7v8mq31c600ihyiyhjrmg185iva5gv94-extra-1.7.16-doc/share/doc/extra-1.7.16 --with-gcc=gcc --package-db=/build/tmp.zhJbhYAkop/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/vj3rmg6937p9icir6bazbdcb4xdnrg9j-ncurses-6.5/lib --extra-lib-dirs=/nix/store/0aaj6jbxclpwvrphggqz4vf5hg8360fr-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/vaix9m2syrilm7hv3690plsk35y0arwm-elfutils-0.192/lib --extra-lib-dirs=/nix/store/m9fycbkaairz8kampnsl7sx1aanvl0db-gmp-with-cxx-6.3.0/lib extra> Using Parsec parser extra> Configuring extra-1.7.16... extra> Dependency base >=4.9 && <4.21: using base-4.19.2.0 extra> Dependency clock >=0.7: using clock-0.8.4 extra> Dependency directory: using directory-1.3.8.5 extra> Dependency filepath: using filepath-1.4.301.0 extra> Dependency process: using process-1.6.25.0 extra> Dependency time: using time-1.12.2 extra> Dependency unix: using unix-2.8.6.0 extra> Dependency QuickCheck >=2.10: using QuickCheck-2.14.3 extra> Dependency base >=4 && <5: using base-4.19.2.0 extra> Dependency directory: using directory-1.3.8.5 extra> Dependency extra: using extra-1.7.16 extra> Dependency filepath: using filepath-1.4.301.0 extra> Dependency quickcheck-instances >=0.3.17: using quickcheck-instances-0.3.32 extra> Dependency unix: using unix-2.8.6.0 extra> Source component graph: extra> component lib extra> component test:extra-test dependency lib extra> Configured component graph: extra> component extra-1.7.16-BqnQjM86H1P931E5AxHLv4 extra> include base-4.19.2.0-0fde extra> include clock-0.8.4-DRQnf2Ov2av3O4d6koLCsK extra> include directory-1.3.8.5-b132 extra> include filepath-1.4.301.0-c763 extra> include process-1.6.25.0-f020 extra> include time-1.12.2-a970 extra> include unix-2.8.6.0-75db extra> component extra-1.7.16-GRLmykPdQAAKAMYFWB3faC-extra-test extra> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi extra> include base-4.19.2.0-0fde extra> include directory-1.3.8.5-b132 extra> include extra-1.7.16-BqnQjM86H1P931E5AxHLv4 extra> include filepath-1.4.301.0-c763 extra> include quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0 extra> include unix-2.8.6.0-75db extra> Linked component graph: extra> unit extra-1.7.16-BqnQjM86H1P931E5AxHLv4 extra> include base-4.19.2.0-0fde extra> include clock-0.8.4-DRQnf2Ov2av3O4d6koLCsK extra> include directory-1.3.8.5-b132 extra> include filepath-1.4.301.0-c763 extra> include process-1.6.25.0-f020 extra> include time-1.12.2-a970 extra> include unix-2.8.6.0-75db extra> Control.Concurrent.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:Control.Concurrent.Extra,Control.Exception.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:Control.Exception.Extra,Control.Monad.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:Control.Monad.Extra,Data.Either.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:Data.Either.Extra,Data.Foldable.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:Data.Foldable.Extra,Data.IORef.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:Data.IORef.Extra,Data.List.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:Data.List.Extra,Data.List.NonEmpty.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:Data.List.NonEmpty.Extra,Data.Monoid.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:Data.Monoid.Extra,Data.Tuple.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:Data.Tuple.Extra,Data.Typeable.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:Data.Typeable.Extra,Data.Version.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:Data.Version.Extra,Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:Extra,Numeric.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:Numeric.Extra,System.Directory.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:System.Directory.Extra,System.Environment.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:System.Environment.Extra,System.IO.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:System.IO.Extra,System.Info.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:System.Info.Extra,System.Process.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:System.Process.Extra,System.Time.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:System.Time.Extra,Text.Read.Extra=extra-1.7.16-BqnQjM86H1P931E5AxHLv4:Text.Read.Extra extra> unit extra-1.7.16-GRLmykPdQAAKAMYFWB3faC-extra-test extra> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi extra> include base-4.19.2.0-0fde extra> include directory-1.3.8.5-b132 extra> include extra-1.7.16-BqnQjM86H1P931E5AxHLv4 extra> include filepath-1.4.301.0-c763 extra> include quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0 extra> include unix-2.8.6.0-75db extra> Ready component graph: extra> definite extra-1.7.16-BqnQjM86H1P931E5AxHLv4 extra> depends base-4.19.2.0-0fde extra> depends clock-0.8.4-DRQnf2Ov2av3O4d6koLCsK extra> depends directory-1.3.8.5-b132 extra> depends filepath-1.4.301.0-c763 extra> depends process-1.6.25.0-f020 extra> depends time-1.12.2-a970 extra> depends unix-2.8.6.0-75db extra> definite extra-1.7.16-GRLmykPdQAAKAMYFWB3faC-extra-test extra> depends QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi extra> depends base-4.19.2.0-0fde extra> depends directory-1.3.8.5-b132 extra> depends extra-1.7.16-BqnQjM86H1P931E5AxHLv4 extra> depends filepath-1.4.301.0-c763 extra> depends quickcheck-instances-0.3.32-L5SHFeOsxc08Nu4qo3LXZ0 extra> depends unix-2.8.6.0-75db extra> Using Cabal-3.10.3.0 compiled by ghc-9.8 extra> Using compiler: ghc-9.8.4 extra> Using install prefix: /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16 extra> Executables installed in: extra> /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16/bin extra> Libraries installed in: extra> /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/extra-1.7.16-BqnQjM86H1P931E5AxHLv4 extra> Dynamic Libraries installed in: extra> /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4 extra> Private executables installed in: extra> /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16/libexec/x86_64-linux-ghc-9.8.4/extra-1.7.16 extra> Data files installed in: extra> /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16/share/x86_64-linux-ghc-9.8.4/extra-1.7.16 extra> Documentation installed in: extra> /nix/store/7v8mq31c600ihyiyhjrmg185iva5gv94-extra-1.7.16-doc/share/doc/extra-1.7.16 extra> Configuration files installed in: extra> /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16/etc extra> No alex found extra> Using ar found on system at: extra> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ar extra> No c2hs found extra> No cpphs found extra> No doctest found extra> Using gcc version 14.3.0 given by user at: extra> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/gcc extra> Using ghc version 9.8.4 found on system at: extra> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc extra> Using ghc-pkg version 9.8.4 found on system at: extra> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc-pkg-9.8.4 extra> No ghcjs found extra> No ghcjs-pkg found extra> No greencard found extra> Using haddock version 2.30.0 found on system at: extra> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/haddock-ghc-9.8.4 extra> No happy found extra> Using haskell-suite found on system at: haskell-suite-dummy-location extra> Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location extra> No hmake found extra> Using hpc version 0.69 found on system at: extra> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hpc-ghc-9.8.4 extra> Using hsc2hs version 0.68.10 found on system at: extra> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4 extra> Using hscolour version 1.25 found on system at: extra> /nix/store/fb7sllj82i2dv2ijivsz2abp0agz40p9-hscolour-1.25/bin/HsColour extra> No jhc found extra> Using ld found on system at: extra> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ld.gold extra> No pkg-config found extra> Using runghc version 9.8.4 found on system at: extra> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/runghc-9.8.4 extra> Using strip version 2.44 found on system at: extra> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/strip extra> Using tar found on system at: extra> /nix/store/76df6j9sq1ar58id3y3v4rkijany1wxp-gnutar-1.35/bin/tar extra> No uhc found extra> Running phase: buildPhase extra> Preprocessing library for extra-1.7.16.. extra> Building library for extra-1.7.16.. extra> [ 1 of 22] Compiling Data.IORef.Extra ( src/Data/IORef/Extra.hs, dist/build/Data/IORef/Extra.o, dist/build/Data/IORef/Extra.dyn_o ) extra> [ 2 of 22] Compiling Data.Monoid.Extra ( src/Data/Monoid/Extra.hs, dist/build/Data/Monoid/Extra.o, dist/build/Data/Monoid/Extra.dyn_o ) extra> [ 3 of 22] Compiling Data.Tuple.Extra ( src/Data/Tuple/Extra.hs, dist/build/Data/Tuple/Extra.o, dist/build/Data/Tuple/Extra.dyn_o ) extra> [ 4 of 22] Compiling Data.Typeable.Extra ( src/Data/Typeable/Extra.hs, dist/build/Data/Typeable/Extra.o, dist/build/Data/Typeable/Extra.dyn_o ) extra> [ 5 of 22] Compiling Numeric.Extra ( src/Numeric/Extra.hs, dist/build/Numeric/Extra.o, dist/build/Numeric/Extra.dyn_o ) extra> [ 6 of 22] Compiling Partial ( src/Partial.hs, dist/build/Partial.o, dist/build/Partial.dyn_o ) extra> [ 7 of 22] Compiling Data.List.Extra ( src/Data/List/Extra.hs, dist/build/Data/List/Extra.o, dist/build/Data/List/Extra.dyn_o ) extra> [ 8 of 22] Compiling Data.Version.Extra ( src/Data/Version/Extra.hs, dist/build/Data/Version/Extra.o, dist/build/Data/Version/Extra.dyn_o ) extra> [ 9 of 22] Compiling Data.List.NonEmpty.Extra ( src/Data/List/NonEmpty/Extra.hs, dist/build/Data/List/NonEmpty/Extra.o, dist/build/Data/List/NonEmpty/Extra.dyn_o ) extra> [10 of 22] Compiling Data.Either.Extra ( src/Data/Either/Extra.hs, dist/build/Data/Either/Extra.o, dist/build/Data/Either/Extra.dyn_o ) extra> [11 of 22] Compiling Control.Exception.Extra ( src/Control/Exception/Extra.hs, dist/build/Control/Exception/Extra.o, dist/build/Control/Exception/Extra.dyn_o ) extra> [12 of 22] Compiling Control.Monad.Extra ( src/Control/Monad/Extra.hs, dist/build/Control/Monad/Extra.o, dist/build/Control/Monad/Extra.dyn_o ) extra> [13 of 22] Compiling Data.Foldable.Extra ( src/Data/Foldable/Extra.hs, dist/build/Data/Foldable/Extra.o, dist/build/Data/Foldable/Extra.dyn_o ) extra> [14 of 22] Compiling Control.Concurrent.Extra ( src/Control/Concurrent/Extra.hs, dist/build/Control/Concurrent/Extra.o, dist/build/Control/Concurrent/Extra.dyn_o ) extra> [15 of 22] Compiling System.Directory.Extra ( src/System/Directory/Extra.hs, dist/build/System/Directory/Extra.o, dist/build/System/Directory/Extra.dyn_o ) extra> [16 of 22] Compiling System.Environment.Extra ( src/System/Environment/Extra.hs, dist/build/System/Environment/Extra.o, dist/build/System/Environment/Extra.dyn_o ) extra> [17 of 22] Compiling System.IO.Extra ( src/System/IO/Extra.hs, dist/build/System/IO/Extra.o, dist/build/System/IO/Extra.dyn_o ) extra> [18 of 22] Compiling System.Info.Extra ( src/System/Info/Extra.hs, dist/build/System/Info/Extra.o, dist/build/System/Info/Extra.dyn_o ) extra> [19 of 22] Compiling System.Process.Extra ( src/System/Process/Extra.hs, dist/build/System/Process/Extra.o, dist/build/System/Process/Extra.dyn_o ) extra> [20 of 22] Compiling System.Time.Extra ( src/System/Time/Extra.hs, dist/build/System/Time/Extra.o, dist/build/System/Time/Extra.dyn_o ) extra> [21 of 22] Compiling Extra ( src/Extra.hs, dist/build/Extra.o, dist/build/Extra.dyn_o ) extra> [22 of 22] Compiling Text.Read.Extra ( src/Text/Read/Extra.hs, dist/build/Text/Read/Extra.o, dist/build/Text/Read/Extra.dyn_o ) extra> [ 1 of 22] Compiling Data.IORef.Extra ( src/Data/IORef/Extra.hs, dist/build/Data/IORef/Extra.p_o ) extra> [ 2 of 22] Compiling Data.Monoid.Extra ( src/Data/Monoid/Extra.hs, dist/build/Data/Monoid/Extra.p_o ) extra> [ 3 of 22] Compiling Data.Tuple.Extra ( src/Data/Tuple/Extra.hs, dist/build/Data/Tuple/Extra.p_o ) extra> [ 4 of 22] Compiling Data.Typeable.Extra ( src/Data/Typeable/Extra.hs, dist/build/Data/Typeable/Extra.p_o ) extra> [ 5 of 22] Compiling Numeric.Extra ( src/Numeric/Extra.hs, dist/build/Numeric/Extra.p_o ) extra> [ 6 of 22] Compiling Partial ( src/Partial.hs, dist/build/Partial.p_o ) extra> [ 7 of 22] Compiling Data.List.Extra ( src/Data/List/Extra.hs, dist/build/Data/List/Extra.p_o ) extra> [ 8 of 22] Compiling Data.Version.Extra ( src/Data/Version/Extra.hs, dist/build/Data/Version/Extra.p_o ) extra> [ 9 of 22] Compiling Data.List.NonEmpty.Extra ( src/Data/List/NonEmpty/Extra.hs, dist/build/Data/List/NonEmpty/Extra.p_o ) extra> [10 of 22] Compiling Data.Either.Extra ( src/Data/Either/Extra.hs, dist/build/Data/Either/Extra.p_o ) extra> [11 of 22] Compiling Control.Exception.Extra ( src/Control/Exception/Extra.hs, dist/build/Control/Exception/Extra.p_o ) extra> [12 of 22] Compiling Control.Monad.Extra ( src/Control/Monad/Extra.hs, dist/build/Control/Monad/Extra.p_o ) extra> [13 of 22] Compiling Data.Foldable.Extra ( src/Data/Foldable/Extra.hs, dist/build/Data/Foldable/Extra.p_o ) extra> [14 of 22] Compiling Control.Concurrent.Extra ( src/Control/Concurrent/Extra.hs, dist/build/Control/Concurrent/Extra.p_o ) extra> [15 of 22] Compiling System.Directory.Extra ( src/System/Directory/Extra.hs, dist/build/System/Directory/Extra.p_o ) extra> [16 of 22] Compiling System.Environment.Extra ( src/System/Environment/Extra.hs, dist/build/System/Environment/Extra.p_o ) extra> [17 of 22] Compiling System.IO.Extra ( src/System/IO/Extra.hs, dist/build/System/IO/Extra.p_o ) extra> [18 of 22] Compiling System.Info.Extra ( src/System/Info/Extra.hs, dist/build/System/Info/Extra.p_o ) extra> [19 of 22] Compiling System.Process.Extra ( src/System/Process/Extra.hs, dist/build/System/Process/Extra.p_o ) extra> [20 of 22] Compiling System.Time.Extra ( src/System/Time/Extra.hs, dist/build/System/Time/Extra.p_o ) extra> [21 of 22] Compiling Extra ( src/Extra.hs, dist/build/Extra.p_o ) extra> [22 of 22] Compiling Text.Read.Extra ( src/Text/Read/Extra.hs, dist/build/Text/Read/Extra.p_o ) extra> Preprocessing test suite 'extra-test' for extra-1.7.16.. extra> Building test suite 'extra-test' for extra-1.7.16.. extra> [1 of 4] Compiling TestUtil ( test/TestUtil.hs, dist/build/extra-test/extra-test-tmp/TestUtil.o ) extra> [2 of 4] Compiling TestGen ( test/TestGen.hs, dist/build/extra-test/extra-test-tmp/TestGen.o ) extra> [3 of 4] Compiling TestCustom ( test/TestCustom.hs, dist/build/extra-test/extra-test-tmp/TestCustom.o ) extra> [4 of 4] Compiling Test ( test/Test.hs, dist/build/extra-test/extra-test-tmp/Test.o ) extra> [5 of 5] Linking dist/build/extra-test/extra-test extra> Running phase: checkPhase extra> Running 1 test suites... extra> Test suite extra-test: RUNNING... extra> withTempFile extra> +++ OK, passed 1 test. extra> captureOutput extra> +++ OK, passed 1 test. extra> \(x :: IO Int) -> void (once x) == pure () extra> +++ OK, passed 100 tests. extra> \(x :: IO Int) -> join (once x) == x extra> +++ OK, passed 100 tests. extra> \(x :: IO Int) -> (do y <- once x; y; y) == x extra> +++ OK, passed 100 tests. extra> \(x :: IO Int) -> (do y <- once x; y ||| y) == x extra> +++ OK, passed 100 tests. extra> \(x :: IO Int) -> join (onceFork x) == x extra> +++ OK, passed 100 tests. extra> \(x :: IO Int) -> (do a <- onceFork x; a; a) == x extra> +++ OK, passed 100 tests. extra> stringException "test" == pure "test" extra> +++ OK, passed 1 test. extra> stringException ("test" ++ undefined) == pure "test" extra> +++ OK, passed 1 test. extra> stringException ("test" ++ undefined ++ "hello") == pure "test" extra> +++ OK, passed 1 test. extra> stringException ['t','e','s','t',undefined] == pure "test" extra> +++ OK, passed 1 test. extra> ignore (print 1) == print 1 extra> +++ OK, passed 1 test. extra> ignore (fail "die") == pure () extra> +++ OK, passed 1 test. extra> catch (errorIO "Hello") (\(ErrorCall x) -> pure x) == pure "Hello" extra> +++ OK, passed 1 test. extra> seq (errorIO "foo") (print 1) == print 1 extra> +++ OK, passed 1 test. extra> catch (assertIO True >> pure 1) (\(x :: AssertionFailed) -> pure 2) == pure 1 extra> +++ OK, passed 1 test. extra> seq (assertIO False) (print 1) == print 1 extra> +++ OK, passed 1 test. extra> retry 1 (print "x") == print "x" extra> +++ OK, passed 1 test. extra> retry 3 (fail "die") == fail "die" extra> +++ OK, passed 1 test. extra> whenJust Nothing print == pure () extra> +++ OK, passed 1 test. extra> whenJust (Just 1) print == print 1 extra> +++ OK, passed 1 test. extra> pureIf @Maybe True 5 == Just 5 extra> +++ OK, passed 1 test. extra> pureIf @Maybe False 5 == Nothing extra> +++ OK, passed 1 test. extra> pureIf @[] True 5 == [5] extra> +++ OK, passed 1 test. extra> pureIf @[] False 5 == [] extra> +++ OK, passed 1 test. extra> whenMaybe True (print 1) == fmap Just (print 1) extra> +++ OK, passed 1 test. extra> whenMaybe False (print 1) == pure Nothing extra> +++ OK, passed 1 test. extra> \(x :: Maybe ()) -> unit x == x extra> +++ OK, passed 100 tests. extra> fold1M (\x y -> Just x) [] == undefined extra> +++ OK, passed 1 test. extra> fold1M (\x y -> Just $ x + y) [1, 2, 3] == Just 6 extra> +++ OK, passed 1 test. extra> partitionM (Just . even) [1,2,3] == Just ([2], [1,3]) extra> +++ OK, passed 1 test. extra> partitionM (const Nothing) [1,2,3] == Nothing extra> +++ OK, passed 1 test. extra> loop (\x -> if x < 10 then Left $ x * 2 else Right $ show x) 1 == "16" extra> +++ OK, passed 1 test. extra> Just True ||^ undefined == Just True extra> +++ OK, passed 1 test. extra> Just False ||^ Just True == Just True extra> +++ OK, passed 1 test. extra> Just False ||^ Just False == Just False extra> +++ OK, passed 1 test. extra> Just False &&^ undefined == Just False extra> +++ OK, passed 1 test. extra> Just True &&^ Just True == Just True extra> +++ OK, passed 1 test. extra> Just True &&^ Just False == Just False extra> +++ OK, passed 1 test. extra> anyM Just [False,True ,undefined] == Just True extra> +++ OK, passed 1 test. extra> anyM Just [False,False,undefined] == undefined extra> +++ OK, passed 1 test. extra> \(f :: Int -> Maybe Bool) xs -> anyM f xs == orM (map f xs) extra> +++ OK, passed 100 tests. extra> allM Just [True,False,undefined] == Just False extra> +++ OK, passed 1 test. extra> allM Just [True,True ,undefined] == undefined extra> +++ OK, passed 1 test. extra> \(f :: Int -> Maybe Bool) xs -> anyM f xs == orM (map f xs) extra> +++ OK, passed 100 tests. extra> orM [Just False,Just True ,undefined] == Just True extra> +++ OK, passed 1 test. extra> orM [Just False,Just False,undefined] == undefined extra> +++ OK, passed 1 test. extra> \xs -> Just (or xs) == orM (map Just xs) extra> +++ OK, passed 100 tests. extra> andM [Just True,Just False,undefined] == Just False extra> +++ OK, passed 1 test. extra> andM [Just True,Just True ,undefined] == undefined extra> +++ OK, passed 1 test. extra> \xs -> Just (and xs) == andM (map Just xs) extra> +++ OK, passed 100 tests. extra> findM (Just . isUpper) "teST" == Just (Just 'S') extra> +++ OK, passed 1 test. extra> findM (Just . isUpper) "test" == Just Nothing extra> +++ OK, passed 1 test. extra> findM (Just . const True) ["x",undefined] == Just (Just "x") extra> +++ OK, passed 1 test. extra> fromLeft 1 (Left 3) == 3 extra> +++ OK, passed 1 test. extra> fromLeft 1 (Right "foo") == 1 extra> +++ OK, passed 1 test. extra> fromRight 1 (Right 3) == 3 extra> +++ OK, passed 1 test. extra> fromRight 1 (Left "foo") == 1 extra> +++ OK, passed 1 test. extra> \x -> fromLeft' (Left x) == x extra> +++ OK, passed 100 tests. extra> \x -> fromLeft' (Right x) == undefined extra> +++ OK, passed 100 tests. extra> \x -> fromRight' (Right x) == x extra> +++ OK, passed 100 tests. extra> \x -> fromRight' (Left x) == undefined extra> +++ OK, passed 100 tests. extra> \x -> fromEither (Left x ) == x extra> +++ OK, passed 100 tests. extra> \x -> fromEither (Right x) == x extra> +++ OK, passed 100 tests. extra> \a b -> maybeToEither a (Just b) == Right b extra> +++ OK, passed 100 tests. extra> \a -> maybeToEither a Nothing == Left a extra> +++ OK, passed 100 tests. extra> \x -> eitherToMaybe (Left x) == Nothing extra> +++ OK, passed 100 tests. extra> \x -> eitherToMaybe (Right x) == Just x extra> +++ OK, passed 100 tests. extra> mapLeft show (Left 1) == Left "1" extra> +++ OK, passed 1 test. extra> mapLeft show (Right True) == Right True extra> +++ OK, passed 1 test. extra> mapRight show (Left 1) == Left 1 extra> +++ OK, passed 1 test. extra> mapRight show (Right True) == Right "True" extra> +++ OK, passed 1 test. extra> \xs -> repeatedly (splitAt 3) xs == chunksOf 3 xs extra> +++ OK, passed 100 tests. extra> \xs -> repeatedly word1 (trim xs) == words xs extra> +++ OK, passed 100 tests. extra> \xs -> repeatedly line1 xs == lines xs extra> +++ OK, passed 100 tests. extra> disjoint [1,2,3] [4,5] == True extra> +++ OK, passed 1 test. extra> disjoint [1,2,3] [4,1] == False extra> +++ OK, passed 1 test. extra> disjointOrd [1,2,3] [4,5] == True extra> +++ OK, passed 1 test. extra> disjointOrd [1,2,3] [4,1] == False extra> +++ OK, passed 1 test. extra> disjointOrdBy (compare `on` (`mod` 7)) [1,2,3] [4,5] == True extra> +++ OK, passed 1 test. extra> disjointOrdBy (compare `on` (`mod` 7)) [1,2,3] [4,8] == False extra> +++ OK, passed 1 test. extra> anySame [1,1,2] == True extra> +++ OK, passed 1 test. extra> anySame [1,2,3] == False extra> +++ OK, passed 1 test. extra> anySame (1:2:1:undefined) == True extra> +++ OK, passed 1 test. extra> anySame [] == False extra> +++ OK, passed 1 test. extra> \xs -> anySame xs == (length (nub xs) < length xs) extra> +++ OK, passed 100 tests. extra> allSame [1,1,2] == False extra> +++ OK, passed 1 test. extra> allSame [1,1,1] == True extra> +++ OK, passed 1 test. extra> allSame [1] == True extra> +++ OK, passed 1 test. extra> allSame [] == True extra> +++ OK, passed 1 test. extra> allSame (1:1:2:undefined) == False extra> +++ OK, passed 1 test. extra> \xs -> allSame xs == (length (nub xs) <= 1) extra> +++ OK, passed 100 tests. extra> headDef 1 [] == 1 extra> +++ OK, passed 1 test. extra> headDef 1 [2,3,4] == 2 extra> +++ OK, passed 1 test. extra> \x xs -> headDef x xs == fromMaybe x (listToMaybe xs) extra> +++ OK, passed 100 tests. extra> lastDef 1 [] == 1 extra> +++ OK, passed 1 test. extra> lastDef 1 [2,3,4] == 4 extra> +++ OK, passed 1 test. extra> \x xs -> lastDef x xs == last (x:xs) extra> +++ OK, passed 100 tests. extra> [2,3,4] !? 1 == Just 3 extra> +++ OK, passed 1 test. extra> [2,3,4] !? (-1) == Nothing extra> +++ OK, passed 1 test. extra> [] !? 0 == Nothing extra> +++ OK, passed 1 test. extra> notNull [] == False extra> +++ OK, passed 1 test. extra> notNull [1] == True extra> +++ OK, passed 1 test. extra> \xs -> notNull xs == not (null xs) extra> +++ OK, passed 100 tests. extra> list 1 (\v _ -> v - 2) [5,6,7] == 3 extra> +++ OK, passed 1 test. extra> list 1 (\v _ -> v - 2) [] == 1 extra> +++ OK, passed 1 test. extra> \nil cons xs -> maybe nil (uncurry cons) (uncons xs) == list nil cons xs extra> +++ OK, passed 100 tests. extra> unsnoc "test" == Just ("tes",'t') extra> +++ OK, passed 1 test. extra> unsnoc "" == Nothing extra> +++ OK, passed 1 test. extra> \xs -> unsnoc xs == if null xs then Nothing else Just (init xs, last xs) extra> +++ OK, passed 100 tests. extra> cons 't' "est" == "test" extra> +++ OK, passed 1 test. extra> \x xs -> uncons (cons x xs) == Just (x,xs) extra> +++ OK, passed 100 tests. extra> snoc "tes" 't' == "test" extra> +++ OK, passed 1 test. extra> \xs x -> unsnoc (snoc xs x) == Just (xs,x) extra> +++ OK, passed 100 tests. extra> enumerate == [False, True] extra> +++ OK, passed 1 test. extra> takeEnd 3 "hello" == "llo" extra> +++ OK, passed 1 test. extra> takeEnd 5 "bye" == "bye" extra> +++ OK, passed 1 test. extra> takeEnd (-1) "bye" == "" extra> +++ OK, passed 1 test. extra> \i xs -> takeEnd i xs `isSuffixOf` xs extra> +++ OK, passed 100 tests. extra> \i xs -> length (takeEnd i xs) == min (max 0 i) (length xs) extra> +++ OK, passed 100 tests. extra> dropEnd 3 "hello" == "he" extra> +++ OK, passed 1 test. extra> dropEnd 5 "bye" == "" extra> +++ OK, passed 1 test. extra> dropEnd (-1) "bye" == "bye" extra> +++ OK, passed 1 test. extra> \i xs -> dropEnd i xs `isPrefixOf` xs extra> +++ OK, passed 100 tests. extra> \i xs -> length (dropEnd i xs) == max 0 (length xs - max 0 i) extra> +++ OK, passed 100 tests. extra> \i -> take 3 (dropEnd 5 [i..]) == take 3 [i..] extra> +++ OK, passed 100 tests. extra> splitAtEnd 3 "hello" == ("he","llo") extra> +++ OK, passed 1 test. extra> splitAtEnd 3 "he" == ("", "he") extra> +++ OK, passed 1 test. extra> \i xs -> uncurry (++) (splitAt i xs) == xs extra> +++ OK, passed 100 tests. extra> \i xs -> splitAtEnd i xs == (dropEnd i xs, takeEnd i xs) extra> +++ OK, passed 100 tests. extra> \i xs -> zip [i..] xs == zipFrom i xs extra> +++ OK, passed 100 tests. extra> zipFrom False [1..3] == [(False,1),(True, 2)] extra> +++ OK, passed 1 test. extra> \i xs -> zipWithFrom (,) i xs == zipFrom i xs extra> +++ OK, passed 100 tests. extra> concatUnzip [("a","AB"),("bc","C")] == ("abc","ABC") extra> +++ OK, passed 1 test. extra> concatUnzip3 [("a","AB",""),("bc","C","123")] == ("abc","ABC","123") extra> +++ OK, passed 1 test. extra> takeWhileEnd even [2,3,4,6] == [4,6] extra> +++ OK, passed 1 test. extra> trim " hello " == "hello" extra> +++ OK, passed 1 test. extra> trimStart " hello " == "hello " extra> +++ OK, passed 1 test. extra> trimEnd " hello " == " hello" extra> +++ OK, passed 1 test. extra> \s -> trim s == trimEnd (trimStart s) extra> +++ OK, passed 100 tests. extra> lower "This is A TEST" == "this is a test" extra> +++ OK, passed 1 test. extra> lower "" == "" extra> +++ OK, passed 1 test. extra> upper "This is A TEST" == "THIS IS A TEST" extra> +++ OK, passed 1 test. extra> upper "" == "" extra> +++ OK, passed 1 test. extra> word1 "" == ("", "") extra> +++ OK, passed 1 test. extra> word1 "keyword rest of string" == ("keyword","rest of string") extra> +++ OK, passed 1 test. extra> word1 " keyword\n rest of string" == ("keyword","rest of string") extra> +++ OK, passed 1 test. extra> \s -> fst (word1 s) == concat (take 1 $ words s) extra> +++ OK, passed 100 tests. extra> \s -> words (snd $ word1 s) == drop 1 (words s) extra> +++ OK, passed 100 tests. extra> line1 "" == ("", "") extra> +++ OK, passed 1 test. extra> line1 "test" == ("test","") extra> +++ OK, passed 1 test. extra> line1 "test\n" == ("test","") extra> +++ OK, passed 1 test. extra> line1 "test\nrest" == ("test","rest") extra> +++ OK, passed 1 test. extra> line1 "test\nrest\nmore" == ("test","rest\nmore") extra> +++ OK, passed 1 test. extra> escapeHTML "this is a test" == "this is a test" extra> +++ OK, passed 1 test. extra> escapeHTML "\"g&t\"" == "<b>"g&t"</n>" extra> +++ OK, passed 1 test. extra> escapeHTML "t'was another test" == "t'was another test" extra> +++ OK, passed 1 test. extra> \xs -> unescapeHTML (escapeHTML xs) == xs extra> +++ OK, passed 100 tests. extra> escapeJSON "this is a test" == "this is a test" extra> +++ OK, passed 1 test. extra> escapeJSON "\ttab\nnewline\\" == "\\ttab\\nnewline\\\\" extra> +++ OK, passed 1 test. extra> escapeJSON "\ESC[0mHello" == "\\u001b[0mHello" extra> +++ OK, passed 1 test. extra> \xs -> unescapeJSON (escapeJSON xs) == xs extra> +++ OK, passed 100 tests. extra> groupOn abs [1,-1,2] == [[1,-1], [2]] extra> +++ OK, passed 1 test. extra> groupOnKey abs [1,-1,2] == [(1, [1,-1]), (2, [2])] extra> +++ OK, passed 1 test. extra> maximumOn id [] == undefined extra> +++ OK, passed 1 test. extra> maximumOn length ["test","extra","a"] == "extra" extra> +++ OK, passed 1 test. extra> minimumOn id [] == undefined extra> +++ OK, passed 1 test. extra> minimumOn length ["test","extra","a"] == "a" extra> +++ OK, passed 1 test. extra> groupSort [(1,'t'),(3,'t'),(2,'e'),(2,'s')] == [(1,"t"),(2,"es"),(3,"t")] extra> +++ OK, passed 1 test. extra> \xs -> map fst (groupSort xs) == sort (nub (map fst xs)) extra> +++ OK, passed 100 tests. extra> \xs -> concatMap snd (groupSort xs) == map snd (sortOn fst xs) extra> +++ OK, passed 100 tests. extra> groupSortOn length ["test","of","sized","item"] == [["of"],["test","item"],["sized"]] extra> +++ OK, passed 1 test. extra> groupSortBy (compare `on` length) ["test","of","sized","item"] == [["of"],["test","item"],["sized"]] extra> +++ OK, passed 1 test. extra> sum' [1, 2, 3] == 6 extra> +++ OK, passed 1 test. extra> sumOn' read ["1", "2", "3"] == 6 extra> +++ OK, passed 1 test. extra> product' [1, 2, 4] == 8 extra> +++ OK, passed 1 test. extra> productOn' read ["1", "2", "4"] == 8 extra> +++ OK, passed 1 test. extra> merge "ace" "bd" == "abcde" extra> +++ OK, passed 1 test. extra> \xs ys -> merge (sort xs) (sort ys) == sort (xs ++ ys) extra> +++ OK, passed 100 tests. extra> replace "el" "_" "Hello Bella" == "H_lo B_la" extra> +++ OK, passed 1 test. extra> replace "el" "e" "Hello" == "Helo" extra> +++ OK, passed 1 test. extra> replace "" "x" "Hello" == "xHxexlxlxox" extra> +++ OK, passed 1 test. extra> replace "" "x" "" == "x" extra> +++ OK, passed 1 test. extra> \xs ys -> replace xs xs ys == ys extra> +++ OK, passed 100 tests. extra> breakEnd isLower "youRE" == ("you","RE") extra> +++ OK, passed 1 test. extra> breakEnd isLower "youre" == ("youre","") extra> +++ OK, passed 1 test. extra> breakEnd isLower "YOURE" == ("","YOURE") extra> +++ OK, passed 1 test. extra> \f xs -> breakEnd (not . f) xs == spanEnd f xs extra> +++ OK, passed 100 tests. extra> spanEnd isUpper "youRE" == ("you","RE") extra> +++ OK, passed 1 test. extra> spanEnd (not . isSpace) "x y z" == ("x y ","z") extra> +++ OK, passed 1 test. extra> \f xs -> uncurry (++) (spanEnd f xs) == xs extra> +++ OK, passed 100 tests. extra> \f xs -> spanEnd f xs == swap (both reverse (span f (reverse xs))) extra> +++ OK, passed 100 tests. extra> wordsBy (== ':') "::xyz:abc::123::" == ["xyz","abc","123"] extra> +++ OK, passed 1 test. extra> \s -> wordsBy isSpace s == words s extra> +++ OK, passed 100 tests. extra> linesBy (== ':') "::xyz:abc::123::" == ["","","xyz","abc","","123",""] extra> +++ OK, passed 1 test. extra> \s -> linesBy (== '\n') s == lines s extra> +++ OK, passed 100 tests. extra> linesBy (== ';') "my;list;here;" == ["my","list","here"] extra> +++ OK, passed 1 test. extra> firstJust id [Nothing,Just 3] == Just 3 extra> +++ OK, passed 1 test. extra> firstJust id [Nothing,Nothing] == Nothing extra> +++ OK, passed 1 test. extra> drop1 "" == "" extra> +++ OK, passed 1 test. extra> drop1 "test" == "est" extra> +++ OK, passed 1 test. extra> \xs -> drop 1 xs == drop1 xs extra> +++ OK, passed 100 tests. extra> dropEnd1 "" == "" extra> +++ OK, passed 1 test. extra> dropEnd1 "test" == "tes" extra> +++ OK, passed 1 test. extra> \xs -> dropEnd 1 xs == dropEnd1 xs extra> +++ OK, passed 100 tests. extra> mconcatMap Sum [1,2,3] == Sum 6 extra> +++ OK, passed 1 test. extra> \f xs -> mconcatMap f xs == concatMap f xs extra> +++ OK, passed 100 tests. extra> breakOn "::" "a::b::c" == ("a", "::b::c") extra> +++ OK, passed 1 test. extra> breakOn "/" "foobar" == ("foobar", "") extra> +++ OK, passed 1 test. extra> \needle haystack -> let (prefix,match) = breakOn needle haystack in prefix ++ match == haystack extra> +++ OK, passed 100 tests. extra> breakOnEnd "::" "a::b::c" == ("a::b::", "c") extra> +++ OK, passed 1 test. extra> splitOn "\r\n" "a\r\nb\r\nd\r\ne" == ["a","b","d","e"] extra> +++ OK, passed 1 test. extra> splitOn "aaa" "aaaXaaaXaaaXaaa" == ["","X","X","X",""] extra> +++ OK, passed 1 test. extra> splitOn "x" "x" == ["",""] extra> +++ OK, passed 1 test. extra> splitOn "x" "" == [""] extra> +++ OK, passed 1 test. extra> \s x -> s /= "" ==> intercalate s (splitOn s x) == x extra> +++ OK, passed 100 tests; 20 discarded. extra> \c x -> splitOn [c] x == split (==c) x extra> +++ OK, passed 100 tests. extra> split (== 'a') "aabbaca" == ["","","bb","c",""] extra> +++ OK, passed 1 test. extra> split (== 'a') "" == [""] extra> +++ OK, passed 1 test. extra> split (== ':') "::xyz:abc::123::" == ["","","xyz","abc","","123","",""] extra> +++ OK, passed 1 test. extra> split (== ',') "my,list,here" == ["my","list","here"] extra> +++ OK, passed 1 test. extra> dropWhileEnd isSpace "ab cde " == "ab cde" extra> +++ OK, passed 1 test. extra> dropWhileEnd' isSpace "ab cde " == "ab cde" extra> +++ OK, passed 1 test. extra> last (dropWhileEnd even [undefined,3]) == undefined extra> +++ OK, passed 1 test. extra> last (dropWhileEnd' even [undefined,3]) == 3 extra> +++ OK, passed 1 test. extra> head (dropWhileEnd even (3:undefined)) == 3 extra> +++ OK, passed 1 test. extra> head (dropWhileEnd' even (3:undefined)) == undefined extra> +++ OK, passed 1 test. extra> dropPrefix "Mr. " "Mr. Men" == "Men" extra> +++ OK, passed 1 test. extra> dropPrefix "Mr. " "Dr. Men" == "Dr. Men" extra> +++ OK, passed 1 test. extra> dropSuffix "!" "Hello World!" == "Hello World" extra> +++ OK, passed 1 test. extra> dropSuffix "!" "Hello World!!" == "Hello World!" extra> +++ OK, passed 1 test. extra> dropSuffix "!" "Hello World." == "Hello World." extra> +++ OK, passed 1 test. extra> stripSuffix "bar" "foobar" == Just "foo" extra> +++ OK, passed 1 test. extra> stripSuffix "" "baz" == Just "baz" extra> +++ OK, passed 1 test. extra> stripSuffix "foo" "quux" == Nothing extra> +++ OK, passed 1 test. extra> stripInfix "::" "a::b::c" == Just ("a", "b::c") extra> +++ OK, passed 1 test. extra> stripInfix "/" "foobar" == Nothing extra> +++ OK, passed 1 test. extra> stripInfixEnd "::" "a::b::c" == Just ("a::b", "c") extra> +++ OK, passed 1 test. extra> chunksOf 3 "my test" == ["my ","tes","t"] extra> +++ OK, passed 1 test. extra> chunksOf 3 "mytest" == ["myt","est"] extra> +++ OK, passed 1 test. extra> chunksOf 8 "" == [] extra> +++ OK, passed 1 test. extra> chunksOf 0 "test" == undefined extra> +++ OK, passed 1 test. extra> nubSort "this is a test" == " aehist" extra> +++ OK, passed 1 test. extra> \xs -> nubSort xs == nub (sort xs) extra> +++ OK, passed 100 tests. extra> nubSortOn length ["a","test","of","this"] == ["a","of","test"] extra> +++ OK, passed 1 test. extra> nubSortBy (compare `on` length) ["a","test","of","this"] == ["a","of","test"] extra> +++ OK, passed 1 test. extra> nubOrd "this is a test" == "this ae" extra> +++ OK, passed 1 test. extra> nubOrd (take 4 ("this" ++ undefined)) == "this" extra> +++ OK, passed 1 test. extra> \xs -> nubOrd xs == nub xs extra> +++ OK, passed 100 tests. extra> nubOrdOn length ["a","test","of","this"] == ["a","test","of"] extra> +++ OK, passed 1 test. extra> nubOrdBy (compare `on` length) ["a","test","of","this"] == ["a","test","of"] extra> +++ OK, passed 1 test. extra> zipWithLongest (,) "a" "xyz" == [(Just 'a', Just 'x'), (Nothing, Just 'y'), (Nothing, Just 'z')] extra> +++ OK, passed 1 test. extra> zipWithLongest (,) "a" "x" == [(Just 'a', Just 'x')] extra> +++ OK, passed 1 test. extra> zipWithLongest (,) "" "x" == [(Nothing, Just 'x')] extra> +++ OK, passed 1 test. extra> compareLength [1,2,3] 1 == GT extra> +++ OK, passed 1 test. extra> compareLength [1,2] 2 == EQ extra> +++ OK, passed 1 test. extra> \(xs :: [Int]) n -> compareLength xs n == compare (length xs) n extra> +++ OK, passed 100 tests. extra> compareLength (1:2:3:undefined) 2 == GT extra> +++ OK, passed 1 test. extra> comparingLength [1,2,3] [False] == GT extra> +++ OK, passed 1 test. extra> comparingLength [1,2] "ab" == EQ extra> +++ OK, passed 1 test. extra> \(xs :: [Int]) (ys :: [Int]) -> comparingLength xs ys == Data.Ord.comparing length xs ys extra> +++ OK, passed 100 tests. extra> comparingLength [1,2] (1:2:3:undefined) == LT extra> +++ OK, passed 1 test. extra> comparingLength (1:2:3:undefined) [1,2] == GT extra> +++ OK, passed 1 test. extra> mwhen True "test" == "test" extra> +++ OK, passed 1 test. extra> mwhen False "test" == "" extra> +++ OK, passed 1 test. extra> first succ (1,"test") == (2,"test") extra> +++ OK, passed 1 test. extra> second reverse (1,"test") == (1,"tset") extra> +++ OK, passed 1 test. extra> firstM (\x -> [x-1, x+1]) (1,"test") == [(0,"test"),(2,"test")] extra> +++ OK, passed 1 test. extra> secondM (\x -> [reverse x, x]) (1,"test") == [(1,"tset"),(1,"test")] extra> +++ OK, passed 1 test. extra> (succ *** reverse) (1,"test") == (2,"tset") extra> +++ OK, passed 1 test. extra> (succ &&& pred) 1 == (2,0) extra> +++ OK, passed 1 test. extra> dupe 12 == (12, 12) extra> +++ OK, passed 1 test. extra> both succ (1,2) == (2,3) extra> +++ OK, passed 1 test. extra> first3 succ (1,1,1) == (2,1,1) extra> +++ OK, passed 1 test. extra> second3 succ (1,1,1) == (1,2,1) extra> +++ OK, passed 1 test. extra> third3 succ (1,1,1) == (1,1,2) extra> +++ OK, passed 1 test. extra> \x -> readVersion (showVersion x) == x extra> +++ OK, passed 100 tests. extra> readVersion "hello" == undefined extra> +++ OK, passed 1 test. extra> showDP 4 pi == "3.1416" extra> +++ OK, passed 1 test. extra> showDP 0 pi == "3" extra> +++ OK, passed 1 test. extra> showDP 2 3 == "3.00" extra> +++ OK, passed 1 test. extra> withTempDir $ \dir -> do writeFile (dir "foo.txt") ""; withCurrentDirectory dir $ doesFileExist "foo.txt" extra> +++ OK, passed 1 test. extra> withTempDir $ \dir -> do writeFile (dir "test.txt") ""; (== [dir "test.txt"]) <$> listContents dir extra> +++ OK, passed 1 test. extra> listTest listContents ["bar.txt","foo/baz.txt","zoo"] ["bar.txt","foo","zoo"] extra> +++ OK, passed 1 test. extra> listTest listDirectories ["bar.txt","foo/baz.txt","zoo"] ["foo"] extra> +++ OK, passed 1 test. extra> listTest listFiles ["bar.txt","foo/baz.txt","zoo"] ["bar.txt","zoo"] extra> +++ OK, passed 1 test. extra> listTest listFilesRecursive ["bar.txt","zoo","foo" "baz.txt"] ["bar.txt","zoo","foo" "baz.txt"] extra> +++ OK, passed 1 test. extra> listTest (listFilesInside $ pure . not . isPrefixOf "." . takeFileName) ["bar.txt","foo" "baz.txt",".foo" "baz2.txt", "zoo"] ["bar.txt","zoo","foo" "baz.txt"] extra> +++ OK, passed 1 test. extra> listTest (listFilesInside $ const $ pure False) ["bar.txt"] [] extra> +++ OK, passed 1 test. extra> isWindows == (os == "mingw32") extra> +++ OK, passed 1 test. extra> \(filter isHexDigit -> s) -> fmap (== s) $ withTempFile $ \file -> do writeFile file s; readFile' file extra> +++ OK, passed 100 tests. extra> \s -> withTempFile $ \file -> do writeFileUTF8 file s; fmap (== s) $ readFileUTF8' file extra> +++ OK, passed 100 tests. extra> \(ASCIIString s) -> withTempFile $ \file -> do writeFileBinary file s; fmap (== s) $ readFileBinary' file extra> +++ OK, passed 100 tests. extra> captureOutput (print 1) == pure ("1\n",()) extra> +++ OK, passed 1 test. extra> withTempFile doesFileExist == pure True extra> +++ OK, passed 1 test. extra> (doesFileExist =<< withTempFile pure) == pure False extra> +++ OK, passed 1 test. extra> withTempFile readFile' == pure "" extra> +++ OK, passed 1 test. extra> withTempDir doesDirectoryExist == pure True extra> +++ OK, passed 1 test. extra> (doesDirectoryExist =<< withTempDir pure) == pure False extra> +++ OK, passed 1 test. extra> withTempDir listFiles == pure [] extra> +++ OK, passed 1 test. extra> fileEq "does_not_exist1" "does_not_exist2" == undefined extra> +++ OK, passed 1 test. extra> fileEq "does_not_exist" "does_not_exist" == undefined extra> +++ OK, passed 1 test. extra> withTempFile $ \f1 -> fileEq "does_not_exist" f1 == undefined extra> +++ OK, passed 1 test. extra> withTempFile $ \f1 -> withTempFile $ \f2 -> fileEq f1 f2 extra> +++ OK, passed 1 test. extra> withTempFile $ \f1 -> withTempFile $ \f2 -> writeFile f1 "a" >> writeFile f2 "a" >> fileEq f1 f2 extra> +++ OK, passed 1 test. extra> withTempFile $ \f1 -> withTempFile $ \f2 -> writeFile f1 "a" >> writeFile f2 "b" >> notM (fileEq f1 f2) extra> +++ OK, passed 1 test. extra> fmap (round . fst) (duration $ sleep 1) == pure 1 extra> +++ OK, passed 1 test. extra> timeout (-3) (print 1) == pure Nothing extra> +++ OK, passed 1 test. extra> timeout 0.1 (print 1) == fmap Just (print 1) extra> +++ OK, passed 1 test. extra> do (t, _) <- duration $ timeout 0.1 $ sleep 1000; print t; pure $ t < 1 extra> 0.100271249 extra> +++ OK, passed 1 test. extra> timeout 0.1 (sleep 2 >> print 1) == pure Nothing extra> +++ OK, passed 1 test. extra> showDuration 3.435 == "3.44s" extra> +++ OK, passed 1 test. extra> showDuration 623.8 == "10m24s" extra> +++ OK, passed 1 test. extra> showDuration 62003.8 == "17h13m" extra> +++ OK, passed 1 test. extra> showDuration 1e8 == "27777h47m" extra> +++ OK, passed 1 test. extra> do f <- offsetTime; xs <- replicateM 10 f; pure $ xs == sort xs extra> +++ OK, passed 1 test. extra> do (a,_) <- duration $ sleep 1; pure $ a >= 1 && a <= 1.5 extra> +++ OK, passed 1 test. extra> Extra export extra> +++ OK, passed 1 test. extra> withTempFile extra> ....done extra> withTempDir extra> ....done extra> retry extra> +++ OK, passed 1 test. extra> barrier extra> Success (323 tests) extra> Test suite extra-test: PASS extra> Test suite logged to: dist/test/extra-1.7.16-extra-test.log extra> 1 of 1 test suites (1 of 1 test cases) passed. extra> Running phase: haddockPhase extra> Preprocessing library for extra-1.7.16.. extra> Running Haddock on library for extra-1.7.16.. extra> Warning: --source-* options are ignored when --hyperlinked-source is enabled. extra> [ 1 of 22] Compiling Data.IORef.Extra ( src/Data/IORef/Extra.hs, nothing ) extra> [ 2 of 22] Compiling Data.Monoid.Extra ( src/Data/Monoid/Extra.hs, nothing ) extra> [ 3 of 22] Compiling Data.Tuple.Extra ( src/Data/Tuple/Extra.hs, nothing ) extra> [ 4 of 22] Compiling Data.Typeable.Extra ( src/Data/Typeable/Extra.hs, nothing ) extra> [ 5 of 22] Compiling Numeric.Extra ( src/Numeric/Extra.hs, nothing ) extra> [ 6 of 22] Compiling Partial ( src/Partial.hs, nothing ) extra> [ 7 of 22] Compiling Data.List.Extra ( src/Data/List/Extra.hs, nothing ) extra> [ 8 of 22] Compiling Data.Version.Extra ( src/Data/Version/Extra.hs, nothing ) extra> [ 9 of 22] Compiling Data.List.NonEmpty.Extra ( src/Data/List/NonEmpty/Extra.hs, nothing ) extra> [10 of 22] Compiling Data.Either.Extra ( src/Data/Either/Extra.hs, nothing ) extra> [11 of 22] Compiling Control.Exception.Extra ( src/Control/Exception/Extra.hs, nothing ) extra> [12 of 22] Compiling Control.Monad.Extra ( src/Control/Monad/Extra.hs, nothing ) extra> [13 of 22] Compiling Data.Foldable.Extra ( src/Data/Foldable/Extra.hs, nothing ) extra> [14 of 22] Compiling Control.Concurrent.Extra ( src/Control/Concurrent/Extra.hs, nothing ) extra> [15 of 22] Compiling System.Directory.Extra ( src/System/Directory/Extra.hs, nothing ) extra> [16 of 22] Compiling System.Environment.Extra ( src/System/Environment/Extra.hs, nothing ) extra> [17 of 22] Compiling System.IO.Extra ( src/System/IO/Extra.hs, nothing ) extra> [18 of 22] Compiling System.Info.Extra ( src/System/Info/Extra.hs, nothing ) extra> [19 of 22] Compiling System.Process.Extra ( src/System/Process/Extra.hs, nothing ) extra> [20 of 22] Compiling System.Time.Extra ( src/System/Time/Extra.hs, nothing ) extra> [21 of 22] Compiling Extra ( src/Extra.hs, nothing ) extra> [22 of 22] Compiling Text.Read.Extra ( src/Text/Read/Extra.hs, nothing ) extra> Haddock coverage: extra> 100% ( 6 / 6) in 'Data.IORef.Extra' extra> 100% ( 4 / 4) in 'Data.Monoid.Extra' extra> Warning: 'Arrow' is out of scope. extra> If you qualify the identifier, haddock can try to link it anyway. extra> 100% ( 28 / 28) in 'Data.Tuple.Extra' extra> 100% ( 2 / 2) in 'Data.Typeable.Extra' extra> 100% ( 7 / 7) in 'Numeric.Extra' extra> Warning: '(:)' is out of scope. extra> If you qualify the identifier, haddock can try to link it anyway. extra> Warning: 'unzip' is ambiguous. It is defined extra> * in ‘Data.Functor’ extra> * in ‘GHC.List’ extra> You may be able to disambiguate the identifier by qualifying it or extra> by specifying the type/value namespace explicitly. extra> Defaulting to the one defined in ‘GHC.List’ extra> Warning: 'firstJustM' is out of scope. extra> If you qualify the identifier, haddock can try to link it anyway. extra> 100% ( 85 / 85) in 'Data.List.Extra' extra> Warning: 'Version' is ambiguous. It is defined extra> * in ‘Data.Version’ extra> * in ‘Data.Version’ extra> You may be able to disambiguate the identifier by qualifying it or extra> by specifying the type/value namespace explicitly. extra> Defaulting to the one defined in ‘Data.Version’ extra> 100% ( 3 / 3) in 'Data.Version.Extra' extra> 100% ( 22 / 22) in 'Data.List.NonEmpty.Extra' extra> Warning: 'fromJust' is out of scope. extra> If you qualify the identifier, haddock can try to link it anyway. extra> 100% ( 11 / 11) in 'Data.Either.Extra' extra> Warning: 'ErrorCall' is ambiguous. It is defined extra> * in ‘GHC.Exception’ extra> * in ‘GHC.Exception’ extra> You may be able to disambiguate the identifier by qualifying it or extra> by specifying the type/value namespace explicitly. extra> Defaulting to the one defined in ‘GHC.Exception’ extra> Warning: 'AssertionFailed' is ambiguous. It is defined extra> * in ‘GHC.IO.Exception’ extra> * in ‘GHC.IO.Exception’ extra> You may be able to disambiguate the identifier by qualifying it or extra> by specifying the type/value namespace explicitly. extra> Defaulting to the one defined in ‘GHC.IO.Exception’ extra> Warning: 'SomeException' is ambiguous. It is defined extra> * in ‘GHC.Exception.Type’ extra> * in ‘GHC.Exception.Type’ extra> You may be able to disambiguate the identifier by qualifying it or extra> by specifying the type/value namespace explicitly. extra> Defaulting to the one defined in ‘GHC.Exception.Type’ extra> 100% ( 21 / 21) in 'Control.Exception.Extra' extra> Warning: 'partition' is out of scope. extra> If you qualify the identifier, haddock can try to link it anyway. extra> Warning: 'mconcatMap' is out of scope. extra> If you qualify the identifier, haddock can try to link it anyway. extra> Warning: 'find' is out of scope. extra> If you qualify the identifier, haddock can try to link it anyway. extra> 100% ( 38 / 38) in 'Control.Monad.Extra' extra> 92% ( 12 / 13) in 'Data.Foldable.Extra' extra> Missing documentation for: extra> Module header extra> Warning: 'Lock' is ambiguous. It is defined extra> * at src/Control/Concurrent/Extra.hs:106:16 extra> * at src/Control/Concurrent/Extra.hs:106:1 extra> You may be able to disambiguate the identifier by qualifying it or extra> by specifying the type/value namespace explicitly. extra> Defaulting to the one defined at src/Control/Concurrent/Extra.hs:106:1 extra> Warning: 'Var' is ambiguous. It is defined extra> * at src/Control/Concurrent/Extra.hs:146:17 extra> * at src/Control/Concurrent/Extra.hs:146:1 extra> You may be able to disambiguate the identifier by qualifying it or extra> by specifying the type/value namespace explicitly. extra> Defaulting to the one defined at src/Control/Concurrent/Extra.hs:146:1 extra> Warning: 'Barrier' is ambiguous. It is defined extra> * at src/Control/Concurrent/Extra.hs:210:21 extra> * at src/Control/Concurrent/Extra.hs:210:1 extra> You may be able to disambiguate the identifier by qualifying it or extra> by specifying the type/value namespace explicitly. extra> Defaulting to the one defined at src/Control/Concurrent/Extra.hs:210:1 extra> 100% ( 27 / 27) in 'Control.Concurrent.Extra' extra> 100% ( 8 / 8) in 'System.Directory.Extra' extra> 100% ( 2 / 2) in 'System.Environment.Extra' extra> 100% ( 26 / 26) in 'System.IO.Extra' extra> 100% ( 4 / 4) in 'System.Info.Extra' extra> 100% ( 5 / 5) in 'System.Process.Extra' extra> 100% ( 8 / 8) in 'System.Time.Extra' extra> 100% (268 /268) in 'Extra' extra> 100% ( 2 / 2) in 'Text.Read.Extra' extra> Warning: Data.Tuple.Extra: could not find link destinations for: extra> - GHC.Generics.Rep1_Solo extra> - GHC.Generics.Rep_Solo extra> Documentation created: dist/doc/html/extra/, dist/doc/html/extra/extra.txt extra> Preprocessing test suite 'extra-test' for extra-1.7.16.. extra> Running phase: installPhase extra> Installing library in /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/extra-1.7.16-BqnQjM86H1P931E5AxHLv4 extra> Running phase: fixupPhase extra> shrinking RPATHs of ELF executables and libraries in /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16 extra> shrinking /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/libHSextra-1.7.16-BqnQjM86H1P931E5AxHLv4-ghc9.8.4.so extra> checking for references to /build/ in /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16... extra> patching script interpreter paths in /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16 extra> stripping (with command strip and flags -S -p) in /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16/lib extra> shrinking RPATHs of ELF executables and libraries in /nix/store/7v8mq31c600ihyiyhjrmg185iva5gv94-extra-1.7.16-doc extra> checking for references to /build/ in /nix/store/7v8mq31c600ihyiyhjrmg185iva5gv94-extra-1.7.16-doc... extra> patching script interpreter paths in /nix/store/7v8mq31c600ihyiyhjrmg185iva5gv94-extra-1.7.16-doc extra (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16 /nix/store/7v8mq31c600ihyiyhjrmg185iva5gv94-extra-1.7.16-doc extra (post)> Pushing 2 paths (68 are already present) using zstd to cache sellout ⏳ extra (post)> extra (post)> Pushing /nix/store/7v8mq31c600ihyiyhjrmg185iva5gv94-extra-1.7.16-doc (3.06 MiB) extra (post)> Pushing /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16 (4.07 MiB) extra (post)> extra (post)> All done. extra (post)> added 2 signatures extra (post)> added 1 signatures extra (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16 /nix/store/7v8mq31c600ihyiyhjrmg185iva5gv94-extra-1.7.16-doc extra (post)> copying 2 paths... extra (post)> copying path '/nix/store/7v8mq31c600ihyiyhjrmg185iva5gv94-extra-1.7.16-doc' to 'https://cache.nix-ci.com'... extra (post)> copying path '/nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16' to 'https://cache.nix-ci.com'... extra (post)> copying 1 paths... extra (post)> copying path '/nix/store/38dxvd6b506l9khi773rv0hw8kiqp43i-extra-1.7.16.drv' to 'https://cache.nix-ci.com'... extra (post)> added 0 signatures extra (post)> added 0 signatures extra (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16 /nix/store/7v8mq31c600ihyiyhjrmg185iva5gv94-extra-1.7.16-doc extra (post)> copying 2 paths... extra (post)> copying path '/nix/store/7v8mq31c600ihyiyhjrmg185iva5gv94-extra-1.7.16-doc' to 'ssh-ng://worker.nix-ci.com'... extra (post)> copying path '/nix/store/1hbn5j310k63dnn3d7lg9x5l8yj3c6jr-extra-1.7.16' to 'ssh-ng://worker.nix-ci.com'... extra (post)> copying 1 paths... extra (post)> copying path '/nix/store/38dxvd6b506l9khi773rv0hw8kiqp43i-extra-1.7.16.drv' to 'ssh-ng://worker.nix-ci.com'... building '/nix/store/r2w6za8qag5j42r0naczjqa0yppwdvrn-algebraic-graphs-0.7.drv'... algebraic-graphs> Running phase: setupCompilerEnvironmentPhase algebraic-graphs> Build with /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4. algebraic-graphs> Running phase: unpackPhase algebraic-graphs> unpacking source archive /nix/store/gfjyfw1hcshbfclk91difmkphwib8nbd-algebraic-graphs-0.7.tar.gz algebraic-graphs> source root is algebraic-graphs-0.7 algebraic-graphs> setting SOURCE_DATE_EPOCH to timestamp 1655769405 of file "algebraic-graphs-0.7/test/Data/Graph/Test/Typed.hs" algebraic-graphs> Running phase: patchPhase algebraic-graphs> Replace Cabal file with edited version from mirror://hackage/algebraic-graphs-0.7/revision/3.cabal. algebraic-graphs> Running phase: compileBuildDriverPhase algebraic-graphs> setupCompileFlags: -package-db=/build/tmp.a3ypCkcVtx/setup-package.conf.d -threaded algebraic-graphs> [1 of 2] Compiling Main ( Setup.hs, /build/tmp.a3ypCkcVtx/Main.o ) algebraic-graphs> [2 of 2] Linking Setup algebraic-graphs> Running phase: updateAutotoolsGnuConfigScriptsPhase algebraic-graphs> Running phase: configurePhase algebraic-graphs> configureFlags: --verbose --prefix=/nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/i20wyz33jxmndy1mxc76aph97vlmik3k-algebraic-graphs-0.7-doc/share/doc/algebraic-graphs-0.7 --with-gcc=gcc --package-db=/build/tmp.a3ypCkcVtx/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/vj3rmg6937p9icir6bazbdcb4xdnrg9j-ncurses-6.5/lib --extra-lib-dirs=/nix/store/0aaj6jbxclpwvrphggqz4vf5hg8360fr-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/vaix9m2syrilm7hv3690plsk35y0arwm-elfutils-0.192/lib --extra-lib-dirs=/nix/store/m9fycbkaairz8kampnsl7sx1aanvl0db-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/lib algebraic-graphs> Using Parsec parser algebraic-graphs> Configuring algebraic-graphs-0.7... algebraic-graphs> Dependency array >=0.4 && <0.6: using array-0.5.8.0 algebraic-graphs> Dependency base >=4.11 && <5: using base-4.19.2.0 algebraic-graphs> Dependency containers >=0.5.5.1 && <0.8: using containers-0.6.8 algebraic-graphs> Dependency deepseq >=1.3.0.1 && <1.6: using deepseq-1.5.1.0 algebraic-graphs> Dependency transformers >=0.4 && <0.7: using transformers-0.6.1.0 algebraic-graphs> Dependency QuickCheck >=2.14 && <2.16: using QuickCheck-2.14.3 algebraic-graphs> Dependency algebraic-graphs: using algebraic-graphs-0.7 algebraic-graphs> Dependency array >=0.4 && <0.6: using array-0.5.8.0 algebraic-graphs> Dependency base >=4.11 && <5: using base-4.19.2.0 algebraic-graphs> Dependency containers >=0.5.5.1 && <0.8: using containers-0.6.8 algebraic-graphs> Dependency deepseq >=1.3.0.1 && <1.6: using deepseq-1.5.1.0 algebraic-graphs> Dependency extra >=1.4 && <2: using extra-1.7.16 algebraic-graphs> Dependency inspection-testing >=0.4.2.2 && <0.6: using algebraic-graphs> inspection-testing-0.5.0.3 algebraic-graphs> Dependency transformers >=0.4 && <0.7: using transformers-0.6.1.0 algebraic-graphs> Source component graph: algebraic-graphs> component lib algebraic-graphs> component test:main dependency lib algebraic-graphs> Configured component graph: algebraic-graphs> component algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9 algebraic-graphs> include array-0.5.8.0-bbbc algebraic-graphs> include base-4.19.2.0-0fde algebraic-graphs> include containers-0.6.8-ddec algebraic-graphs> include deepseq-1.5.1.0-7f97 algebraic-graphs> include transformers-0.6.1.0-f128 algebraic-graphs> component algebraic-graphs-0.7-LdF1ygzSSqTIZsmVPabUdq-main algebraic-graphs> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi algebraic-graphs> include algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9 algebraic-graphs> include array-0.5.8.0-bbbc algebraic-graphs> include base-4.19.2.0-0fde algebraic-graphs> include containers-0.6.8-ddec algebraic-graphs> include deepseq-1.5.1.0-7f97 algebraic-graphs> include extra-1.7.16-BqnQjM86H1P931E5AxHLv4 algebraic-graphs> include inspection-testing-0.5.0.3-DkcJC7MwZ1jEYWvue2hl9W algebraic-graphs> include transformers-0.6.1.0-f128 algebraic-graphs> Linked component graph: algebraic-graphs> unit algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9 algebraic-graphs> include array-0.5.8.0-bbbc algebraic-graphs> include base-4.19.2.0-0fde algebraic-graphs> include containers-0.6.8-ddec algebraic-graphs> include deepseq-1.5.1.0-7f97 algebraic-graphs> include transformers-0.6.1.0-f128 algebraic-graphs> Algebra.Graph=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph,Algebra.Graph.Acyclic.AdjacencyMap=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Acyclic.AdjacencyMap,Algebra.Graph.AdjacencyIntMap=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.AdjacencyIntMap,Algebra.Graph.AdjacencyIntMap.Algorithm=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.AdjacencyIntMap.Algorithm,Algebra.Graph.AdjacencyMap=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.AdjacencyMap,Algebra.Graph.AdjacencyMap.Algorithm=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.AdjacencyMap.Algorithm,Algebra.Graph.Bipartite.AdjacencyMap=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Bipartite.AdjacencyMap,Algebra.Graph.Bipartite.AdjacencyMap.Algorithm=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Bipartite.AdjacencyMap.Algorithm,Algebra.Graph.Class=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Class,Algebra.Graph.Example.Todo=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Example.Todo,Algebra.Graph.Export=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Export,Algebra.Graph.Export.Dot=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Export.Dot,Algebra.Graph.HigherKinded.Class=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.HigherKinded.Class,Algebra.Graph.Internal=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Internal,Algebra.Graph.Label=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Label,Algebra.Graph.Labelled=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Labelled,Algebra.Graph.Labelled.AdjacencyMap=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Labelled.AdjacencyMap,Algebra.Graph.Labelled.Example.Automaton=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Labelled.Example.Automaton,Algebra.Graph.Labelled.Example.Network=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Labelled.Example.Network,Algebra.Graph.NonEmpty=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.NonEmpty,Algebra.Graph.NonEmpty.AdjacencyMap=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.NonEmpty.AdjacencyMap,Algebra.Graph.Relation=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Relation,Algebra.Graph.Relation.Preorder=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Relation.Preorder,Algebra.Graph.Relation.Reflexive=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Relation.Reflexive,Algebra.Graph.Relation.Symmetric=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Relation.Symmetric,Algebra.Graph.Relation.Transitive=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Relation.Transitive,Algebra.Graph.ToGraph=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.ToGraph,Algebra.Graph.Undirected=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Algebra.Graph.Undirected,Data.Graph.Typed=algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9:Data.Graph.Typed algebraic-graphs> unit algebraic-graphs-0.7-LdF1ygzSSqTIZsmVPabUdq-main algebraic-graphs> include QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi algebraic-graphs> include algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9 algebraic-graphs> include array-0.5.8.0-bbbc algebraic-graphs> include base-4.19.2.0-0fde algebraic-graphs> include containers-0.6.8-ddec algebraic-graphs> include deepseq-1.5.1.0-7f97 algebraic-graphs> include extra-1.7.16-BqnQjM86H1P931E5AxHLv4 algebraic-graphs> include inspection-testing-0.5.0.3-DkcJC7MwZ1jEYWvue2hl9W algebraic-graphs> include transformers-0.6.1.0-f128 algebraic-graphs> Ready component graph: algebraic-graphs> definite algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9 algebraic-graphs> depends array-0.5.8.0-bbbc algebraic-graphs> depends base-4.19.2.0-0fde algebraic-graphs> depends containers-0.6.8-ddec algebraic-graphs> depends deepseq-1.5.1.0-7f97 algebraic-graphs> depends transformers-0.6.1.0-f128 algebraic-graphs> definite algebraic-graphs-0.7-LdF1ygzSSqTIZsmVPabUdq-main algebraic-graphs> depends QuickCheck-2.14.3-CB2zPnuzorVIXAcUfBvwyi algebraic-graphs> depends algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9 algebraic-graphs> depends array-0.5.8.0-bbbc algebraic-graphs> depends base-4.19.2.0-0fde algebraic-graphs> depends containers-0.6.8-ddec algebraic-graphs> depends deepseq-1.5.1.0-7f97 algebraic-graphs> depends extra-1.7.16-BqnQjM86H1P931E5AxHLv4 algebraic-graphs> depends inspection-testing-0.5.0.3-DkcJC7MwZ1jEYWvue2hl9W algebraic-graphs> depends transformers-0.6.1.0-f128 algebraic-graphs> Using Cabal-3.10.3.0 compiled by ghc-9.8 algebraic-graphs> Using compiler: ghc-9.8.4 algebraic-graphs> Using install prefix: algebraic-graphs> /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7 algebraic-graphs> Executables installed in: algebraic-graphs> /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/bin algebraic-graphs> Libraries installed in: algebraic-graphs> /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9 algebraic-graphs> Dynamic Libraries installed in: algebraic-graphs> /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4 algebraic-graphs> Private executables installed in: algebraic-graphs> /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/libexec/x86_64-linux-ghc-9.8.4/algebraic-graphs-0.7 algebraic-graphs> Data files installed in: algebraic-graphs> /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/share/x86_64-linux-ghc-9.8.4/algebraic-graphs-0.7 algebraic-graphs> Documentation installed in: algebraic-graphs> /nix/store/i20wyz33jxmndy1mxc76aph97vlmik3k-algebraic-graphs-0.7-doc/share/doc/algebraic-graphs-0.7 algebraic-graphs> Configuration files installed in: algebraic-graphs> /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/etc algebraic-graphs> No alex found algebraic-graphs> Using ar found on system at: algebraic-graphs> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ar algebraic-graphs> No c2hs found algebraic-graphs> No cpphs found algebraic-graphs> No doctest found algebraic-graphs> Using gcc version 14.3.0 given by user at: algebraic-graphs> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/gcc algebraic-graphs> Using ghc version 9.8.4 found on system at: algebraic-graphs> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc algebraic-graphs> Using ghc-pkg version 9.8.4 found on system at: algebraic-graphs> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/ghc-pkg-9.8.4 algebraic-graphs> No ghcjs found algebraic-graphs> No ghcjs-pkg found algebraic-graphs> No greencard found algebraic-graphs> Using haddock version 2.30.0 found on system at: algebraic-graphs> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/haddock-ghc-9.8.4 algebraic-graphs> No happy found algebraic-graphs> Using haskell-suite found on system at: haskell-suite-dummy-location algebraic-graphs> Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location algebraic-graphs> No hmake found algebraic-graphs> Using hpc version 0.69 found on system at: algebraic-graphs> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hpc-ghc-9.8.4 algebraic-graphs> Using hsc2hs version 0.68.10 found on system at: algebraic-graphs> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/hsc2hs-ghc-9.8.4 algebraic-graphs> Using hscolour version 1.25 found on system at: algebraic-graphs> /nix/store/fb7sllj82i2dv2ijivsz2abp0agz40p9-hscolour-1.25/bin/HsColour algebraic-graphs> No jhc found algebraic-graphs> Using ld found on system at: algebraic-graphs> /nix/store/iga4lv0say4pbbbgkf1v79403n1ip7hf-binutils-wrapper-2.44/bin/ld.gold algebraic-graphs> No pkg-config found algebraic-graphs> Using runghc version 9.8.4 found on system at: algebraic-graphs> /nix/store/xjsg1lm52b01v6k1v1169nlwpa2ing74-ghc-9.8.4/bin/runghc-9.8.4 algebraic-graphs> Using strip version 2.44 found on system at: algebraic-graphs> /nix/store/kks0nbx2riwry5qsx0qr87qr0lswmhzi-gcc-wrapper-14.3.0/bin/strip algebraic-graphs> Using tar found on system at: algebraic-graphs> /nix/store/76df6j9sq1ar58id3y3v4rkijany1wxp-gnutar-1.35/bin/tar algebraic-graphs> No uhc found algebraic-graphs> Running phase: buildPhase algebraic-graphs> Preprocessing library for algebraic-graphs-0.7.. algebraic-graphs> Building library for algebraic-graphs-0.7.. algebraic-graphs> [ 1 of 29] Compiling Algebra.Graph.AdjacencyMap ( src/Algebra/Graph/AdjacencyMap.hs, dist/build/Algebra/Graph/AdjacencyMap.o, dist/build/Algebra/Graph/AdjacencyMap.dyn_o ) algebraic-graphs> [ 2 of 29] Compiling Algebra.Graph.AdjacencyIntMap ( src/Algebra/Graph/AdjacencyIntMap.hs, dist/build/Algebra/Graph/AdjacencyIntMap.o, dist/build/Algebra/Graph/AdjacencyIntMap.dyn_o ) algebraic-graphs> [ 3 of 29] Compiling Algebra.Graph.AdjacencyIntMap.Algorithm ( src/Algebra/Graph/AdjacencyIntMap/Algorithm.hs, dist/build/Algebra/Graph/AdjacencyIntMap/Algorithm.o, dist/build/Algebra/Graph/AdjacencyIntMap/Algorithm.dyn_o ) algebraic-graphs> [ 4 of 29] Compiling Algebra.Graph.Internal ( src/Algebra/Graph/Internal.hs, dist/build/Algebra/Graph/Internal.o, dist/build/Algebra/Graph/Internal.dyn_o ) algebraic-graphs> [ 5 of 29] Compiling Algebra.Graph ( src/Algebra/Graph.hs, dist/build/Algebra/Graph.o, dist/build/Algebra/Graph.dyn_o ) algebraic-graphs> [ 6 of 29] Compiling Algebra.Graph.HigherKinded.Class ( src/Algebra/Graph/HigherKinded/Class.hs, dist/build/Algebra/Graph/HigherKinded/Class.o, dist/build/Algebra/Graph/HigherKinded/Class.dyn_o ) algebraic-graphs> [ 7 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap ( src/Algebra/Graph/Bipartite/AdjacencyMap.hs, dist/build/Algebra/Graph/Bipartite/AdjacencyMap.o, dist/build/Algebra/Graph/Bipartite/AdjacencyMap.dyn_o ) algebraic-graphs> [ 8 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap.Algorithm ( src/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.hs, dist/build/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.o, dist/build/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.dyn_o ) algebraic-graphs> [ 9 of 29] Compiling Algebra.Graph.Label ( src/Algebra/Graph/Label.hs, dist/build/Algebra/Graph/Label.o, dist/build/Algebra/Graph/Label.dyn_o ) algebraic-graphs> [10 of 29] Compiling Algebra.Graph.NonEmpty.AdjacencyMap ( src/Algebra/Graph/NonEmpty/AdjacencyMap.hs, dist/build/Algebra/Graph/NonEmpty/AdjacencyMap.o, dist/build/Algebra/Graph/NonEmpty/AdjacencyMap.dyn_o ) algebraic-graphs> [11 of 29] Compiling Algebra.Graph.AdjacencyMap.Algorithm ( src/Algebra/Graph/AdjacencyMap/Algorithm.hs, dist/build/Algebra/Graph/AdjacencyMap/Algorithm.o, dist/build/Algebra/Graph/AdjacencyMap/Algorithm.dyn_o ) algebraic-graphs> algebraic-graphs> src/Algebra/Graph/AdjacencyMap/Algorithm.hs:384:43: warning: [GHC-63394] [-Wx-partial] algebraic-graphs> In the use of ‘head’ algebraic-graphs> (imported from Prelude, but defined in GHC.List): algebraic-graphs> "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." algebraic-graphs> | algebraic-graphs> 384 | exit v = do newComponent <- (v==).snd.head <$> gets boundaryStack algebraic-graphs> | ^^^^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/AdjacencyMap/Algorithm.hs:391:21: warning: [GHC-63394] [-Wx-partial] algebraic-graphs> In the use of ‘tail’ algebraic-graphs> (imported from Prelude, but defined in GHC.List): algebraic-graphs> "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." algebraic-graphs> | algebraic-graphs> 391 | pth' = tail v_pth' -- Here we know that v_pth' starts with v algebraic-graphs> | ^^^^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/AdjacencyMap/Algorithm.hs:395:26: warning: [GHC-63394] [-Wx-partial] algebraic-graphs> In the use of ‘head’ algebraic-graphs> (imported from Prelude, but defined in GHC.List): algebraic-graphs> "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." algebraic-graphs> | algebraic-graphs> 395 | p_v = fst $ head bnd algebraic-graphs> | ^^^^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/AdjacencyMap/Algorithm.hs:397:21: warning: [GHC-63394] [-Wx-partial] algebraic-graphs> In the use of ‘tail’ algebraic-graphs> (imported from Prelude, but defined in GHC.List): algebraic-graphs> "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." algebraic-graphs> | algebraic-graphs> 397 | bnd' = tail bnd algebraic-graphs> | ^^^^ algebraic-graphs> [12 of 29] Compiling Algebra.Graph.Acyclic.AdjacencyMap ( src/Algebra/Graph/Acyclic/AdjacencyMap.hs, dist/build/Algebra/Graph/Acyclic/AdjacencyMap.o, dist/build/Algebra/Graph/Acyclic/AdjacencyMap.dyn_o ) algebraic-graphs> [13 of 29] Compiling Algebra.Graph.ToGraph ( src/Algebra/Graph/ToGraph.hs, dist/build/Algebra/Graph/ToGraph.o, dist/build/Algebra/Graph/ToGraph.dyn_o ) algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:171:32: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 171 | vertexIntSet :: ToVertex t ~ Int => t -> IntSet algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:197:29: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 197 | preIntSet :: ToVertex t ~ Int => Int -> t -> IntSet algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:215:30: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 215 | postIntSet :: ToVertex t ~ Int => Int -> t -> IntSet algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:303:37: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 303 | toAdjacencyIntMap :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:312:46: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 312 | toAdjacencyIntMapTranspose :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:452:43: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 452 | adjacencyIntMap :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:471:52: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 471 | adjacencyIntMapTranspose :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet algebraic-graphs> | ^ algebraic-graphs> [14 of 29] Compiling Algebra.Graph.Relation ( src/Algebra/Graph/Relation.hs, dist/build/Algebra/Graph/Relation.o, dist/build/Algebra/Graph/Relation.dyn_o ) algebraic-graphs> [15 of 29] Compiling Algebra.Graph.Relation.Symmetric ( src/Algebra/Graph/Relation/Symmetric.hs, dist/build/Algebra/Graph/Relation/Symmetric.o, dist/build/Algebra/Graph/Relation/Symmetric.dyn_o ) algebraic-graphs> [16 of 29] Compiling Algebra.Graph.NonEmpty ( src/Algebra/Graph/NonEmpty.hs, dist/build/Algebra/Graph/NonEmpty.o, dist/build/Algebra/Graph/NonEmpty.dyn_o ) algebraic-graphs> [17 of 29] Compiling Algebra.Graph.Labelled.AdjacencyMap ( src/Algebra/Graph/Labelled/AdjacencyMap.hs, dist/build/Algebra/Graph/Labelled/AdjacencyMap.o, dist/build/Algebra/Graph/Labelled/AdjacencyMap.dyn_o ) algebraic-graphs> [18 of 29] Compiling Algebra.Graph.Labelled ( src/Algebra/Graph/Labelled.hs, dist/build/Algebra/Graph/Labelled.o, dist/build/Algebra/Graph/Labelled.dyn_o ) algebraic-graphs> [19 of 29] Compiling Algebra.Graph.Labelled.Example.Network ( src/Algebra/Graph/Labelled/Example/Network.hs, dist/build/Algebra/Graph/Labelled/Example/Network.o, dist/build/Algebra/Graph/Labelled/Example/Network.dyn_o ) algebraic-graphs> [20 of 29] Compiling Algebra.Graph.Labelled.Example.Automaton ( src/Algebra/Graph/Labelled/Example/Automaton.hs, dist/build/Algebra/Graph/Labelled/Example/Automaton.o, dist/build/Algebra/Graph/Labelled/Example/Automaton.dyn_o ) algebraic-graphs> [21 of 29] Compiling Algebra.Graph.Export ( src/Algebra/Graph/Export.hs, dist/build/Algebra/Graph/Export.o, dist/build/Algebra/Graph/Export.dyn_o ) algebraic-graphs> algebraic-graphs> src/Algebra/Graph/Export.hs:185:41: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 185 | export :: (Ord a, ToGraph g, ToVertex g ~ a) => (a -> Doc s) -> (a -> a -> Doc s) -> g -> Doc s algebraic-graphs> | ^ algebraic-graphs> [22 of 29] Compiling Algebra.Graph.Export.Dot ( src/Algebra/Graph/Export/Dot.hs, dist/build/Algebra/Graph/Export/Dot.o, dist/build/Algebra/Graph/Export/Dot.dyn_o ) algebraic-graphs> algebraic-graphs> src/Algebra/Graph/Export/Dot.hs:121:63: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 121 | export :: (IsString s, Monoid s, Ord a, ToGraph g, ToVertex g ~ a) => Style a s -> g -> s algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/Export/Dot.hs:165:78: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 165 | exportAsIs :: (IsString s, Monoid s, Ord (ToVertex g), ToGraph g, ToVertex g ~ s) => g -> s algebraic-graphs> | ^ algebraic-graphs> [23 of 29] Compiling Algebra.Graph.Undirected ( src/Algebra/Graph/Undirected.hs, dist/build/Algebra/Graph/Undirected.o, dist/build/Algebra/Graph/Undirected.dyn_o ) algebraic-graphs> [24 of 29] Compiling Algebra.Graph.Class ( src/Algebra/Graph/Class.hs, dist/build/Algebra/Graph/Class.o, dist/build/Algebra/Graph/Class.dyn_o ) algebraic-graphs> [25 of 29] Compiling Algebra.Graph.Relation.Transitive ( src/Algebra/Graph/Relation/Transitive.hs, dist/build/Algebra/Graph/Relation/Transitive.o, dist/build/Algebra/Graph/Relation/Transitive.dyn_o ) algebraic-graphs> [26 of 29] Compiling Algebra.Graph.Relation.Reflexive ( src/Algebra/Graph/Relation/Reflexive.hs, dist/build/Algebra/Graph/Relation/Reflexive.o, dist/build/Algebra/Graph/Relation/Reflexive.dyn_o ) algebraic-graphs> [27 of 29] Compiling Algebra.Graph.Relation.Preorder ( src/Algebra/Graph/Relation/Preorder.hs, dist/build/Algebra/Graph/Relation/Preorder.o, dist/build/Algebra/Graph/Relation/Preorder.dyn_o ) algebraic-graphs> [28 of 29] Compiling Algebra.Graph.Example.Todo ( src/Algebra/Graph/Example/Todo.hs, dist/build/Algebra/Graph/Example/Todo.o, dist/build/Algebra/Graph/Example/Todo.dyn_o ) algebraic-graphs> [29 of 29] Compiling Data.Graph.Typed ( src/Data/Graph/Typed.hs, dist/build/Data/Graph/Typed.o, dist/build/Data/Graph/Typed.dyn_o ) algebraic-graphs> [ 1 of 29] Compiling Algebra.Graph.AdjacencyMap ( src/Algebra/Graph/AdjacencyMap.hs, dist/build/Algebra/Graph/AdjacencyMap.p_o ) algebraic-graphs> [ 2 of 29] Compiling Algebra.Graph.AdjacencyIntMap ( src/Algebra/Graph/AdjacencyIntMap.hs, dist/build/Algebra/Graph/AdjacencyIntMap.p_o ) algebraic-graphs> [ 3 of 29] Compiling Algebra.Graph.AdjacencyIntMap.Algorithm ( src/Algebra/Graph/AdjacencyIntMap/Algorithm.hs, dist/build/Algebra/Graph/AdjacencyIntMap/Algorithm.p_o ) algebraic-graphs> [ 4 of 29] Compiling Algebra.Graph.Internal ( src/Algebra/Graph/Internal.hs, dist/build/Algebra/Graph/Internal.p_o ) algebraic-graphs> [ 5 of 29] Compiling Algebra.Graph ( src/Algebra/Graph.hs, dist/build/Algebra/Graph.p_o ) algebraic-graphs> [ 6 of 29] Compiling Algebra.Graph.HigherKinded.Class ( src/Algebra/Graph/HigherKinded/Class.hs, dist/build/Algebra/Graph/HigherKinded/Class.p_o ) algebraic-graphs> [ 7 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap ( src/Algebra/Graph/Bipartite/AdjacencyMap.hs, dist/build/Algebra/Graph/Bipartite/AdjacencyMap.p_o ) algebraic-graphs> [ 8 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap.Algorithm ( src/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.hs, dist/build/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.p_o ) algebraic-graphs> [ 9 of 29] Compiling Algebra.Graph.Label ( src/Algebra/Graph/Label.hs, dist/build/Algebra/Graph/Label.p_o ) algebraic-graphs> [10 of 29] Compiling Algebra.Graph.NonEmpty.AdjacencyMap ( src/Algebra/Graph/NonEmpty/AdjacencyMap.hs, dist/build/Algebra/Graph/NonEmpty/AdjacencyMap.p_o ) algebraic-graphs> [11 of 29] Compiling Algebra.Graph.AdjacencyMap.Algorithm ( src/Algebra/Graph/AdjacencyMap/Algorithm.hs, dist/build/Algebra/Graph/AdjacencyMap/Algorithm.p_o ) algebraic-graphs> algebraic-graphs> src/Algebra/Graph/AdjacencyMap/Algorithm.hs:384:43: warning: [GHC-63394] [-Wx-partial] algebraic-graphs> In the use of ‘head’ algebraic-graphs> (imported from Prelude, but defined in GHC.List): algebraic-graphs> "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." algebraic-graphs> | algebraic-graphs> 384 | exit v = do newComponent <- (v==).snd.head <$> gets boundaryStack algebraic-graphs> | ^^^^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/AdjacencyMap/Algorithm.hs:391:21: warning: [GHC-63394] [-Wx-partial] algebraic-graphs> In the use of ‘tail’ algebraic-graphs> (imported from Prelude, but defined in GHC.List): algebraic-graphs> "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." algebraic-graphs> | algebraic-graphs> 391 | pth' = tail v_pth' -- Here we know that v_pth' starts with v algebraic-graphs> | ^^^^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/AdjacencyMap/Algorithm.hs:395:26: warning: [GHC-63394] [-Wx-partial] algebraic-graphs> In the use of ‘head’ algebraic-graphs> (imported from Prelude, but defined in GHC.List): algebraic-graphs> "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." algebraic-graphs> | algebraic-graphs> 395 | p_v = fst $ head bnd algebraic-graphs> | ^^^^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/AdjacencyMap/Algorithm.hs:397:21: warning: [GHC-63394] [-Wx-partial] algebraic-graphs> In the use of ‘tail’ algebraic-graphs> (imported from Prelude, but defined in GHC.List): algebraic-graphs> "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." algebraic-graphs> | algebraic-graphs> 397 | bnd' = tail bnd algebraic-graphs> | ^^^^ algebraic-graphs> [12 of 29] Compiling Algebra.Graph.Acyclic.AdjacencyMap ( src/Algebra/Graph/Acyclic/AdjacencyMap.hs, dist/build/Algebra/Graph/Acyclic/AdjacencyMap.p_o ) algebraic-graphs> [13 of 29] Compiling Algebra.Graph.ToGraph ( src/Algebra/Graph/ToGraph.hs, dist/build/Algebra/Graph/ToGraph.p_o ) algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:171:32: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 171 | vertexIntSet :: ToVertex t ~ Int => t -> IntSet algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:197:29: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 197 | preIntSet :: ToVertex t ~ Int => Int -> t -> IntSet algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:215:30: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 215 | postIntSet :: ToVertex t ~ Int => Int -> t -> IntSet algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:303:37: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 303 | toAdjacencyIntMap :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:312:46: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 312 | toAdjacencyIntMapTranspose :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:452:43: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 452 | adjacencyIntMap :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:471:52: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 471 | adjacencyIntMapTranspose :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet algebraic-graphs> | ^ algebraic-graphs> [14 of 29] Compiling Algebra.Graph.Relation ( src/Algebra/Graph/Relation.hs, dist/build/Algebra/Graph/Relation.p_o ) algebraic-graphs> [15 of 29] Compiling Algebra.Graph.Relation.Symmetric ( src/Algebra/Graph/Relation/Symmetric.hs, dist/build/Algebra/Graph/Relation/Symmetric.p_o ) algebraic-graphs> [16 of 29] Compiling Algebra.Graph.NonEmpty ( src/Algebra/Graph/NonEmpty.hs, dist/build/Algebra/Graph/NonEmpty.p_o ) algebraic-graphs> [17 of 29] Compiling Algebra.Graph.Labelled.AdjacencyMap ( src/Algebra/Graph/Labelled/AdjacencyMap.hs, dist/build/Algebra/Graph/Labelled/AdjacencyMap.p_o ) algebraic-graphs> [18 of 29] Compiling Algebra.Graph.Labelled ( src/Algebra/Graph/Labelled.hs, dist/build/Algebra/Graph/Labelled.p_o ) algebraic-graphs> [19 of 29] Compiling Algebra.Graph.Labelled.Example.Network ( src/Algebra/Graph/Labelled/Example/Network.hs, dist/build/Algebra/Graph/Labelled/Example/Network.p_o ) algebraic-graphs> [20 of 29] Compiling Algebra.Graph.Labelled.Example.Automaton ( src/Algebra/Graph/Labelled/Example/Automaton.hs, dist/build/Algebra/Graph/Labelled/Example/Automaton.p_o ) algebraic-graphs> [21 of 29] Compiling Algebra.Graph.Export ( src/Algebra/Graph/Export.hs, dist/build/Algebra/Graph/Export.p_o ) algebraic-graphs> algebraic-graphs> src/Algebra/Graph/Export.hs:185:41: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 185 | export :: (Ord a, ToGraph g, ToVertex g ~ a) => (a -> Doc s) -> (a -> a -> Doc s) -> g -> Doc s algebraic-graphs> | ^ algebraic-graphs> [22 of 29] Compiling Algebra.Graph.Export.Dot ( src/Algebra/Graph/Export/Dot.hs, dist/build/Algebra/Graph/Export/Dot.p_o ) algebraic-graphs> algebraic-graphs> src/Algebra/Graph/Export/Dot.hs:121:63: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 121 | export :: (IsString s, Monoid s, Ord a, ToGraph g, ToVertex g ~ a) => Style a s -> g -> s algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/Export/Dot.hs:165:78: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 165 | exportAsIs :: (IsString s, Monoid s, Ord (ToVertex g), ToGraph g, ToVertex g ~ s) => g -> s algebraic-graphs> | ^ algebraic-graphs> [23 of 29] Compiling Algebra.Graph.Undirected ( src/Algebra/Graph/Undirected.hs, dist/build/Algebra/Graph/Undirected.p_o ) algebraic-graphs> [24 of 29] Compiling Algebra.Graph.Class ( src/Algebra/Graph/Class.hs, dist/build/Algebra/Graph/Class.p_o ) algebraic-graphs> [25 of 29] Compiling Algebra.Graph.Relation.Transitive ( src/Algebra/Graph/Relation/Transitive.hs, dist/build/Algebra/Graph/Relation/Transitive.p_o ) algebraic-graphs> [26 of 29] Compiling Algebra.Graph.Relation.Reflexive ( src/Algebra/Graph/Relation/Reflexive.hs, dist/build/Algebra/Graph/Relation/Reflexive.p_o ) algebraic-graphs> [27 of 29] Compiling Algebra.Graph.Relation.Preorder ( src/Algebra/Graph/Relation/Preorder.hs, dist/build/Algebra/Graph/Relation/Preorder.p_o ) algebraic-graphs> [28 of 29] Compiling Algebra.Graph.Example.Todo ( src/Algebra/Graph/Example/Todo.hs, dist/build/Algebra/Graph/Example/Todo.p_o ) algebraic-graphs> [29 of 29] Compiling Data.Graph.Typed ( src/Data/Graph/Typed.hs, dist/build/Data/Graph/Typed.p_o ) algebraic-graphs> Preprocessing test suite 'main' for algebraic-graphs-0.7.. algebraic-graphs> Building test suite 'main' for algebraic-graphs-0.7.. algebraic-graphs> [ 1 of 23] Compiling Algebra.Graph.Test.Arbitrary ( test/Algebra/Graph/Test/Arbitrary.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Arbitrary.o, dist/build/main/main-tmp/Algebra/Graph/Test/Arbitrary.dyn_o ) algebraic-graphs> [ 2 of 23] Compiling Algebra.Graph.Test.API ( test/Algebra/Graph/Test/API.hs, dist/build/main/main-tmp/Algebra/Graph/Test/API.o, dist/build/main/main-tmp/Algebra/Graph/Test/API.dyn_o ) algebraic-graphs> [ 3 of 23] Compiling Algebra.Graph.Test ( test/Algebra/Graph/Test.hs, dist/build/main/main-tmp/Algebra/Graph/Test.o, dist/build/main/main-tmp/Algebra/Graph/Test.dyn_o ) algebraic-graphs> [ 4 of 23] Compiling Algebra.Graph.Test.Acyclic.AdjacencyMap ( test/Algebra/Graph/Test/Acyclic/AdjacencyMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Acyclic/AdjacencyMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/Acyclic/AdjacencyMap.dyn_o ) algebraic-graphs> [ 5 of 23] Compiling Algebra.Graph.Test.Bipartite.AdjacencyMap ( test/Algebra/Graph/Test/Bipartite/AdjacencyMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Bipartite/AdjacencyMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/Bipartite/AdjacencyMap.dyn_o ) algebraic-graphs> [ 6 of 23] Compiling Algebra.Graph.Test.Example.Todo ( test/Algebra/Graph/Test/Example/Todo.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Example/Todo.o, dist/build/main/main-tmp/Algebra/Graph/Test/Example/Todo.dyn_o ) algebraic-graphs> [ 7 of 23] Compiling Algebra.Graph.Test.Export ( test/Algebra/Graph/Test/Export.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Export.o, dist/build/main/main-tmp/Algebra/Graph/Test/Export.dyn_o ) algebraic-graphs> [ 8 of 23] Compiling Algebra.Graph.Test.Generic ( test/Algebra/Graph/Test/Generic.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Generic.o, dist/build/main/main-tmp/Algebra/Graph/Test/Generic.dyn_o ) algebraic-graphs> [ 9 of 23] Compiling Algebra.Graph.Test.AdjacencyMap ( test/Algebra/Graph/Test/AdjacencyMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/AdjacencyMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/AdjacencyMap.dyn_o ) algebraic-graphs> [10 of 23] Compiling Algebra.Graph.Test.AdjacencyIntMap ( test/Algebra/Graph/Test/AdjacencyIntMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/AdjacencyIntMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/AdjacencyIntMap.dyn_o ) algebraic-graphs> [11 of 23] Compiling Algebra.Graph.Test.Graph ( test/Algebra/Graph/Test/Graph.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Graph.o, dist/build/main/main-tmp/Algebra/Graph/Test/Graph.dyn_o ) algebraic-graphs> [12 of 23] Compiling Algebra.Graph.Test.Internal ( test/Algebra/Graph/Test/Internal.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Internal.o, dist/build/main/main-tmp/Algebra/Graph/Test/Internal.dyn_o ) algebraic-graphs> [13 of 23] Compiling Algebra.Graph.Test.Label ( test/Algebra/Graph/Test/Label.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Label.o, dist/build/main/main-tmp/Algebra/Graph/Test/Label.dyn_o ) algebraic-graphs> [14 of 23] Compiling Algebra.Graph.Test.Labelled.AdjacencyMap ( test/Algebra/Graph/Test/Labelled/AdjacencyMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Labelled/AdjacencyMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/Labelled/AdjacencyMap.dyn_o ) algebraic-graphs> [15 of 23] Compiling Algebra.Graph.Test.Labelled.Graph ( test/Algebra/Graph/Test/Labelled/Graph.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Labelled/Graph.o, dist/build/main/main-tmp/Algebra/Graph/Test/Labelled/Graph.dyn_o ) algebraic-graphs> [16 of 23] Compiling Algebra.Graph.Test.NonEmpty.AdjacencyMap ( test/Algebra/Graph/Test/NonEmpty/AdjacencyMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/NonEmpty/AdjacencyMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/NonEmpty/AdjacencyMap.dyn_o ) algebraic-graphs> [17 of 23] Compiling Algebra.Graph.Test.NonEmpty.Graph ( test/Algebra/Graph/Test/NonEmpty/Graph.hs, dist/build/main/main-tmp/Algebra/Graph/Test/NonEmpty/Graph.o, dist/build/main/main-tmp/Algebra/Graph/Test/NonEmpty/Graph.dyn_o ) algebraic-graphs> [18 of 23] Compiling Algebra.Graph.Test.Relation ( test/Algebra/Graph/Test/Relation.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Relation.o, dist/build/main/main-tmp/Algebra/Graph/Test/Relation.dyn_o ) algebraic-graphs> [19 of 23] Compiling Algebra.Graph.Test.Relation.Symmetric ( test/Algebra/Graph/Test/Relation/Symmetric.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Relation/Symmetric.o, dist/build/main/main-tmp/Algebra/Graph/Test/Relation/Symmetric.dyn_o ) algebraic-graphs> [20 of 23] Compiling Algebra.Graph.Test.RewriteRules ( test/Algebra/Graph/Test/RewriteRules.hs, dist/build/main/main-tmp/Algebra/Graph/Test/RewriteRules.o, dist/build/main/main-tmp/Algebra/Graph/Test/RewriteRules.dyn_o ) algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:43:1: emptyI === emptyIR passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:49:1: vertexI === vertexIR passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:56:1: overlayI === overlayIR passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:63:1: connectI === connectIR passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:69:1: overlaysC `hasNoType` GHC.Types.List passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:76:1: overlaysP === overlaysPR passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:82:1: verticesCP `hasNoType` GHC.Types.List passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:83:1: verticesCP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:89:1: connectsC `hasNoType` GHC.Types.List passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:96:1: connectsP === connectsPR passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:102:1: isSubgraphOfC `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:108:1: cliqueCP `hasNoType` GHC.Types.List passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:109:1: cliqueCP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:115:1: edgesCP `hasNoType` GHC.Types.List passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:116:1: edgesCP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:122:1: starCP `hasNoType` GHC.Types.List passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:123:1: starCP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:130:1: fmapCP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:137:1: bindC === bindCR passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:144:1: bindP === bindPR passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:151:1: apC === apCR passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:159:1: apP === apPR passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:165:1: eqC `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:170:1: eqT `hasNoType` Algebra.Graph.AdjacencyMap.AdjacencyMap passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:176:1: ordC `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:181:1: ordT `hasNoType` Algebra.Graph.AdjacencyMap.AdjacencyMap passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:187:1: isEmptyC `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:193:1: sizeC `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:199:1: vertexSetC `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:205:1: vertexSetC `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:210:1: vertexCountT `hasNoType` Data.Set.Internal.Set passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:216:1: edgeCountC `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:221:1: edgeCountT `hasNoType` Data.Set.Internal.Set passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:227:1: vertexListCP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:228:1: vertexListCP `hasNoType` GHC.Types.List passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:233:1: vertexListT `hasNoType` Data.Set.Internal.Set passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:239:1: edgeSetC `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:244:1: vertexListT `hasNoType` Algebra.Graph.AdjacencyMap.AdjacencyMap passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:250:1: edgeListCP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:251:1: edgeListCP `hasNoType` GHC.Types.List passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:256:1: edgeListT `hasNoType` Algebra.Graph.AdjacencyMap.AdjacencyMap passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:262:1: hasVertexC `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:268:1: hasEdgeC `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:274:1: adjacencyListC `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:280:1: pathP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:286:1: circuitP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:292:1: bicliqueCP `hasNoType` GHC.Types.List passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:293:1: bicliqueCP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:301:1: replaceVertexCP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:309:1: mergeVerticesCP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:316:1: splitVertexCP `hasNoType` GHC.Types.List passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:317:1: splitVertexCP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:324:1: transposeCP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:339:1: simplifyC === simplifyCR passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:345:1: composeCP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:352:1: induceCP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:359:1: induceJustCP `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> test/Algebra/Graph/Test/RewriteRules.hs:365:1: contextC `hasNoType` Algebra.Graph.Graph passed. algebraic-graphs> inspection testing successful algebraic-graphs> expected successes: 58 algebraic-graphs> [21 of 23] Compiling Algebra.Graph.Test.Undirected ( test/Algebra/Graph/Test/Undirected.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Undirected.o, dist/build/main/main-tmp/Algebra/Graph/Test/Undirected.dyn_o ) algebraic-graphs> [22 of 23] Compiling Data.Graph.Test.Typed ( test/Data/Graph/Test/Typed.hs, dist/build/main/main-tmp/Data/Graph/Test/Typed.o, dist/build/main/main-tmp/Data/Graph/Test/Typed.dyn_o ) algebraic-graphs> [23 of 23] Compiling Main ( test/Main.hs, dist/build/main/main-tmp/Main.o, dist/build/main/main-tmp/Main.dyn_o ) algebraic-graphs> [24 of 24] Linking dist/build/main/main algebraic-graphs> Running phase: checkPhase algebraic-graphs> Running 1 test suites... algebraic-graphs> Test suite main: RUNNING... algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.Show ============ algebraic-graphs> OK: show empty == "empty" algebraic-graphs> OK: show (shrink 1) == "vertex 1" algebraic-graphs> OK: show (shrink $ 1 + 2) == "vertices [1,2]" algebraic-graphs> OK: show (shrink $ 1 * 2) == "(fromJust . toAcyclic) (edge 1 2)" algebraic-graphs> OK: show (shrink $ 1 * 2 * 3) == "(fromJust . toAcyclic) (edges [(1,2),(1,3),(2,3)])" algebraic-graphs> OK: show (shrink $ 1 * 2 + 3) == "(fromJust . toAcyclic) (overlay (vertex 3) (edge 1 2))" algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.fromAcyclic ============ algebraic-graphs> OK: fromAcyclic empty == empty algebraic-graphs> OK: fromAcyclic . vertex == vertex algebraic-graphs> OK: fromAcyclic (shrink $ 1 * 3 * 2) == star 1 [2,3] algebraic-graphs> OK: vertexCount . fromAcyclic == vertexCount algebraic-graphs> OK: edgeCount . fromAcyclic == edgeCount algebraic-graphs> OK: isAcyclic . fromAcyclic == const True algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.empty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.vertex ============ algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.vertices ============ algebraic-graphs> OK: vertices [] == empty algebraic-graphs> OK: vertices [x] == vertex x algebraic-graphs> OK: hasVertex x . vertices == elem x algebraic-graphs> OK: vertexCount . vertices == length . nub algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.union ============ algebraic-graphs> OK: vertexSet (union x y) == algebraic-graphs> OK: edgeSet (union x y) == algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.join ============ algebraic-graphs> OK: vertexSet (join x y) == algebraic-graphs> OK: edgeSet (join x y) == algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.isSubgraphOf ============ algebraic-graphs> OK: isSubgraphOf empty x == True algebraic-graphs> OK: isSubgraphOf (vertex x) empty == False algebraic-graphs> OK: isSubgraphOf (induce p x) x == True algebraic-graphs> OK: isSubgraphOf x (transitiveClosure x) == True algebraic-graphs> OK: isSubgraphOf x y ==> x <= y algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.isEmpty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: isEmpty (removeVertex x $ vertex x) == True algebraic-graphs> OK: isEmpty (removeEdge 1 2 $ shrink $ 1 * 2) == False algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.hasVertex ============ algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: hasVertex x . removeVertex x == const False algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.hasEdge ============ algebraic-graphs> OK: hasEdge x y empty == False algebraic-graphs> OK: hasEdge x y (vertex z) == False algebraic-graphs> OK: hasEdge 1 2 (shrink $ 1 * 2) == True algebraic-graphs> OK: hasEdge x y . removeEdge x y == const False algebraic-graphs> OK: hasEdge x y == elem (x,y) . edgeList algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.vertexCount ============ algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: vertexCount == length . vertexList algebraic-graphs> OK: vertexCount x < vertexCount y ==> x < y algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.edgeCount ============ algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> OK: edgeCount (shrink $ 1 * 2) == 1 algebraic-graphs> OK: edgeCount == length . edgeList algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.vertexList ============ algebraic-graphs> OK: vertexList empty == [] algebraic-graphs> OK: vertexList (vertex x) == [x] algebraic-graphs> OK: vertexList . vertices == nub . sort algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.edgeList ============ algebraic-graphs> OK: edgeList empty == [] algebraic-graphs> OK: edgeList (vertex x) == [] algebraic-graphs> OK: edgeList (shrink $ 2 * 1) == [(2,1)] algebraic-graphs> OK: edgeList . transpose == sort . map swap . edgeList algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.adjacencyList ============ algebraic-graphs> OK: adjacencyList empty == [] algebraic-graphs> OK: adjacencyList (vertex x) == [(x, [])] algebraic-graphs> OK: adjacencyList (shrink $ 1 * 2) == [(1, [2]), (2, [])] algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.vertexSet ============ algebraic-graphs> OK: vertexSet empty == Set.empty algebraic-graphs> OK: vertexSet . vertex == Set.singleton algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.edgeSet ============ algebraic-graphs> OK: edgeSet empty == Set.empty algebraic-graphs> OK: edgeSet (vertex x) == Set.empty algebraic-graphs> OK: edgeSet (shrink $ 1 * 2) == Set.singleton (1,2) algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.preSet ============ algebraic-graphs> OK: preSet x empty == Set.empty algebraic-graphs> OK: preSet x (vertex x) == Set.empty algebraic-graphs> OK: preSet 1 (shrink $ 1 * 2) == Set.empty algebraic-graphs> OK: preSet 2 (shrink $ 1 * 2) == Set.fromList [1] algebraic-graphs> OK: Set.member x . preSet x == const False algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.postSet ============ algebraic-graphs> OK: postSet x empty == Set.empty algebraic-graphs> OK: postSet x (vertex x) == Set.empty algebraic-graphs> OK: postSet 1 (shrink $ 1 * 2) == Set.fromList [2] algebraic-graphs> OK: postSet 2 (shrink $ 1 * 2) == Set.empty algebraic-graphs> OK: Set.member x . postSet x == const False algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.removeVertex ============ algebraic-graphs> OK: removeVertex x (vertex x) == empty algebraic-graphs> OK: removeVertex 1 (vertex 2) == vertex 2 algebraic-graphs> OK: removeVertex 1 (shrink $ 1 * 2) == vertex 2 algebraic-graphs> OK: removeVertex x . removeVertex x == removeVertex x algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.removeEdge ============ algebraic-graphs> OK: removeEdge 1 2 (shrink $ 1 * 2) == vertices [1,2] algebraic-graphs> OK: removeEdge x y . removeEdge x y == removeEdge x y algebraic-graphs> OK: removeEdge x y . removeVertex x == removeVertex x algebraic-graphs> OK: removeEdge 1 2 (shrink $ 1 * 2 * 3) == shrink ((1 + 2) * 3) algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.transpose ============ algebraic-graphs> OK: transpose empty == empty algebraic-graphs> OK: transpose (vertex x) == vertex x algebraic-graphs> OK: transpose . transpose == id algebraic-graphs> OK: edgeList . transpose == sort . map swap . edgeList algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.induce ============ algebraic-graphs> OK: induce (const True ) x == x algebraic-graphs> OK: induce (const False) x == empty algebraic-graphs> OK: induce (/= x) == removeVertex x algebraic-graphs> OK: induce p . induce q == induce (\x -> p x && q x) algebraic-graphs> OK: isSubgraphOf (induce p x) x == True algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.induceJust ============ algebraic-graphs> OK: induceJust (vertex Nothing) == empty algebraic-graphs> OK: induceJust . vertex . Just == vertex algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.box ============ algebraic-graphs> OK: edgeList (box (shrink $ 1 * 2) (shrink $ 10 * 20)) == algebraic-graphs> algebraic-graphs> OK: box x y ~~ box y x algebraic-graphs> OK: box x (vertex ()) ~~ x algebraic-graphs> OK: box x empty ~~ empty algebraic-graphs> OK: box x (box y z) ~~ box (box x y) z algebraic-graphs> OK: transpose (box x y) == box (transpose x) (transpose y) algebraic-graphs> OK: vertexCount (box x y) == vertexCount x * vertexCount y algebraic-graphs> OK: edgeCount (box x y) <= vertexCount x * edgeCount y + edgeCount x * vertexCount y algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.transitiveClosure ============ algebraic-graphs> OK: transitiveClosure empty == empty algebraic-graphs> OK: transitiveClosure (vertex x) == vertex x algebraic-graphs> OK: transitiveClosure (shrink $ 1 * 2 + 2 * 3) == shrink (1 * 2 + 1 * 3 + 2 * 3) algebraic-graphs> OK: transitiveClosure . transitiveClosure == transitiveClosure algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.topSort ============ algebraic-graphs> OK: topSort empty == [] algebraic-graphs> OK: topSort (vertex x) == [x] algebraic-graphs> OK: topSort (shrink $ 1 * (2 + 4) + 3 * 4) == [1, 2, 3, 4] algebraic-graphs> OK: topSort (join x y) == fmap Left (topSort x) ++ fmap Right (topSort y) algebraic-graphs> OK: Right . topSort == AM.topSort . fromAcyclic algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.scc ============ algebraic-graphs> OK: scc empty == empty algebraic-graphs> OK: scc (vertex x) == vertex (NonEmpty.vertex x) algebraic-graphs> OK: scc (edge 1 1) == vertex (NonEmpty.edge 1 1) algebraic-graphs> OK: edgeList $ scc (edge 1 2) == [ (NonEmpty.vertex 1, NonEmpty.vertex 2) ] algebraic-graphs> OK: edgeList $ scc (3 * 1 * 4 * 1 * 5) == algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.toAcyclic ============ algebraic-graphs> OK: toAcyclic (path [1,2,3]) == Just (shrink $ 1 * 2 + 2 * 3) algebraic-graphs> OK: toAcyclic (clique [3,2,1]) == Just (transpose (shrink $ 1 * 2 * 3)) algebraic-graphs> OK: toAcyclic (circuit [1,2,3]) == Nothing algebraic-graphs> OK: toAcyclic . fromAcyclic == Just algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.toAcyclicOrd ============ algebraic-graphs> OK: toAcyclicOrd empty == empty algebraic-graphs> OK: toAcyclicOrd . vertex == vertex algebraic-graphs> OK: toAcyclicOrd (1 + 2) == shrink (1 + 2) algebraic-graphs> OK: toAcyclicOrd (1 * 2) == shrink (1 * 2) algebraic-graphs> OK: toAcyclicOrd (2 * 1) == shrink (1 + 2) algebraic-graphs> OK: toAcyclicOrd (1 * 2 * 1) == shrink (1 * 2) algebraic-graphs> OK: toAcyclicOrd (1 * 2 * 3) == shrink (1 * 2 * 3) algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.shrink ============ algebraic-graphs> OK: shrink . AM.vertex == vertex algebraic-graphs> OK: shrink . AM.vertices == vertices algebraic-graphs> OK: shrink . fromAcyclic == id algebraic-graphs> algebraic-graphs> ============ Acyclic.AdjacencyMap.consistent ============ algebraic-graphs> OK: Arbitrary algebraic-graphs> OK: empty algebraic-graphs> OK: vertex algebraic-graphs> OK: vertices algebraic-graphs> OK: union algebraic-graphs> OK: join algebraic-graphs> OK: transpose algebraic-graphs> OK: box algebraic-graphs> OK: transitiveClosure algebraic-graphs> OK: scc algebraic-graphs> OK: toAcyclic algebraic-graphs> OK: toAcyclicOrd algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap ============ algebraic-graphs> OK: Axioms of graphs algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.fromAdjacencyMap ============ algebraic-graphs> OK: fromAdjacencyMap == stars . AdjacencyMap.adjacencyList algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.consistent ============ algebraic-graphs> OK: Consistency of the Arbitrary instance algebraic-graphs> algebraic-graphs> OK: consistent empty == True algebraic-graphs> OK: consistent (vertex x) == True algebraic-graphs> OK: consistent (overlay x y) == True algebraic-graphs> OK: consistent (connect x y) == True algebraic-graphs> OK: consistent (edge x y) == True algebraic-graphs> OK: consistent (edges xs) == True algebraic-graphs> OK: consistent (stars xs) == True algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.Show ============ algebraic-graphs> OK: show (empty ) == "empty" algebraic-graphs> OK: show (1 ) == "vertex 1" algebraic-graphs> OK: show (1 + 2 ) == "vertices [1,2]" algebraic-graphs> OK: show (1 * 2 ) == "edge 1 2" algebraic-graphs> OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]" algebraic-graphs> OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)" algebraic-graphs> algebraic-graphs> OK: show (vertex (-1) ) == "vertex (-1)" algebraic-graphs> OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]" algebraic-graphs> OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)" algebraic-graphs> OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]" algebraic-graphs> OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))" algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.Ord ============ algebraic-graphs> OK: vertex 1 < vertex 2 algebraic-graphs> OK: vertex 3 < edge 1 2 algebraic-graphs> OK: vertex 1 < edge 1 1 algebraic-graphs> OK: edge 1 1 < edge 1 2 algebraic-graphs> OK: edge 1 2 < edge 1 1 + edge 2 2 algebraic-graphs> OK: edge 1 2 < edge 1 3 algebraic-graphs> OK: x <= x + y algebraic-graphs> OK: x + y <= x * y algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.empty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.vertex ============ algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.edge ============ algebraic-graphs> OK: edge x y == connect (vertex x) (vertex y) algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: vertexCount (edge 1 1) == 1 algebraic-graphs> OK: vertexCount (edge 1 2) == 2 algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.overlay ============ algebraic-graphs> OK: isEmpty (overlay x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (overlay x y) >= vertexCount x algebraic-graphs> OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (overlay x y) >= edgeCount x algebraic-graphs> OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (overlay 1 2) == 2 algebraic-graphs> OK: edgeCount (overlay 1 2) == 0 algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.connect ============ algebraic-graphs> OK: isEmpty (connect x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (connect x y) >= vertexCount x algebraic-graphs> OK: vertexCount (connect x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount x algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount y algebraic-graphs> OK: edgeCount (connect x y) >= vertexCount x * vertexCount y algebraic-graphs> OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (connect 1 2) == 2 algebraic-graphs> OK: edgeCount (connect 1 2) == 1 algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.vertices ============ algebraic-graphs> OK: vertices [] == empty algebraic-graphs> OK: vertices [x] == vertex x algebraic-graphs> OK: vertices == overlays . map vertex algebraic-graphs> OK: hasVertex x . vertices == elem x algebraic-graphs> OK: vertexCount . vertices == length . nub algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.edges ============ algebraic-graphs> OK: edges [] == empty algebraic-graphs> OK: edges [(x,y)] == edge x y algebraic-graphs> OK: edges == overlays . map (uncurry edge) algebraic-graphs> OK: edgeCount . edges == length . nub algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.overlays ============ algebraic-graphs> OK: overlays [] == empty algebraic-graphs> OK: overlays [x] == x algebraic-graphs> OK: overlays [x,y] == overlay x y algebraic-graphs> OK: overlays == foldr overlay empty algebraic-graphs> OK: isEmpty . overlays == all isEmpty algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.connects ============ algebraic-graphs> OK: connects [] == empty algebraic-graphs> OK: connects [x] == x algebraic-graphs> OK: connects [x,y] == connect x y algebraic-graphs> OK: connects == foldr connect empty algebraic-graphs> OK: isEmpty . connects == all isEmpty algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.fromAdjacencyIntSets ============ algebraic-graphs> OK: fromAdjacencyIntSets [] == empty algebraic-graphs> OK: fromAdjacencyIntSets [(x, IntSet.empty)] == vertex x algebraic-graphs> OK: fromAdjacencyIntSets [(x, IntSet.singleton y)] == edge x y algebraic-graphs> OK: fromAdjacencyIntSets . map (fmap IntSet.fromList) == stars algebraic-graphs> OK: overlay (fromAdjacencyIntSets xs) (fromAdjacencyIntSets ys) == fromAdjacencyIntSets (xs ++ ys) algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.isSubgraphOf ============ algebraic-graphs> OK: isSubgraphOf empty x == True algebraic-graphs> OK: isSubgraphOf (vertex x) empty == False algebraic-graphs> OK: isSubgraphOf x (overlay x y) == True algebraic-graphs> OK: isSubgraphOf (overlay x y) (connect x y) == True algebraic-graphs> OK: isSubgraphOf (path xs) (circuit xs) == True algebraic-graphs> OK: isSubgraphOf x y ==> x <= y algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.toGraph et al. ============ algebraic-graphs> OK: toGraph == foldg Empty Vertex Overlay Connect algebraic-graphs> OK: foldg == Algebra.Graph.foldg . toGraph algebraic-graphs> OK: isEmpty == foldg True (const False) (&&) (&&) algebraic-graphs> OK: size == foldg 1 (const 1) (+) (+) algebraic-graphs> OK: hasVertex x == foldg False (==x) (||) (||) algebraic-graphs> OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph algebraic-graphs> OK: vertexCount == Set.size . vertexSet algebraic-graphs> OK: edgeCount == Set.size . edgeSet algebraic-graphs> OK: vertexList == Set.toAscList . vertexSet algebraic-graphs> OK: edgeList == Set.toAscList . edgeSet algebraic-graphs> OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union algebraic-graphs> OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union algebraic-graphs> OK: edgeSet == Algebra.Graph.AdjacencyMap.edgeSet . foldg empty vertex overlay connect algebraic-graphs> OK: preSet x == Algebra.Graph.AdjacencyMap.preSet x . toAdjacencyMap algebraic-graphs> OK: preIntSet x == Algebra.Graph.AdjacencyIntMap.preIntSet x . toAdjacencyIntMap algebraic-graphs> OK: postSet x == Algebra.Graph.AdjacencyMap.postSet x . toAdjacencyMap algebraic-graphs> OK: postIntSet x == Algebra.Graph.AdjacencyIntMap.postIntSet x . toAdjacencyIntMap algebraic-graphs> OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap algebraic-graphs> OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap algebraic-graphs> OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap algebraic-graphs> OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose algebraic-graphs> OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose algebraic-graphs> OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap algebraic-graphs> OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap algebraic-graphs> OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap algebraic-graphs> OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap algebraic-graphs> OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap algebraic-graphs> OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap algebraic-graphs> OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap algebraic-graphs> OK: toAdjacencyMap == foldg empty vertex overlay connect algebraic-graphs> OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect) algebraic-graphs> OK: toAdjacencyIntMap == foldg empty vertex overlay connect algebraic-graphs> OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect) algebraic-graphs> OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap algebraic-graphs> OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.foldg ============ algebraic-graphs> OK: foldg empty vertex overlay connect == id algebraic-graphs> OK: foldg empty vertex overlay (flip connect) == transpose algebraic-graphs> OK: foldg 1 (const 1) (+) (+) == size algebraic-graphs> OK: foldg True (const False) (&&) (&&) == isEmpty algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.isEmpty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: isEmpty (overlay empty empty) == True algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: isEmpty (removeVertex x $ vertex x) == True algebraic-graphs> OK: isEmpty (removeEdge x y $ edge x y) == False algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.hasVertex ============ algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: hasVertex x . removeVertex x == const False algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.hasEdge ============ algebraic-graphs> OK: hasEdge x y empty == False algebraic-graphs> OK: hasEdge x y (vertex z) == False algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: hasEdge x y . removeEdge x y == const False algebraic-graphs> OK: hasEdge x y == elem (x,y) . edgeList algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.vertexCount ============ algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: vertexCount == length . vertexList algebraic-graphs> OK: vertexCount x < vertexCount y ==> x < y algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.edgeCount ============ algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: edgeCount == length . edgeList algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.vertexList ============ algebraic-graphs> OK: vertexList empty == [] algebraic-graphs> OK: vertexList (vertex x) == [x] algebraic-graphs> OK: vertexList . vertices == nub . sort algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.vertexSet ============ algebraic-graphs> OK: vertexSet empty == Set.empty algebraic-graphs> OK: vertexSet . vertex == Set.singleton algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.vertexIntSet ============ algebraic-graphs> OK: vertexIntSet empty == IntSet.empty algebraic-graphs> OK: vertexIntSet . vertex == IntSet.singleton algebraic-graphs> OK: vertexIntSet . vertices == IntSet.fromList algebraic-graphs> OK: vertexIntSet . clique == IntSet.fromList algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.edgeList ============ algebraic-graphs> OK: edgeList empty == [] algebraic-graphs> OK: edgeList (vertex x) == [] algebraic-graphs> OK: edgeList (edge x y) == [(x,y)] algebraic-graphs> OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)] algebraic-graphs> OK: edgeList . edges == nub . sort algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.edgeSet ============ algebraic-graphs> OK: edgeSet empty == Set.empty algebraic-graphs> OK: edgeSet (vertex x) == Set.empty algebraic-graphs> OK: edgeSet (edge x y) == Set.singleton (x,y) algebraic-graphs> OK: edgeSet . edges == Set.fromList algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.adjacencyList ============ algebraic-graphs> OK: adjacencyList empty == [] algebraic-graphs> OK: adjacencyList (vertex x) == [(x, [])] algebraic-graphs> OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [])] algebraic-graphs> OK: adjacencyList (star 2 [3,1]) == [(1, []), (2, [1,3]), (3, [])] algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.preSet ============ algebraic-graphs> OK: preSet x empty == Set.empty algebraic-graphs> OK: preSet x (vertex x) == Set.empty algebraic-graphs> OK: preSet 1 (edge 1 2) == Set.empty algebraic-graphs> OK: preSet y (edge x y) == Set.fromList [x] algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.preIntSet ============ algebraic-graphs> OK: preIntSet x empty == IntSet.empty algebraic-graphs> OK: preIntSet x (vertex x) == IntSet.empty algebraic-graphs> OK: preIntSet 1 (edge 1 2) == IntSet.empty algebraic-graphs> OK: preIntSet y (edge x y) == IntSet.fromList [x] algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.postSet ============ algebraic-graphs> OK: postSet x empty == Set.empty algebraic-graphs> OK: postSet x (vertex x) == Set.empty algebraic-graphs> OK: postSet x (edge x y) == Set.fromList [y] algebraic-graphs> OK: postSet 2 (edge 1 2) == Set.empty algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.postIntSet ============ algebraic-graphs> OK: postIntSet x empty == IntSet.empty algebraic-graphs> OK: postIntSet x (vertex x) == IntSet.empty algebraic-graphs> OK: postIntSet 2 (edge 1 2) == IntSet.empty algebraic-graphs> OK: postIntSet x (edge x y) == IntSet.fromList [y] algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.path ============ algebraic-graphs> OK: path [] == empty algebraic-graphs> OK: path [x] == vertex x algebraic-graphs> OK: path [x,y] == edge x y algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.circuit ============ algebraic-graphs> OK: circuit [] == empty algebraic-graphs> OK: circuit [x] == edge x x algebraic-graphs> OK: circuit [x,y] == edges [(x,y), (y,x)] algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.clique ============ algebraic-graphs> OK: clique [] == empty algebraic-graphs> OK: clique [x] == vertex x algebraic-graphs> OK: clique [x,y] == edge x y algebraic-graphs> OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)] algebraic-graphs> OK: clique (xs ++ ys) == connect (clique xs) (clique ys) algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.biclique ============ algebraic-graphs> OK: biclique [] [] == empty algebraic-graphs> OK: biclique [x] [] == vertex x algebraic-graphs> OK: biclique [] [y] == vertex y algebraic-graphs> OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] algebraic-graphs> OK: biclique xs ys == connect (vertices xs) (vertices ys) algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.star ============ algebraic-graphs> OK: star x [] == vertex x algebraic-graphs> OK: star x [y] == edge x y algebraic-graphs> OK: star x [y,z] == edges [(x,y), (x,z)] algebraic-graphs> OK: star x ys == connect (vertex x) (vertices ys) algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.stars ============ algebraic-graphs> OK: stars [] == empty algebraic-graphs> OK: stars [(x, [])] == vertex x algebraic-graphs> OK: stars [(x, [y])] == edge x y algebraic-graphs> OK: stars [(x, ys)] == star x ys algebraic-graphs> OK: stars == overlays . map (uncurry star) algebraic-graphs> OK: stars . adjacencyList == id algebraic-graphs> OK: overlay (stars xs) (stars ys) == stars (xs ++ ys) algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.tree ============ algebraic-graphs> OK: tree (Node x []) == vertex x algebraic-graphs> OK: tree (Node x [Node y [Node z []]]) == path [x,y,z] algebraic-graphs> OK: tree (Node x [Node y [], Node z []]) == star x [y,z] algebraic-graphs> OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)] algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.forest ============ algebraic-graphs> OK: forest [] == empty algebraic-graphs> OK: forest [x] == tree x algebraic-graphs> OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)] algebraic-graphs> OK: forest == overlays . map tree algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.removeVertex ============ algebraic-graphs> OK: removeVertex x (vertex x) == empty algebraic-graphs> OK: removeVertex 1 (vertex 2) == vertex 2 algebraic-graphs> OK: removeVertex x (edge x x) == empty algebraic-graphs> OK: removeVertex 1 (edge 1 2) == vertex 2 algebraic-graphs> OK: removeVertex x . removeVertex x == removeVertex x algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.removeEdge ============ algebraic-graphs> OK: removeEdge x y (edge x y) == vertices [x,y] algebraic-graphs> OK: removeEdge x y . removeEdge x y == removeEdge x y algebraic-graphs> OK: removeEdge x y . removeVertex x == removeVertex x algebraic-graphs> OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 algebraic-graphs> OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.replaceVertex ============ algebraic-graphs> OK: replaceVertex x x == id algebraic-graphs> OK: replaceVertex x y (vertex x) == vertex y algebraic-graphs> OK: replaceVertex x y == mergeVertices (== x) y algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.mergeVertices ============ algebraic-graphs> OK: mergeVertices (const False) x == id algebraic-graphs> OK: mergeVertices (== x) y == replaceVertex x y algebraic-graphs> OK: mergeVertices even 1 (0 * 2) == 1 * 1 algebraic-graphs> OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.transpose ============ algebraic-graphs> OK: transpose empty == empty algebraic-graphs> OK: transpose (vertex x) == vertex x algebraic-graphs> OK: transpose (edge x y) == edge y x algebraic-graphs> OK: transpose . transpose == id algebraic-graphs> OK: edgeList . transpose == sort . map swap . edgeList algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.gmap ============ algebraic-graphs> OK: gmap f empty == empty algebraic-graphs> OK: gmap f (vertex x) == vertex (f x) algebraic-graphs> OK: gmap f (edge x y) == edge (f x) (f y) algebraic-graphs> OK: gmap id == id algebraic-graphs> OK: gmap f . gmap g == gmap (f . g) algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.induce ============ algebraic-graphs> OK: induce (const True ) x == x algebraic-graphs> OK: induce (const False) x == empty algebraic-graphs> OK: induce (/= x) == removeVertex x algebraic-graphs> OK: induce p . induce q == induce (\x -> p x && q x) algebraic-graphs> OK: isSubgraphOf (induce p x) x == True algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.compose ============ algebraic-graphs> OK: compose empty x == empty algebraic-graphs> OK: compose x empty == empty algebraic-graphs> OK: compose (vertex x) y == empty algebraic-graphs> OK: compose x (vertex y) == empty algebraic-graphs> OK: compose x (compose y z) == compose (compose x y) z algebraic-graphs> OK: compose x (overlay y z) == overlay (compose x y) (compose x z) algebraic-graphs> OK: compose (overlay x y) z == overlay (compose x z) (compose y z) algebraic-graphs> OK: compose (edge x y) (edge y z) == edge x z algebraic-graphs> OK: compose (path [1..5]) (path [1..5]) == edges [(1,3),(2,4),(3,5)] algebraic-graphs> OK: compose (circuit [1..5]) (circuit [1..5]) == circuit [1,3,5,2,4] algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.closure ============ algebraic-graphs> OK: closure empty == empty algebraic-graphs> OK: closure (vertex x) == edge x x algebraic-graphs> OK: closure (edge x x) == edge x x algebraic-graphs> OK: closure (edge x y) == edges [(x,x), (x,y), (y,y)] algebraic-graphs> OK: closure (path $ nub xs) == reflexiveClosure (clique $ nub xs) algebraic-graphs> OK: closure == reflexiveClosure . transitiveClosure algebraic-graphs> OK: closure == transitiveClosure . reflexiveClosure algebraic-graphs> OK: closure . closure == closure algebraic-graphs> OK: postSet x (closure y) == Set.fromList (reachable y x) algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.reflexiveClosure ============ algebraic-graphs> OK: reflexiveClosure empty == empty algebraic-graphs> OK: reflexiveClosure (vertex x) == edge x x algebraic-graphs> OK: reflexiveClosure (edge x x) == edge x x algebraic-graphs> OK: reflexiveClosure (edge x y) == edges [(x,x), (x,y), (y,y)] algebraic-graphs> OK: reflexiveClosure . reflexiveClosure == reflexiveClosure algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.symmetricClosure ============ algebraic-graphs> OK: symmetricClosure empty == empty algebraic-graphs> OK: symmetricClosure (vertex x) == vertex x algebraic-graphs> OK: symmetricClosure (edge x y) == edges [(x,y), (y,x)] algebraic-graphs> OK: symmetricClosure x == overlay x (transpose x) algebraic-graphs> OK: symmetricClosure . symmetricClosure == symmetricClosure algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.transitiveClosure ============ algebraic-graphs> OK: transitiveClosure empty == empty algebraic-graphs> OK: transitiveClosure (vertex x) == vertex x algebraic-graphs> OK: transitiveClosure (edge x y) == edge x y algebraic-graphs> OK: transitiveClosure (path $ nub xs) == clique (nub $ xs) algebraic-graphs> OK: transitiveClosure . transitiveClosure == transitiveClosure algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.bfsForest ============ algebraic-graphs> OK: forest $ bfsForest (edge 1 2) [0] == empty algebraic-graphs> OK: forest $ bfsForest (edge 1 2) [1] == edge 1 2 algebraic-graphs> OK: forest $ bfsForest (edge 1 2) [2] == vertex 2 algebraic-graphs> OK: forest $ bfsForest (edge 1 2) [0,1,2] == vertices [1,2] algebraic-graphs> OK: forest $ bfsForest (edge 1 2) [2,1,0] == vertices [1,2] algebraic-graphs> OK: forest $ bfsForest (edge 1 1) [1] == vertex 1 algebraic-graphs> OK: isSubgraphOf (forest $ bfsForest x vs) x == True algebraic-graphs> OK: bfsForest x (vertexList x) == map ( -> Node v []) (nub $ vertexList x) algebraic-graphs> OK: bfsForest x [] == [] algebraic-graphs> OK: bfsForest empty vs == [] algebraic-graphs> OK: bfsForest (3 * (1 + 4) * (1 + 5)) [1,4] == algebraic-graphs> OK: forest $ bfsForest (circuit [1..5] + circuit [5,4..1]) [3] == path [3,2,1] + path [3,4,5] algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.bfs ============ algebraic-graphs> OK: bfs (edge 1 2) [0] == [] algebraic-graphs> OK: bfs (edge 1 2) [1] == [[1], [2]] algebraic-graphs> OK: bfs (edge 1 2) [2] == [[2]] algebraic-graphs> OK: bfs (edge 1 2) [1,2] == [[1,2]] algebraic-graphs> OK: bfs (edge 1 2) [2,1] == [[2,1]] algebraic-graphs> OK: bfs (edge 1 1) [1] == [[1]] algebraic-graphs> OK: bfs empty vs == [] algebraic-graphs> OK: bfs x [] == [] algebraic-graphs> OK: bfs (1 * 2 + 3 * 4 + 5 * 6) [1,2] == [[1,2]] algebraic-graphs> OK: bfs (1 * 2 + 3 * 4 + 5 * 6) [1,3] == [[1,3], [2,4]] algebraic-graphs> OK: bfs (3 * (1 + 4) * (1 + 5)) [3] == [[3], [1,4,5]] algebraic-graphs> OK: bfs (circuit [1..5] + circuit [5,4..1]) [2] == [[2], [1,3], [5,4]] algebraic-graphs> OK: concat $ bfs (circuit [1..5] + circuit [5,4..1]) [3] == [3,2,4,1,5] algebraic-graphs> OK: map concat . transpose . map levels . bfsForest x == bfs x algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.dfsForest ============ algebraic-graphs> OK: forest $ dfsForest empty == empty algebraic-graphs> OK: forest $ dfsForest (edge 1 1) == vertex 1 algebraic-graphs> OK: forest $ dfsForest (edge 1 2) == edge 1 2 algebraic-graphs> OK: forest $ dfsForest (edge 2 1) == vertices [1,2] algebraic-graphs> OK: isSubgraphOf (forest $ dfsForest x) x == True algebraic-graphs> OK: isDfsForestOf (dfsForest x) x == True algebraic-graphs> OK: dfsForest . forest . dfsForest == dfsForest algebraic-graphs> OK: dfsForest (vertices vs) == map (\v -> Node v []) (nub $ sort vs) algebraic-graphs> OK: dfsForest $ 3 * (1 + 4) * (1 + 5) == algebraic-graphs> OK: forest (dfsForest $ circuit [1..5] + circuit [5,4..1]) == path [1,2,3,4,5] algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.dfsForestFrom ============ algebraic-graphs> OK: forest $ dfsForestFrom empty vs == empty algebraic-graphs> OK: forest $ dfsForestFrom (edge 1 1) [1] == vertex 1 algebraic-graphs> OK: forest $ dfsForestFrom (edge 1 2) [0] == empty algebraic-graphs> OK: forest $ dfsForestFrom (edge 1 2) [1] == edge 1 2 algebraic-graphs> OK: forest $ dfsForestFrom (edge 1 2) [2] == vertex 2 algebraic-graphs> OK: forest $ dfsForestFrom (edge 1 2) [1,2] == edge 1 2 algebraic-graphs> OK: forest $ dfsForestFrom (edge 1 2) [2,1] == vertices [1,2] algebraic-graphs> OK: isSubgraphOf (forest $ dfsForestFrom x vs) x == True algebraic-graphs> OK: isDfsForestOf (dfsForestFrom x (vertexList x)) x == True algebraic-graphs> OK: dfsForestFrom x (vertexList x) == dfsForest x algebraic-graphs> OK: dfsForestFrom x [] == [] algebraic-graphs> OK: dfsForestFrom (3 * (1 + 4) * (1 + 5)) [1,4] == algebraic-graphs> OK: forest $ dfsForestFrom (circuit [1..5] + circuit [5,4..1]) [3] == path [3,2,1,5,4] algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.dfs ============ algebraic-graphs> OK: dfs empty vs == [] algebraic-graphs> OK: dfs (edge 1 1) [1] == [1] algebraic-graphs> OK: dfs (edge 1 2) [0] == [] algebraic-graphs> OK: dfs (edge 1 2) [1] == [1,2] algebraic-graphs> OK: dfs (edge 1 2) [2] == [2] algebraic-graphs> OK: dfs (edge 1 2) [1,2] == [1,2] algebraic-graphs> OK: dfs (edge 1 2) [2,1] == [2,1] algebraic-graphs> OK: dfs x [] == [] algebraic-graphs> algebraic-graphs> OK: and [ hasVertex v x | v <- dfs x vs ] == True algebraic-graphs> OK: dfs (3 * (1 + 4) * (1 + 5)) [1,4] == [1,5,4] algebraic-graphs> OK: dfs (circuit [1..5] + circuit [5,4..1]) [3] == [3,2,1,5,4] algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.dfs ============ algebraic-graphs> OK: reachable empty x == [] algebraic-graphs> OK: reachable (vertex 1) 1 == [1] algebraic-graphs> OK: reachable (edge 1 1) 1 == [1] algebraic-graphs> OK: reachable (edge 1 2) 0 == [] algebraic-graphs> OK: reachable (edge 1 2) 1 == [1,2] algebraic-graphs> OK: reachable (edge 1 2) 2 == [2] algebraic-graphs> OK: reachable (path [1..8] ) 4 == [4..8] algebraic-graphs> OK: reachable (circuit [1..8] ) 4 == [4..8] ++ [1..3] algebraic-graphs> OK: reachable (clique [8,7..1]) 8 == [8] ++ [1..7] algebraic-graphs> algebraic-graphs> OK: and [ hasVertex v x | v <- reachable x y ] == True algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.topSort ============ algebraic-graphs> OK: topSort (1 * 2 + 3 * 1) == Right [3,1,2] algebraic-graphs> OK: topSort (path [1..5]) == Right [1..5] algebraic-graphs> OK: topSort (3 * (1 * 4 + 2 * 5)) == Right [3,1,2,4,5] algebraic-graphs> OK: topSort (1 * 2 + 2 * 1) == Left (2 :| [1]) algebraic-graphs> OK: topSort (path [5,4..1] + edge 2 4) == Left (4 :| [3,2]) algebraic-graphs> OK: topSort (circuit [1..5]) == Left (3 :| [1,2]) algebraic-graphs> OK: topSort (circuit [1..3] + circuit [3,2,1]) == Left (3 :| [2]) algebraic-graphs> OK: topSort (1 * 2 + (5 + 2) * 1 + 3 * 4 * 3) == Left (1 :| [2]) algebraic-graphs> OK: fmap (flip isTopSortOf x) (topSort x) /= Right False algebraic-graphs> OK: topSort . vertices == Right . nub . sort algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.testIsAcyclic ============ algebraic-graphs> OK: isAcyclic (1 * 2 + 3 * 1) == True algebraic-graphs> OK: isAcyclic (1 * 2 + 2 * 1) == False algebraic-graphs> OK: isAcyclic . circuit == null algebraic-graphs> OK: isAcyclic == isRight . topSort algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.isDfsForestOf ============ algebraic-graphs> OK: isDfsForestOf [] empty == True algebraic-graphs> OK: isDfsForestOf [] (vertex 1) == False algebraic-graphs> OK: isDfsForestOf [Node 1 []] (vertex 1) == True algebraic-graphs> OK: isDfsForestOf [Node 1 []] (vertex 2) == False algebraic-graphs> OK: isDfsForestOf [Node 1 [], Node 1 []] (vertex 1) == False algebraic-graphs> OK: isDfsForestOf [Node 1 []] (edge 1 1) == True algebraic-graphs> OK: isDfsForestOf [Node 1 []] (edge 1 2) == False algebraic-graphs> OK: isDfsForestOf [Node 1 [], Node 2 []] (edge 1 2) == False algebraic-graphs> OK: isDfsForestOf [Node 2 [], Node 1 []] (edge 1 2) == True algebraic-graphs> OK: isDfsForestOf [Node 1 [Node 2 []]] (edge 1 2) == True algebraic-graphs> OK: isDfsForestOf [Node 1 [], Node 2 []] (vertices [1,2]) == True algebraic-graphs> OK: isDfsForestOf [Node 2 [], Node 1 []] (vertices [1,2]) == True algebraic-graphs> OK: isDfsForestOf [Node 1 [Node 2 []]] (vertices [1,2]) == False algebraic-graphs> OK: isDfsForestOf [Node 1 [Node 2 [Node 3 []]]] (path [1,2,3]) == True algebraic-graphs> OK: isDfsForestOf [Node 1 [Node 3 [Node 2 []]]] (path [1,2,3]) == False algebraic-graphs> OK: isDfsForestOf [Node 3 [], Node 1 [Node 2 []]] (path [1,2,3]) == True algebraic-graphs> OK: isDfsForestOf [Node 2 [Node 3 []], Node 1 []] (path [1,2,3]) == True algebraic-graphs> OK: isDfsForestOf [Node 1 [], Node 2 [Node 3 []]] (path [1,2,3]) == False algebraic-graphs> algebraic-graphs> ============ AdjacencyIntMap.isTopSortOf ============ algebraic-graphs> OK: isTopSortOf [3,1,2] (1 * 2 + 3 * 1) == True algebraic-graphs> OK: isTopSortOf [1,2,3] (1 * 2 + 3 * 1) == False algebraic-graphs> OK: isTopSortOf [] (1 * 2 + 3 * 1) == False algebraic-graphs> OK: isTopSortOf [] empty == True algebraic-graphs> OK: isTopSortOf [x] (vertex x) == True algebraic-graphs> OK: isTopSortOf [x] (edge x x) == False algebraic-graphs> algebraic-graphs> ============ AdjacencyMap ============ algebraic-graphs> OK: Axioms of graphs algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.consistent ============ algebraic-graphs> OK: Consistency of the Arbitrary instance algebraic-graphs> algebraic-graphs> OK: consistent empty == True algebraic-graphs> OK: consistent (vertex x) == True algebraic-graphs> OK: consistent (overlay x y) == True algebraic-graphs> OK: consistent (connect x y) == True algebraic-graphs> OK: consistent (edge x y) == True algebraic-graphs> OK: consistent (edges xs) == True algebraic-graphs> OK: consistent (stars xs) == True algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.Show ============ algebraic-graphs> OK: show (empty ) == "empty" algebraic-graphs> OK: show (1 ) == "vertex 1" algebraic-graphs> OK: show (1 + 2 ) == "vertices [1,2]" algebraic-graphs> OK: show (1 * 2 ) == "edge 1 2" algebraic-graphs> OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]" algebraic-graphs> OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)" algebraic-graphs> algebraic-graphs> OK: show (vertex (-1) ) == "vertex (-1)" algebraic-graphs> OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]" algebraic-graphs> OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)" algebraic-graphs> OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]" algebraic-graphs> OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))" algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.Ord ============ algebraic-graphs> OK: vertex 1 < vertex 2 algebraic-graphs> OK: vertex 3 < edge 1 2 algebraic-graphs> OK: vertex 1 < edge 1 1 algebraic-graphs> OK: edge 1 1 < edge 1 2 algebraic-graphs> OK: edge 1 2 < edge 1 1 + edge 2 2 algebraic-graphs> OK: edge 1 2 < edge 1 3 algebraic-graphs> OK: x <= x + y algebraic-graphs> OK: x + y <= x * y algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.empty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.vertex ============ algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.edge ============ algebraic-graphs> OK: edge x y == connect (vertex x) (vertex y) algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: vertexCount (edge 1 1) == 1 algebraic-graphs> OK: vertexCount (edge 1 2) == 2 algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.overlay ============ algebraic-graphs> OK: isEmpty (overlay x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (overlay x y) >= vertexCount x algebraic-graphs> OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (overlay x y) >= edgeCount x algebraic-graphs> OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (overlay 1 2) == 2 algebraic-graphs> OK: edgeCount (overlay 1 2) == 0 algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.connect ============ algebraic-graphs> OK: isEmpty (connect x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (connect x y) >= vertexCount x algebraic-graphs> OK: vertexCount (connect x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount x algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount y algebraic-graphs> OK: edgeCount (connect x y) >= vertexCount x * vertexCount y algebraic-graphs> OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (connect 1 2) == 2 algebraic-graphs> OK: edgeCount (connect 1 2) == 1 algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.vertices ============ algebraic-graphs> OK: vertices [] == empty algebraic-graphs> OK: vertices [x] == vertex x algebraic-graphs> OK: vertices == overlays . map vertex algebraic-graphs> OK: hasVertex x . vertices == elem x algebraic-graphs> OK: vertexCount . vertices == length . nub algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.edges ============ algebraic-graphs> OK: edges [] == empty algebraic-graphs> OK: edges [(x,y)] == edge x y algebraic-graphs> OK: edges == overlays . map (uncurry edge) algebraic-graphs> OK: edgeCount . edges == length . nub algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.overlays ============ algebraic-graphs> OK: overlays [] == empty algebraic-graphs> OK: overlays [x] == x algebraic-graphs> OK: overlays [x,y] == overlay x y algebraic-graphs> OK: overlays == foldr overlay empty algebraic-graphs> OK: isEmpty . overlays == all isEmpty algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.connects ============ algebraic-graphs> OK: connects [] == empty algebraic-graphs> OK: connects [x] == x algebraic-graphs> OK: connects [x,y] == connect x y algebraic-graphs> OK: connects == foldr connect empty algebraic-graphs> OK: isEmpty . connects == all isEmpty algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.fromAdjacencySets ============ algebraic-graphs> OK: fromAdjacencySets [] == empty algebraic-graphs> OK: fromAdjacencySets [(x, Set.empty)] == vertex x algebraic-graphs> OK: fromAdjacencySets [(x, Set.singleton y)] == edge x y algebraic-graphs> OK: fromAdjacencySets . map (fmap Set.fromList) == stars algebraic-graphs> OK: overlay (fromAdjacencySets xs) (fromAdjacencySets ys) == fromAdjacencySets (xs ++ ys) algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.isSubgraphOf ============ algebraic-graphs> OK: isSubgraphOf empty x == True algebraic-graphs> OK: isSubgraphOf (vertex x) empty == False algebraic-graphs> OK: isSubgraphOf x (overlay x y) == True algebraic-graphs> OK: isSubgraphOf (overlay x y) (connect x y) == True algebraic-graphs> OK: isSubgraphOf (path xs) (circuit xs) == True algebraic-graphs> OK: isSubgraphOf x y ==> x <= y algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.toGraph et al. ============ algebraic-graphs> OK: toGraph == foldg Empty Vertex Overlay Connect algebraic-graphs> OK: foldg == Algebra.Graph.foldg . toGraph algebraic-graphs> OK: isEmpty == foldg True (const False) (&&) (&&) algebraic-graphs> OK: size == foldg 1 (const 1) (+) (+) algebraic-graphs> OK: hasVertex x == foldg False (==x) (||) (||) algebraic-graphs> OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph algebraic-graphs> OK: vertexCount == Set.size . vertexSet algebraic-graphs> OK: edgeCount == Set.size . edgeSet algebraic-graphs> OK: vertexList == Set.toAscList . vertexSet algebraic-graphs> OK: edgeList == Set.toAscList . edgeSet algebraic-graphs> OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union algebraic-graphs> OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union algebraic-graphs> OK: edgeSet == Algebra.Graph.AdjacencyMap.edgeSet . foldg empty vertex overlay connect algebraic-graphs> OK: preSet x == Algebra.Graph.AdjacencyMap.preSet x . toAdjacencyMap algebraic-graphs> OK: preIntSet x == Algebra.Graph.AdjacencyIntMap.preIntSet x . toAdjacencyIntMap algebraic-graphs> OK: postSet x == Algebra.Graph.AdjacencyMap.postSet x . toAdjacencyMap algebraic-graphs> OK: postIntSet x == Algebra.Graph.AdjacencyIntMap.postIntSet x . toAdjacencyIntMap algebraic-graphs> OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap algebraic-graphs> OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap algebraic-graphs> OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap algebraic-graphs> OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose algebraic-graphs> OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose algebraic-graphs> OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap algebraic-graphs> OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap algebraic-graphs> OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap algebraic-graphs> OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap algebraic-graphs> OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap algebraic-graphs> OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap algebraic-graphs> OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap algebraic-graphs> OK: toAdjacencyMap == foldg empty vertex overlay connect algebraic-graphs> OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect) algebraic-graphs> OK: toAdjacencyIntMap == foldg empty vertex overlay connect algebraic-graphs> OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect) algebraic-graphs> OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap algebraic-graphs> OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.foldg ============ algebraic-graphs> OK: foldg empty vertex overlay connect == id algebraic-graphs> OK: foldg empty vertex overlay (flip connect) == transpose algebraic-graphs> OK: foldg 1 (const 1) (+) (+) == size algebraic-graphs> OK: foldg True (const False) (&&) (&&) == isEmpty algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.isEmpty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: isEmpty (overlay empty empty) == True algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: isEmpty (removeVertex x $ vertex x) == True algebraic-graphs> OK: isEmpty (removeEdge x y $ edge x y) == False algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.hasVertex ============ algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: hasVertex x . removeVertex x == const False algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.hasEdge ============ algebraic-graphs> OK: hasEdge x y empty == False algebraic-graphs> OK: hasEdge x y (vertex z) == False algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: hasEdge x y . removeEdge x y == const False algebraic-graphs> OK: hasEdge x y == elem (x,y) . edgeList algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.vertexCount ============ algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: vertexCount == length . vertexList algebraic-graphs> OK: vertexCount x < vertexCount y ==> x < y algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.edgeCount ============ algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: edgeCount == length . edgeList algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.vertexList ============ algebraic-graphs> OK: vertexList empty == [] algebraic-graphs> OK: vertexList (vertex x) == [x] algebraic-graphs> OK: vertexList . vertices == nub . sort algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.vertexSet ============ algebraic-graphs> OK: vertexSet empty == Set.empty algebraic-graphs> OK: vertexSet . vertex == Set.singleton algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.vertexIntSet ============ algebraic-graphs> OK: vertexIntSet empty == IntSet.empty algebraic-graphs> OK: vertexIntSet . vertex == IntSet.singleton algebraic-graphs> OK: vertexIntSet . vertices == IntSet.fromList algebraic-graphs> OK: vertexIntSet . clique == IntSet.fromList algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.edgeList ============ algebraic-graphs> OK: edgeList empty == [] algebraic-graphs> OK: edgeList (vertex x) == [] algebraic-graphs> OK: edgeList (edge x y) == [(x,y)] algebraic-graphs> OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)] algebraic-graphs> OK: edgeList . edges == nub . sort algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.edgeSet ============ algebraic-graphs> OK: edgeSet empty == Set.empty algebraic-graphs> OK: edgeSet (vertex x) == Set.empty algebraic-graphs> OK: edgeSet (edge x y) == Set.singleton (x,y) algebraic-graphs> OK: edgeSet . edges == Set.fromList algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.adjacencyList ============ algebraic-graphs> OK: adjacencyList empty == [] algebraic-graphs> OK: adjacencyList (vertex x) == [(x, [])] algebraic-graphs> OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [])] algebraic-graphs> OK: adjacencyList (star 2 [3,1]) == [(1, []), (2, [1,3]), (3, [])] algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.preSet ============ algebraic-graphs> OK: preSet x empty == Set.empty algebraic-graphs> OK: preSet x (vertex x) == Set.empty algebraic-graphs> OK: preSet 1 (edge 1 2) == Set.empty algebraic-graphs> OK: preSet y (edge x y) == Set.fromList [x] algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.preIntSet ============ algebraic-graphs> OK: preIntSet x empty == IntSet.empty algebraic-graphs> OK: preIntSet x (vertex x) == IntSet.empty algebraic-graphs> OK: preIntSet 1 (edge 1 2) == IntSet.empty algebraic-graphs> OK: preIntSet y (edge x y) == IntSet.fromList [x] algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.postSet ============ algebraic-graphs> OK: postSet x empty == Set.empty algebraic-graphs> OK: postSet x (vertex x) == Set.empty algebraic-graphs> OK: postSet x (edge x y) == Set.fromList [y] algebraic-graphs> OK: postSet 2 (edge 1 2) == Set.empty algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.postIntSet ============ algebraic-graphs> OK: postIntSet x empty == IntSet.empty algebraic-graphs> OK: postIntSet x (vertex x) == IntSet.empty algebraic-graphs> OK: postIntSet 2 (edge 1 2) == IntSet.empty algebraic-graphs> OK: postIntSet x (edge x y) == IntSet.fromList [y] algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.path ============ algebraic-graphs> OK: path [] == empty algebraic-graphs> OK: path [x] == vertex x algebraic-graphs> OK: path [x,y] == edge x y algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.circuit ============ algebraic-graphs> OK: circuit [] == empty algebraic-graphs> OK: circuit [x] == edge x x algebraic-graphs> OK: circuit [x,y] == edges [(x,y), (y,x)] algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.clique ============ algebraic-graphs> OK: clique [] == empty algebraic-graphs> OK: clique [x] == vertex x algebraic-graphs> OK: clique [x,y] == edge x y algebraic-graphs> OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)] algebraic-graphs> OK: clique (xs ++ ys) == connect (clique xs) (clique ys) algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.biclique ============ algebraic-graphs> OK: biclique [] [] == empty algebraic-graphs> OK: biclique [x] [] == vertex x algebraic-graphs> OK: biclique [] [y] == vertex y algebraic-graphs> OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] algebraic-graphs> OK: biclique xs ys == connect (vertices xs) (vertices ys) algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.star ============ algebraic-graphs> OK: star x [] == vertex x algebraic-graphs> OK: star x [y] == edge x y algebraic-graphs> OK: star x [y,z] == edges [(x,y), (x,z)] algebraic-graphs> OK: star x ys == connect (vertex x) (vertices ys) algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.stars ============ algebraic-graphs> OK: stars [] == empty algebraic-graphs> OK: stars [(x, [])] == vertex x algebraic-graphs> OK: stars [(x, [y])] == edge x y algebraic-graphs> OK: stars [(x, ys)] == star x ys algebraic-graphs> OK: stars == overlays . map (uncurry star) algebraic-graphs> OK: stars . adjacencyList == id algebraic-graphs> OK: overlay (stars xs) (stars ys) == stars (xs ++ ys) algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.tree ============ algebraic-graphs> OK: tree (Node x []) == vertex x algebraic-graphs> OK: tree (Node x [Node y [Node z []]]) == path [x,y,z] algebraic-graphs> OK: tree (Node x [Node y [], Node z []]) == star x [y,z] algebraic-graphs> OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)] algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.forest ============ algebraic-graphs> OK: forest [] == empty algebraic-graphs> OK: forest [x] == tree x algebraic-graphs> OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)] algebraic-graphs> OK: forest == overlays . map tree algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.removeVertex ============ algebraic-graphs> OK: removeVertex x (vertex x) == empty algebraic-graphs> OK: removeVertex 1 (vertex 2) == vertex 2 algebraic-graphs> OK: removeVertex x (edge x x) == empty algebraic-graphs> OK: removeVertex 1 (edge 1 2) == vertex 2 algebraic-graphs> OK: removeVertex x . removeVertex x == removeVertex x algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.removeEdge ============ algebraic-graphs> OK: removeEdge x y (edge x y) == vertices [x,y] algebraic-graphs> OK: removeEdge x y . removeEdge x y == removeEdge x y algebraic-graphs> OK: removeEdge x y . removeVertex x == removeVertex x algebraic-graphs> OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 algebraic-graphs> OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.replaceVertex ============ algebraic-graphs> OK: replaceVertex x x == id algebraic-graphs> OK: replaceVertex x y (vertex x) == vertex y algebraic-graphs> OK: replaceVertex x y == mergeVertices (== x) y algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.mergeVertices ============ algebraic-graphs> OK: mergeVertices (const False) x == id algebraic-graphs> OK: mergeVertices (== x) y == replaceVertex x y algebraic-graphs> OK: mergeVertices even 1 (0 * 2) == 1 * 1 algebraic-graphs> OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.transpose ============ algebraic-graphs> OK: transpose empty == empty algebraic-graphs> OK: transpose (vertex x) == vertex x algebraic-graphs> OK: transpose (edge x y) == edge y x algebraic-graphs> OK: transpose . transpose == id algebraic-graphs> OK: edgeList . transpose == sort . map swap . edgeList algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.gmap ============ algebraic-graphs> OK: gmap f empty == empty algebraic-graphs> OK: gmap f (vertex x) == vertex (f x) algebraic-graphs> OK: gmap f (edge x y) == edge (f x) (f y) algebraic-graphs> OK: gmap id == id algebraic-graphs> OK: gmap f . gmap g == gmap (f . g) algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.induce ============ algebraic-graphs> OK: induce (const True ) x == x algebraic-graphs> OK: induce (const False) x == empty algebraic-graphs> OK: induce (/= x) == removeVertex x algebraic-graphs> OK: induce p . induce q == induce (\x -> p x && q x) algebraic-graphs> OK: isSubgraphOf (induce p x) x == True algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.compose ============ algebraic-graphs> OK: compose empty x == empty algebraic-graphs> OK: compose x empty == empty algebraic-graphs> OK: compose (vertex x) y == empty algebraic-graphs> OK: compose x (vertex y) == empty algebraic-graphs> OK: compose x (compose y z) == compose (compose x y) z algebraic-graphs> OK: compose x (overlay y z) == overlay (compose x y) (compose x z) algebraic-graphs> OK: compose (overlay x y) z == overlay (compose x z) (compose y z) algebraic-graphs> OK: compose (edge x y) (edge y z) == edge x z algebraic-graphs> OK: compose (path [1..5]) (path [1..5]) == edges [(1,3),(2,4),(3,5)] algebraic-graphs> OK: compose (circuit [1..5]) (circuit [1..5]) == circuit [1,3,5,2,4] algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.closure ============ algebraic-graphs> OK: closure empty == empty algebraic-graphs> OK: closure (vertex x) == edge x x algebraic-graphs> OK: closure (edge x x) == edge x x algebraic-graphs> OK: closure (edge x y) == edges [(x,x), (x,y), (y,y)] algebraic-graphs> OK: closure (path $ nub xs) == reflexiveClosure (clique $ nub xs) algebraic-graphs> OK: closure == reflexiveClosure . transitiveClosure algebraic-graphs> OK: closure == transitiveClosure . reflexiveClosure algebraic-graphs> OK: closure . closure == closure algebraic-graphs> OK: postSet x (closure y) == Set.fromList (reachable y x) algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.reflexiveClosure ============ algebraic-graphs> OK: reflexiveClosure empty == empty algebraic-graphs> OK: reflexiveClosure (vertex x) == edge x x algebraic-graphs> OK: reflexiveClosure (edge x x) == edge x x algebraic-graphs> OK: reflexiveClosure (edge x y) == edges [(x,x), (x,y), (y,y)] algebraic-graphs> OK: reflexiveClosure . reflexiveClosure == reflexiveClosure algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.symmetricClosure ============ algebraic-graphs> OK: symmetricClosure empty == empty algebraic-graphs> OK: symmetricClosure (vertex x) == vertex x algebraic-graphs> OK: symmetricClosure (edge x y) == edges [(x,y), (y,x)] algebraic-graphs> OK: symmetricClosure x == overlay x (transpose x) algebraic-graphs> OK: symmetricClosure . symmetricClosure == symmetricClosure algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.transitiveClosure ============ algebraic-graphs> OK: transitiveClosure empty == empty algebraic-graphs> OK: transitiveClosure (vertex x) == vertex x algebraic-graphs> OK: transitiveClosure (edge x y) == edge x y algebraic-graphs> OK: transitiveClosure (path $ nub xs) == clique (nub $ xs) algebraic-graphs> OK: transitiveClosure . transitiveClosure == transitiveClosure algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.box ============ algebraic-graphs> OK: box x y ~~ box y x algebraic-graphs> OK: box x (overlay y z) == overlay (box x y) (box x z) algebraic-graphs> OK: box x (vertex ()) ~~ x algebraic-graphs> OK: box x empty ~~ empty algebraic-graphs> OK: box x (box y z) ~~ box (box x y) z algebraic-graphs> OK: transpose (box x y) == box (transpose x) (transpose y) algebraic-graphs> OK: vertexCount (box x y) == vertexCount x * vertexCount y algebraic-graphs> OK: edgeCount (box x y) <= vertexCount x * edgeCount y + edgeCount x * vertexCount y algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.bfsForest ============ algebraic-graphs> OK: forest $ bfsForest (edge 1 2) [0] == empty algebraic-graphs> OK: forest $ bfsForest (edge 1 2) [1] == edge 1 2 algebraic-graphs> OK: forest $ bfsForest (edge 1 2) [2] == vertex 2 algebraic-graphs> OK: forest $ bfsForest (edge 1 2) [0,1,2] == vertices [1,2] algebraic-graphs> OK: forest $ bfsForest (edge 1 2) [2,1,0] == vertices [1,2] algebraic-graphs> OK: forest $ bfsForest (edge 1 1) [1] == vertex 1 algebraic-graphs> OK: isSubgraphOf (forest $ bfsForest x vs) x == True algebraic-graphs> OK: bfsForest x (vertexList x) == map ( -> Node v []) (nub $ vertexList x) algebraic-graphs> OK: bfsForest x [] == [] algebraic-graphs> OK: bfsForest empty vs == [] algebraic-graphs> OK: bfsForest (3 * (1 + 4) * (1 + 5)) [1,4] == algebraic-graphs> OK: forest $ bfsForest (circuit [1..5] + circuit [5,4..1]) [3] == path [3,2,1] + path [3,4,5] algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.bfs ============ algebraic-graphs> OK: bfs (edge 1 2) [0] == [] algebraic-graphs> OK: bfs (edge 1 2) [1] == [[1], [2]] algebraic-graphs> OK: bfs (edge 1 2) [2] == [[2]] algebraic-graphs> OK: bfs (edge 1 2) [1,2] == [[1,2]] algebraic-graphs> OK: bfs (edge 1 2) [2,1] == [[2,1]] algebraic-graphs> OK: bfs (edge 1 1) [1] == [[1]] algebraic-graphs> OK: bfs empty vs == [] algebraic-graphs> OK: bfs x [] == [] algebraic-graphs> OK: bfs (1 * 2 + 3 * 4 + 5 * 6) [1,2] == [[1,2]] algebraic-graphs> OK: bfs (1 * 2 + 3 * 4 + 5 * 6) [1,3] == [[1,3], [2,4]] algebraic-graphs> OK: bfs (3 * (1 + 4) * (1 + 5)) [3] == [[3], [1,4,5]] algebraic-graphs> OK: bfs (circuit [1..5] + circuit [5,4..1]) [2] == [[2], [1,3], [5,4]] algebraic-graphs> OK: concat $ bfs (circuit [1..5] + circuit [5,4..1]) [3] == [3,2,4,1,5] algebraic-graphs> OK: map concat . transpose . map levels . bfsForest x == bfs x algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.dfsForest ============ algebraic-graphs> OK: forest $ dfsForest empty == empty algebraic-graphs> OK: forest $ dfsForest (edge 1 1) == vertex 1 algebraic-graphs> OK: forest $ dfsForest (edge 1 2) == edge 1 2 algebraic-graphs> OK: forest $ dfsForest (edge 2 1) == vertices [1,2] algebraic-graphs> OK: isSubgraphOf (forest $ dfsForest x) x == True algebraic-graphs> OK: isDfsForestOf (dfsForest x) x == True algebraic-graphs> OK: dfsForest . forest . dfsForest == dfsForest algebraic-graphs> OK: dfsForest (vertices vs) == map (\v -> Node v []) (nub $ sort vs) algebraic-graphs> OK: dfsForest $ 3 * (1 + 4) * (1 + 5) == algebraic-graphs> OK: forest (dfsForest $ circuit [1..5] + circuit [5,4..1]) == path [1,2,3,4,5] algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.dfsForestFrom ============ algebraic-graphs> OK: forest $ dfsForestFrom empty vs == empty algebraic-graphs> OK: forest $ dfsForestFrom (edge 1 1) [1] == vertex 1 algebraic-graphs> OK: forest $ dfsForestFrom (edge 1 2) [0] == empty algebraic-graphs> OK: forest $ dfsForestFrom (edge 1 2) [1] == edge 1 2 algebraic-graphs> OK: forest $ dfsForestFrom (edge 1 2) [2] == vertex 2 algebraic-graphs> OK: forest $ dfsForestFrom (edge 1 2) [1,2] == edge 1 2 algebraic-graphs> OK: forest $ dfsForestFrom (edge 1 2) [2,1] == vertices [1,2] algebraic-graphs> OK: isSubgraphOf (forest $ dfsForestFrom x vs) x == True algebraic-graphs> OK: isDfsForestOf (dfsForestFrom x (vertexList x)) x == True algebraic-graphs> OK: dfsForestFrom x (vertexList x) == dfsForest x algebraic-graphs> OK: dfsForestFrom x [] == [] algebraic-graphs> OK: dfsForestFrom (3 * (1 + 4) * (1 + 5)) [1,4] == algebraic-graphs> OK: forest $ dfsForestFrom (circuit [1..5] + circuit [5,4..1]) [3] == path [3,2,1,5,4] algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.dfs ============ algebraic-graphs> OK: dfs empty vs == [] algebraic-graphs> OK: dfs (edge 1 1) [1] == [1] algebraic-graphs> OK: dfs (edge 1 2) [0] == [] algebraic-graphs> OK: dfs (edge 1 2) [1] == [1,2] algebraic-graphs> OK: dfs (edge 1 2) [2] == [2] algebraic-graphs> OK: dfs (edge 1 2) [1,2] == [1,2] algebraic-graphs> OK: dfs (edge 1 2) [2,1] == [2,1] algebraic-graphs> OK: dfs x [] == [] algebraic-graphs> algebraic-graphs> OK: and [ hasVertex v x | v <- dfs x vs ] == True algebraic-graphs> OK: dfs (3 * (1 + 4) * (1 + 5)) [1,4] == [1,5,4] algebraic-graphs> OK: dfs (circuit [1..5] + circuit [5,4..1]) [3] == [3,2,1,5,4] algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.dfs ============ algebraic-graphs> OK: reachable empty x == [] algebraic-graphs> OK: reachable (vertex 1) 1 == [1] algebraic-graphs> OK: reachable (edge 1 1) 1 == [1] algebraic-graphs> OK: reachable (edge 1 2) 0 == [] algebraic-graphs> OK: reachable (edge 1 2) 1 == [1,2] algebraic-graphs> OK: reachable (edge 1 2) 2 == [2] algebraic-graphs> OK: reachable (path [1..8] ) 4 == [4..8] algebraic-graphs> OK: reachable (circuit [1..8] ) 4 == [4..8] ++ [1..3] algebraic-graphs> OK: reachable (clique [8,7..1]) 8 == [8] ++ [1..7] algebraic-graphs> algebraic-graphs> OK: and [ hasVertex v x | v <- reachable x y ] == True algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.topSort ============ algebraic-graphs> OK: topSort (1 * 2 + 3 * 1) == Right [3,1,2] algebraic-graphs> OK: topSort (path [1..5]) == Right [1..5] algebraic-graphs> OK: topSort (3 * (1 * 4 + 2 * 5)) == Right [3,1,2,4,5] algebraic-graphs> OK: topSort (1 * 2 + 2 * 1) == Left (2 :| [1]) algebraic-graphs> OK: topSort (path [5,4..1] + edge 2 4) == Left (4 :| [3,2]) algebraic-graphs> OK: topSort (circuit [1..5]) == Left (3 :| [1,2]) algebraic-graphs> OK: topSort (circuit [1..3] + circuit [3,2,1]) == Left (3 :| [2]) algebraic-graphs> OK: topSort (1 * 2 + (5 + 2) * 1 + 3 * 4 * 3) == Left (1 :| [2]) algebraic-graphs> OK: fmap (flip isTopSortOf x) (topSort x) /= Right False algebraic-graphs> OK: topSort . vertices == Right . nub . sort algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.testIsAcyclic ============ algebraic-graphs> OK: isAcyclic (1 * 2 + 3 * 1) == True algebraic-graphs> OK: isAcyclic (1 * 2 + 2 * 1) == False algebraic-graphs> OK: isAcyclic . circuit == null algebraic-graphs> OK: isAcyclic == isRight . topSort algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.isDfsForestOf ============ algebraic-graphs> OK: isDfsForestOf [] empty == True algebraic-graphs> OK: isDfsForestOf [] (vertex 1) == False algebraic-graphs> OK: isDfsForestOf [Node 1 []] (vertex 1) == True algebraic-graphs> OK: isDfsForestOf [Node 1 []] (vertex 2) == False algebraic-graphs> OK: isDfsForestOf [Node 1 [], Node 1 []] (vertex 1) == False algebraic-graphs> OK: isDfsForestOf [Node 1 []] (edge 1 1) == True algebraic-graphs> OK: isDfsForestOf [Node 1 []] (edge 1 2) == False algebraic-graphs> OK: isDfsForestOf [Node 1 [], Node 2 []] (edge 1 2) == False algebraic-graphs> OK: isDfsForestOf [Node 2 [], Node 1 []] (edge 1 2) == True algebraic-graphs> OK: isDfsForestOf [Node 1 [Node 2 []]] (edge 1 2) == True algebraic-graphs> OK: isDfsForestOf [Node 1 [], Node 2 []] (vertices [1,2]) == True algebraic-graphs> OK: isDfsForestOf [Node 2 [], Node 1 []] (vertices [1,2]) == True algebraic-graphs> OK: isDfsForestOf [Node 1 [Node 2 []]] (vertices [1,2]) == False algebraic-graphs> OK: isDfsForestOf [Node 1 [Node 2 [Node 3 []]]] (path [1,2,3]) == True algebraic-graphs> OK: isDfsForestOf [Node 1 [Node 3 [Node 2 []]]] (path [1,2,3]) == False algebraic-graphs> OK: isDfsForestOf [Node 3 [], Node 1 [Node 2 []]] (path [1,2,3]) == True algebraic-graphs> OK: isDfsForestOf [Node 2 [Node 3 []], Node 1 []] (path [1,2,3]) == True algebraic-graphs> OK: isDfsForestOf [Node 1 [], Node 2 [Node 3 []]] (path [1,2,3]) == False algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.isTopSortOf ============ algebraic-graphs> OK: isTopSortOf [3,1,2] (1 * 2 + 3 * 1) == True algebraic-graphs> OK: isTopSortOf [1,2,3] (1 * 2 + 3 * 1) == False algebraic-graphs> OK: isTopSortOf [] (1 * 2 + 3 * 1) == False algebraic-graphs> OK: isTopSortOf [] empty == True algebraic-graphs> OK: isTopSortOf [x] (vertex x) == True algebraic-graphs> OK: isTopSortOf [x] (edge x x) == False algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.induceJust ============ algebraic-graphs> OK: induceJust (vertex Nothing) == empty algebraic-graphs> OK: induceJust (edge (Just x) Nothing) == vertex x algebraic-graphs> OK: induceJust . gmap Just == id algebraic-graphs> OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p algebraic-graphs> algebraic-graphs> ============ AdjacencyMap.scc ============ algebraic-graphs> OK: scc empty == empty algebraic-graphs> OK: scc (vertex x) == vertex (NonEmpty.vertex x) algebraic-graphs> OK: scc (vertices xs) == vertices (map NonEmpty.vertex xs) algebraic-graphs> OK: scc (edge 1 1) == vertex (NonEmpty.edge 1 1) algebraic-graphs> OK: scc (edge 1 2) == edge (NonEmpty.vertex 1) (NonEmpty.vertex 2) algebraic-graphs> OK: scc (circuit (1:xs)) == vertex (NonEmpty.circuit1 (1 :| xs)) algebraic-graphs> OK: scc (3 * 1 * 4 * 1 * 5) == algebraic-graphs> OK: isAcyclic . scc == const True algebraic-graphs> OK: isAcyclic x == (scc x == gmap NonEmpty.vertex x) algebraic-graphs> OK: scc g == KL.scc g algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Num ============ algebraic-graphs> OK: 0 == rightVertex 0 algebraic-graphs> OK: swap 1 == leftVertex 1 algebraic-graphs> OK: swap 1 + 2 == vertices [1] [2] algebraic-graphs> OK: swap 1 * 2 == edge 1 2 algebraic-graphs> OK: swap 1 + 2 * swap 3 == overlay (leftVertex 1) (edge 3 2) algebraic-graphs> OK: swap 1 * (2 + swap 3) == connect (leftVertex 1) (vertices [3] [2]) algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Show ============ algebraic-graphs> OK: show empty == "empty" algebraic-graphs> OK: show 1 == "rightVertex 1" algebraic-graphs> OK: show (swap 2) == "leftVertex 2" algebraic-graphs> OK: show 1 + 2 == "vertices [] [1,2]" algebraic-graphs> OK: show (swap (1 + 2)) == "vertices [1,2] []" algebraic-graphs> OK: show (swap 1 * 2) == "edge 1 2" algebraic-graphs> OK: show (swap 1 * 2 * swap 3) == "edges [(1,2),(3,2)]" algebraic-graphs> OK: show (swap 1 * 2 + swap 3) == "overlay (leftVertex 3) (edge 1 2)" algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Eq ============ algebraic-graphs> OK: (x == y) == (leftAdjacencyMap x == leftAdjacencyMap y && rightAdjacencyMap x == rightAdjacencyMap y) algebraic-graphs> algebraic-graphs> OK: x + y == y + x algebraic-graphs> OK: x + (y + z) == (x + y) + z algebraic-graphs> OK: x * empty == x algebraic-graphs> OK: empty * x == x algebraic-graphs> OK: x * y == y * x algebraic-graphs> OK: x * (y * z) == (x * y) * z algebraic-graphs> OK: x * (y + z) == x * y + x * z algebraic-graphs> OK: (x + y) * z == x * z + y * z algebraic-graphs> OK: x * y * z == x * y + x * z + y * z algebraic-graphs> OK: x + empty == x algebraic-graphs> OK: empty + x == x algebraic-graphs> OK: x + x == x algebraic-graphs> OK: x * y + x + y == x * y algebraic-graphs> OK: x * x * x == x * x algebraic-graphs> algebraic-graphs> OK: leftVertex x * leftVertex y == leftVertex x + leftVertex y algebraic-graphs> OK: rightVertex x * rightVertex y == rightVertex x + rightVertex y algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.leftAdjacencyMap ============ algebraic-graphs> OK: leftAdjacencyMap empty == Map.empty algebraic-graphs> OK: leftAdjacencyMap (leftVertex x) == Map.singleton x Set.empty algebraic-graphs> OK: leftAdjacencyMap (rightVertex x) == Map.empty algebraic-graphs> OK: leftAdjacencyMap (edge x y) == Map.singleton x (Set.singleton y) algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.rightAdjacencyMap ============ algebraic-graphs> OK: rightAdjacencyMap empty == Map.empty algebraic-graphs> OK: rightAdjacencyMap (leftVertex x) == Map.empty algebraic-graphs> OK: rightAdjacencyMap (rightVertex x) == Map.singleton x Set.empty algebraic-graphs> OK: rightAdjacencyMap (edge x y) == Map.singleton y (Set.singleton x) algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.empty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: leftAdjacencyMap empty == Map.empty algebraic-graphs> OK: rightAdjacencyMap empty == Map.empty algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.leftVertex ============ algebraic-graphs> OK: leftAdjacencyMap (leftVertex x) == Map.singleton x Set.empty algebraic-graphs> OK: rightAdjacencyMap (leftVertex x) == Map.empty algebraic-graphs> OK: hasLeftVertex x (leftVertex y) == (x == y) algebraic-graphs> OK: hasRightVertex x (leftVertex y) == False algebraic-graphs> OK: hasEdge x y (leftVertex z) == False algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.rightVertex ============ algebraic-graphs> OK: leftAdjacencyMap (rightVertex x) == Map.empty algebraic-graphs> OK: rightAdjacencyMap (rightVertex x) == Map.singleton x Set.empty algebraic-graphs> OK: hasLeftVertex x (rightVertex y) == False algebraic-graphs> OK: hasRightVertex x (rightVertex y) == (x == y) algebraic-graphs> OK: hasEdge x y (rightVertex z) == False algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.vertex ============ algebraic-graphs> OK: vertex . Left == leftVertex algebraic-graphs> OK: vertex . Right == rightVertex algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.edge ============ algebraic-graphs> OK: edge x y == connect (leftVertex x) (rightVertex y) algebraic-graphs> OK: leftAdjacencyMap (edge x y) == Map.singleton x (Set.singleton y) algebraic-graphs> OK: rightAdjacencyMap (edge x y) == Map.singleton y (Set.singleton x) algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: hasEdge 1 2 (edge 2 1) == False algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.overlay ============ algebraic-graphs> OK: isEmpty (overlay x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (overlay x y) >= vertexCount x algebraic-graphs> OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (overlay x y) >= edgeCount x algebraic-graphs> OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.connect ============ algebraic-graphs> OK: connect (leftVertex x) (leftVertex y) == vertices [x,y] [] algebraic-graphs> OK: connect (leftVertex x) (rightVertex y) == edge x y algebraic-graphs> OK: connect (rightVertex x) (leftVertex y) == edge y x algebraic-graphs> OK: connect (rightVertex x) (rightVertex y) == vertices [] [x,y] algebraic-graphs> OK: connect (vertices xs1 ys1) (vertices xs2 ys2) == overlay (biclique xs1 ys2) (biclique xs2 ys1) algebraic-graphs> OK: isEmpty (connect x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (connect x y) >= vertexCount x algebraic-graphs> OK: vertexCount (connect x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount x algebraic-graphs> OK: edgeCount (connect x y) >= leftVertexCount x * rightVertexCount y algebraic-graphs> OK: edgeCount (connect x y) <= leftVertexCount x * rightVertexCount y + rightVertexCount x * leftVertexCount y + edgeCount x + edgeCount y algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.vertices ============ algebraic-graphs> OK: vertices [] [] == empty algebraic-graphs> OK: vertices [x] [] == leftVertex x algebraic-graphs> OK: vertices [] [x] == rightVertex x algebraic-graphs> OK: vertices xs ys == overlays (map leftVertex xs ++ map rightVertex ys) algebraic-graphs> OK: hasLeftVertex x (vertices xs ys) == elem x xs algebraic-graphs> OK: hasRightVertex y (vertices xs ys) == elem y ys algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.edges ============ algebraic-graphs> OK: edges [] == empty algebraic-graphs> OK: edges [(x,y)] == edge x y algebraic-graphs> OK: edges == overlays . map (uncurry edge) algebraic-graphs> OK: hasEdge x y . edges == elem (x,y) algebraic-graphs> OK: edgeCount . edges == length . nub algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.overlays ============ algebraic-graphs> OK: overlays [] == empty algebraic-graphs> OK: overlays [x] == x algebraic-graphs> OK: overlays [x,y] == overlay x y algebraic-graphs> OK: overlays == foldr overlay empty algebraic-graphs> OK: isEmpty . overlays == all isEmpty algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.connects ============ algebraic-graphs> OK: connects [] == empty algebraic-graphs> OK: connects [x] == x algebraic-graphs> OK: connects [x,y] == connect x y algebraic-graphs> OK: connects == foldr connect empty algebraic-graphs> OK: isEmpty . connects == all isEmpty algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.swap ============ algebraic-graphs> OK: swap empty == empty algebraic-graphs> OK: swap . leftVertex == rightVertex algebraic-graphs> OK: swap (vertices xs ys) == vertices ys xs algebraic-graphs> OK: swap (edge x y) == edge y x algebraic-graphs> OK: swap . edges == edges . map Data.Tuple.swap algebraic-graphs> OK: swap . swap == id algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.toBipartite ============ algebraic-graphs> OK: toBipartite empty == empty algebraic-graphs> OK: toBipartite (vertex (Left x)) == leftVertex x algebraic-graphs> OK: toBipartite (vertex (Right x)) == rightVertex x algebraic-graphs> OK: toBipartite (edge (Left x) (Left y)) == vertices [x,y] [] algebraic-graphs> OK: toBipartite (edge (Left x) (Right y)) == edge x y algebraic-graphs> OK: toBipartite (edge (Right x) (Left y)) == edge y x algebraic-graphs> OK: toBipartite (edge (Right x) (Right y)) == vertices [] [x,y] algebraic-graphs> OK: toBipartite . clique == uncurry biclique . partitionEithers algebraic-graphs> OK: toBipartite . fromBipartite == id algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.toBipartiteWith ============ algebraic-graphs> OK: toBipartiteWith f empty == empty algebraic-graphs> OK: toBipartiteWith Left x == vertices (vertexList x) [] algebraic-graphs> OK: toBipartiteWith Right x == vertices [] (vertexList x) algebraic-graphs> OK: toBipartiteWith f == toBipartite . gmap f algebraic-graphs> OK: toBipartiteWith id == toBipartite algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.fromBipartite ============ algebraic-graphs> OK: fromBipartite empty == empty algebraic-graphs> OK: fromBipartite (leftVertex x) == vertex (Left x) algebraic-graphs> OK: fromBipartite (edge x y) == edges [(Left x, Right y), (Right y, Left x)] algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.fromBipartiteWith ============ algebraic-graphs> OK: fromBipartiteWith Left Right == fromBipartite algebraic-graphs> OK: fromBipartiteWith id id (vertices xs ys) == vertices (xs ++ ys) algebraic-graphs> OK: fromBipartiteWith id id . edges == symmetricClosure . edges algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.isEmpty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: isEmpty (overlay empty empty) == True algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: isEmpty == (==) empty algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.hasLeftVertex ============ algebraic-graphs> OK: hasLeftVertex x empty == False algebraic-graphs> OK: hasLeftVertex x (leftVertex y) == (x == y) algebraic-graphs> OK: hasLeftVertex x (rightVertex y) == False algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.hasRightVertex ============ algebraic-graphs> OK: hasRightVertex x empty == False algebraic-graphs> OK: hasRightVertex x (leftVertex y) == False algebraic-graphs> OK: hasRightVertex x (rightVertex y) == (x == y) algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.hasVertex ============ algebraic-graphs> OK: hasVertex . Left == hasLeftVertex algebraic-graphs> OK: hasVertex . Right == hasRightVertex algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.hasEdge ============ algebraic-graphs> OK: hasEdge x y empty == False algebraic-graphs> OK: hasEdge x y (vertex z) == False algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: hasEdge x y == elem (x,y) . edgeList algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.leftVertexCount ============ algebraic-graphs> OK: leftVertexCount empty == 0 algebraic-graphs> OK: leftVertexCount (leftVertex x) == 1 algebraic-graphs> OK: leftVertexCount (rightVertex x) == 0 algebraic-graphs> OK: leftVertexCount (edge x y) == 1 algebraic-graphs> OK: leftVertexCount . edges == length . nub . map fst algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.rightVertexCount ============ algebraic-graphs> OK: rightVertexCount empty == 0 algebraic-graphs> OK: rightVertexCount (leftVertex x) == 0 algebraic-graphs> OK: rightVertexCount (rightVertex x) == 1 algebraic-graphs> OK: rightVertexCount (edge x y) == 1 algebraic-graphs> OK: rightVertexCount . edges == length . nub . map snd algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.vertexCount ============ algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: vertexCount (edge x y) == 2 algebraic-graphs> OK: vertexCount x == leftVertexCount x + rightVertexCount x algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.edgeCount ============ algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: edgeCount . edges == length . nub algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.leftVertexList ============ algebraic-graphs> OK: leftVertexList empty == [] algebraic-graphs> OK: leftVertexList (leftVertex x) == [x] algebraic-graphs> OK: leftVertexList (rightVertex x) == [] algebraic-graphs> OK: leftVertexList . flip vertices [] == nub . sort algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.rightVertexList ============ algebraic-graphs> OK: rightVertexList empty == [] algebraic-graphs> OK: rightVertexList (leftVertex x) == [] algebraic-graphs> OK: rightVertexList (rightVertex x) == [x] algebraic-graphs> OK: rightVertexList . vertices [] == nub . sort algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.vertexList ============ algebraic-graphs> OK: vertexList empty == [] algebraic-graphs> OK: vertexList (vertex x) == [x] algebraic-graphs> OK: vertexList (edge x y) == [Left x, Right y] algebraic-graphs> OK: vertexList (vertices (lefts xs) (rights xs)) == nub (sort xs) algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.edgeList ============ algebraic-graphs> OK: edgeList empty == [] algebraic-graphs> OK: edgeList (vertex x) == [] algebraic-graphs> OK: edgeList (edge x y) == [(x,y)] algebraic-graphs> OK: edgeList . edges == nub . sort algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.leftVertexSet ============ algebraic-graphs> OK: leftVertexSet empty == Set.empty algebraic-graphs> OK: leftVertexSet . leftVertex == Set.singleton algebraic-graphs> OK: leftVertexSet . rightVertex == const Set.empty algebraic-graphs> OK: leftVertexSet . flip vertices [] == Set.fromList algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.rightVertexSet ============ algebraic-graphs> OK: rightVertexSet empty == Set.empty algebraic-graphs> OK: rightVertexSet . leftVertex == const Set.empty algebraic-graphs> OK: rightVertexSet . rightVertex == Set.singleton algebraic-graphs> OK: rightVertexSet . vertices [] == Set.fromList algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.vertexSet ============ algebraic-graphs> OK: vertexSet empty == Set.empty algebraic-graphs> OK: vertexSet . vertex == Set.singleton algebraic-graphs> OK: vertexSet (edge x y) == Set.fromList [Left x, Right y] algebraic-graphs> OK: vertexSet (vertices (lefts xs) (rights xs)) == Set.fromList xs algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.edgeSet ============ algebraic-graphs> OK: edgeSet empty == Set.empty algebraic-graphs> OK: edgeSet (vertex x) == Set.empty algebraic-graphs> OK: edgeSet (edge x y) == Set.singleton (x,y) algebraic-graphs> OK: edgeSet . edges == Set.fromList algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.leftAdjacencyList ============ algebraic-graphs> OK: leftAdjacencyList empty == [] algebraic-graphs> OK: leftAdjacencyList (vertices [] xs) == [] algebraic-graphs> OK: leftAdjacencyList (vertices xs []) == [] algebraic-graphs> OK: leftAdjacencyList (edge x y) == [(x, [y])] algebraic-graphs> OK: leftAdjacencyList (star x ys) == [(x, nub (sort ys))] algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.rightAdjacencyList ============ algebraic-graphs> OK: rightAdjacencyList empty == [] algebraic-graphs> OK: rightAdjacencyList (vertices [] xs) == [(x, []) | x <- nub (sort xs)] algebraic-graphs> OK: rightAdjacencyList (vertices xs []) == [] algebraic-graphs> OK: rightAdjacencyList (edge x y) == [(y, [x])] algebraic-graphs> OK: rightAdjacencyList (star x ys) == [(y, [x]) | y <- nub (sort ys)] algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.evenList ============ algebraic-graphs> OK: evenList [] == Nil algebraic-graphs> OK: evenList [(1,2), (3,4)] == [1, 2, 3, 4] :: List Int Int algebraic-graphs> OK: evenList [(1,'a'), (2,'b')] == Cons 1 (Cons 'a' (Cons 2 (Cons 'b' Nil))) algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.oddList ============ algebraic-graphs> OK: oddList 1 [] == Cons 1 Nil algebraic-graphs> OK: oddList 1 [(2,3), (4,5)] == [1, 2, 3, 4, 5] :: List Int Int algebraic-graphs> OK: oddList 1 [('a',2), ('b',3)] == Cons 1 (Cons 'a' (Cons 2 (Cons 'b' (Cons 3 Nil)))) algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.path ============ algebraic-graphs> OK: path Nil == empty algebraic-graphs> OK: path (Cons x Nil) == leftVertex x algebraic-graphs> OK: path (Cons x (Cons y Nil)) == edge x y algebraic-graphs> OK: path [1, 2, 3, 4, 5] == edges [(1,2), (3,2), (3,4), (5,4)] algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.circuit ============ algebraic-graphs> OK: circuit [] == empty algebraic-graphs> OK: circuit [(x,y)] == edge x y algebraic-graphs> OK: circuit [(1,2), (3,4), (5,6)] == edges [(1,2), (3,2), (3,4), (5,4), (5,6), (1,6)] algebraic-graphs> OK: circuit . reverse == swap . circuit . map Data.Tuple.swap algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.biclique ============ algebraic-graphs> OK: biclique [] [] == empty algebraic-graphs> OK: biclique xs [] == vertices xs [] algebraic-graphs> OK: biclique [] ys == vertices [] ys algebraic-graphs> OK: biclique xs ys == connect (vertices xs []) (vertices [] ys) algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.star ============ algebraic-graphs> OK: star x [] == leftVertex x algebraic-graphs> OK: star x [y] == edge x y algebraic-graphs> OK: star x [y,z] == edges [(x,y), (x,z)] algebraic-graphs> OK: star x ys == connect (leftVertex x) (vertices [] ys) algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.stars ============ algebraic-graphs> OK: stars [] == empty algebraic-graphs> OK: stars [(x, [])] == leftVertex x algebraic-graphs> OK: stars [(x, [y])] == edge x y algebraic-graphs> OK: stars [(x, ys)] == star x ys algebraic-graphs> OK: star x [y,z] == edges [(x,y), (x,z)] algebraic-graphs> OK: stars == overlays . map (uncurry star) algebraic-graphs> OK: overlay (stars xs) (stars ys) == stars (xs ++ ys) algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.mesh ============ algebraic-graphs> OK: mesh xs [] == empty algebraic-graphs> OK: mesh [] ys == empty algebraic-graphs> OK: mesh [x] [y] == leftVertex (x,y) algebraic-graphs> OK: mesh [1,1] ['a','b'] == biclique [(1,'a'), (1,'b')] [(1,'a'), (1,'b')] algebraic-graphs> OK: mesh [1,2] ['a','b'] == biclique [(1,'a'), (2,'b')] [(1,'b'), (2,'a')] algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.removeLeftVertex ============ algebraic-graphs> OK: removeLeftVertex x (leftVertex x) == empty algebraic-graphs> OK: removeLeftVertex 1 (leftVertex 2) == leftVertex 2 algebraic-graphs> OK: removeLeftVertex x (rightVertex y) == rightVertex y algebraic-graphs> OK: removeLeftVertex x (edge x y) == rightVertex y algebraic-graphs> OK: removeLeftVertex x . removeLeftVertex x == removeLeftVertex x algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.removeRightVertex ============ algebraic-graphs> OK: removeRightVertex x (rightVertex x) == empty algebraic-graphs> OK: removeRightVertex 1 (rightVertex 2) == rightVertex 2 algebraic-graphs> OK: removeRightVertex x (leftVertex y) == leftVertex y algebraic-graphs> OK: removeRightVertex y (edge x y) == leftVertex x algebraic-graphs> OK: removeRightVertex x . removeRightVertex x == removeRightVertex x algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.removeEdge ============ algebraic-graphs> OK: removeEdge x y (edge x y) == vertices [x] [y] algebraic-graphs> OK: removeEdge x y . removeEdge x y == removeEdge x y algebraic-graphs> OK: removeEdge x y . removeLeftVertex x == removeLeftVertex x algebraic-graphs> OK: removeEdge x y . removeRightVertex y == removeRightVertex y algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.bimap ============ algebraic-graphs> OK: bimap f g empty == empty algebraic-graphs> OK: bimap f g . vertex == vertex . Data.Bifunctor.bimap f g algebraic-graphs> OK: bimap f g (edge x y) == edge (f x) (g y) algebraic-graphs> OK: bimap id id == id algebraic-graphs> OK: bimap f1 g1 . bimap f2 g2 == bimap (f1 . f2) (g1 . g2) algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.box ============ algebraic-graphs> OK: box (path [0,1]) (path ['a','b']) == algebraic-graphs> algebraic-graphs> OK: box x y ~~ box y x algebraic-graphs> OK: box x (box y z) ~~ box (box x y) z algebraic-graphs> OK: box x (box y z) ~~ box (box x y) z algebraic-graphs> OK: box x (leftVertex ()) ~~ x algebraic-graphs> OK: box x (rightVertex ()) ~~ swap x algebraic-graphs> OK: box x empty ~~ empty algebraic-graphs> OK: vertexCount (box x y) <= vertexCount x * vertexCount y algebraic-graphs> OK: edgeCount (box x y) <= vertexCount x * edgeCount y + edgeCount x * vertexCount y algebraic-graphs> algebraic-graphs> OK: box == boxWith (,) (,) (,) (,) algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.consistent ============ algebraic-graphs> OK: consistent empty == True algebraic-graphs> OK: consistent (vertex x) == True algebraic-graphs> OK: consistent (edge x y) == True algebraic-graphs> OK: consistent (edges x) == True algebraic-graphs> OK: consistent (toBipartite x) == True algebraic-graphs> OK: consistent (swap x) == True algebraic-graphs> OK: consistent (circuit xs) == True algebraic-graphs> OK: consistent (biclique xs ys) == True algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Algorithm.detectParts ============ algebraic-graphs> OK: detectParts empty == Right empty algebraic-graphs> OK: detectParts (vertex 1) == Right (leftVertex 1) algebraic-graphs> OK: detectParts (edge 1 1) == Left [1] algebraic-graphs> OK: detectParts (edge 1 2) == Right (edge 1 2) algebraic-graphs> OK: detectParts (edge 0 (-1)) == Right (edge (-1) 0) algebraic-graphs> OK: detectParts (1 * (2 + 3)) == Right (edges [(1, 2), (1, 3)]) algebraic-graphs> OK: detectParts ((1 + 3) * (2 + 4) + 6 * 5) == Right (swap (1 + 3) * (2 + 4) + swap 5 * 6 algebraic-graphs> OK: detectParts ((1 + 2) * (3 + 4) * (5 + 6)) == Left [1, 3, 2, 4, 5] algebraic-graphs> OK: detectParts ((1 + 2) * (3 + 4) + (3 + 4) * 5) == Right (swap (1 + 2) * (3 + 4) + swap 5 * (3 + 4)) algebraic-graphs> OK: detectParts (1 * 2 * 3) == Left [2, 3, 1] algebraic-graphs> OK: detectParts ((1 * 3 * 4) + 2 * (1 + 2)) == Left [2] algebraic-graphs> OK: detectParts (clique [1..10]) == Left [1, 2, 3] algebraic-graphs> OK: detectParts (circuit [1..11]) == Left [1..11] algebraic-graphs> OK: detectParts (circuit [1..10]) == Right (circuit [(2 * x - 1, 2 * x) | x <- [1..5]]) algebraic-graphs> OK: detectParts (biclique [] xs) == Right (vertices xs []) algebraic-graphs> OK: detectParts (biclique (map Left (x:xs)) (map Right ys)) == Right (biclique (map Left (x:xs)) (map Right ys)) algebraic-graphs> OK: isRight (detectParts (star x ys)) == not (elem x ys) algebraic-graphs> OK: isRight (detectParts (fromBipartite (toBipartite x))) == True algebraic-graphs> algebraic-graphs> OK: ((all ((flip Set.member) $ edgeSet $ symmetricClosure x) . edgeSet) <$> detectParts x) /= Right False algebraic-graphs> OK: (Set.map $ fromEither) <$> (vertexSet <$> (detectParts (fromBipartite (toBipartite x)))) == Right (vertexSet x) algebraic-graphs> OK: fromEither (Bifunctor.bimap ((flip Set.isSubsetOf) (vertexSet x) . Set.fromList) (const True) (detectParts x)) == True algebraic-graphs> OK: fromEither (Bifunctor.bimap ((flip Set.isSubsetOf) (edgeSet (symmetricClosure x)) . AM.edgeSet . circuit) (const True) (detectParts x)) == True algebraic-graphs> OK: fromEither (Bifunctor.bimap (((==) 1) . ((flip mod) 2) . length) (const True) (detectParts x)) == True algebraic-graphs> algebraic-graphs> ============ Show (Bipartite.AdjacencyMap.Algorithm.Matching a b) ============ algebraic-graphs> OK: show (matching []) == "matching []" algebraic-graphs> OK: show (matching [(2,'a'),(1,'b')]) == "matching [(1,'b'),(2,'a')]" algebraic-graphs> algebraic-graphs> ============ Eq (Bipartite.AdjacencyMap.Algorithm.Matching a b) ============ algebraic-graphs> OK: (x == y) == ((pairOfLeft x == pairOfLeft y) && (pairOfRight x == pairOfRight y)) algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Algorithm.pairOfLeft ============ algebraic-graphs> OK: pairOfLeft (matching []) == Map.empty algebraic-graphs> OK: pairOfLeft (matching [(2,'a'), (1,'b')]) == Map.fromList [(2,'a'), (1,'b')] algebraic-graphs> OK: Map.size . pairOfLeft == Map.size . pairOfRight algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Algorithm.pairOfRight ============ algebraic-graphs> OK: pairOfRight (matching []) == Map.empty algebraic-graphs> OK: pairOfRight (matching [(2,'a'), (1,'b')]) == Map.fromList [('a',2), ('b',1)] algebraic-graphs> OK: Map.size . pairOfRight == Map.size . pairOfLeft algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Algorithm.matching ============ algebraic-graphs> OK: matching [(1,'a'), (1,'b')] == matching [(1,'b')] algebraic-graphs> OK: matching [(1,'a'), (1,'b'), (2,'b'), (2,'a')] == matching [(2,'a')] algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Algorithm.isMatchingOf ============ algebraic-graphs> OK: isMatchingOf (matching []) x == True algebraic-graphs> OK: isMatchingOf (matching xs) empty == null xs algebraic-graphs> OK: isMatchingOf (matching [(x,y)]) (edge x y) == True algebraic-graphs> OK: isMatchingOf (matching [(1,2)]) (edge 2 1) == False algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Algorithm.matchingSize ============ algebraic-graphs> OK: matchingSize (matching []) == 0 algebraic-graphs> OK: matchingSize (matching [(2,'a'), (1,'b')]) == 2 algebraic-graphs> OK: matchingSize (matching [(1,'a'), (1,'b')]) == 1 algebraic-graphs> OK: matchingSize (matching xs) <= length xs algebraic-graphs> OK: matchingSize x == Map.size . pairOfLeft algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Algorithm.maxMatching ============ algebraic-graphs> OK: maxMatching empty == matching [] algebraic-graphs> OK: maxMatching (vertices xs ys) == matching [] algebraic-graphs> OK: maxMatching (path [1,2,3,4]) == matching [(1,2), (3,4)] algebraic-graphs> OK: matchingSize (maxMatching (circuit [(1,2), (3,4), (5,6)])) == 3 algebraic-graphs> OK: matchingSize (maxMatching (star x (y:ys))) == 1 algebraic-graphs> OK: matchingSize (maxMatching (biclique xs ys)) == min (length (nub xs)) (length (nub ys)) algebraic-graphs> OK: isMatchingOf (maxMatching x) x == True algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Algorithm.isVertexCoverOf ============ algebraic-graphs> OK: isVertexCoverOf (xs , ys ) empty == Set.null xs && Set.null ys algebraic-graphs> OK: isVertexCoverOf (xs , ys ) (leftVertex x) == Set.isSubsetOf xs (Set.singleton x) && Set.null ys algebraic-graphs> OK: isVertexCoverOf (Set.empty , Set.empty ) (edge x y) == False algebraic-graphs> OK: isVertexCoverOf (Set.singleton x, ys ) (edge x y) == Set.isSubsetOf ys (Set.singleton y) algebraic-graphs> OK: isVertexCoverOf (xs , Set.singleton y) (edge x y) == Set.isSubsetOf xs (Set.singleton x) algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Algorithm.minVertexCover ============ algebraic-graphs> OK: minVertexCover empty == (Set.empty, Set.empty) algebraic-graphs> OK: minVertexCover (vertices xs ys) == (Set.empty, Set.empty) algebraic-graphs> OK: minVertexCover (path [1,2,3]) == (Set.empty, Set.singleton 2) algebraic-graphs> OK: minVertexCover (star x (1:2:ys)) == (Set.singleton x, Set.empty) algebraic-graphs> OK: vertexCoverSize (minVertexCover (biclique xs ys)) == min (length (nub xs)) (length (nub ys)) algebraic-graphs> OK: vertexCoverSize . minVertexCover == matchingSize . maxMatching algebraic-graphs> OK: isVertexCoverOf (minVertexCover x) x == True algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Algorithm.isIndependentSetOf ============ algebraic-graphs> OK: isIndependentSetOf (xs , ys ) empty == Set.null xs && Set.null ys algebraic-graphs> OK: isIndependentSetOf (xs , ys ) (leftVertex x) == Set.isSubsetOf xs (Set.singleton x) && Set.null ys algebraic-graphs> OK: isIndependentSetOf (Set.empty , Set.empty ) (edge x y) == True algebraic-graphs> OK: isIndependentSetOf (Set.singleton x, ys ) (edge x y) == Set.null ys algebraic-graphs> OK: isIndependentSetOf (xs , Set.singleton y) (edge x y) == Set.null xs algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Algorithm.maxIndependentSet ============ algebraic-graphs> OK: maxIndependentSet empty == (Set.empty, Set.empty) algebraic-graphs> OK: maxIndependentSet (vertices xs ys) == (Set.fromList xs, Set.fromList ys) algebraic-graphs> OK: maxIndependentSet (path [1,2,3]) == (Set.fromList [1,3], Set.empty) algebraic-graphs> OK: maxIndependentSet (star x (1:2:ys)) == (Set.empty, Set.fromList (1:2:ys)) algebraic-graphs> OK: independentSetSize (maxIndependentSet (biclique xs ys)) == max (length (nub xs)) (length (nub ys)) algebraic-graphs> OK: independentSetSize (maxIndependentSet x) == vertexCount x - vertexCoverSize (minVertexCover x) algebraic-graphs> OK: isIndependentSetOf (maxIndependentSet x) x == True algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Algorithm.augmentingPath ============ algebraic-graphs> OK: augmentingPath (matching []) empty == Left (Set.empty, Set.empty) algebraic-graphs> OK: augmentingPath (matching []) (edge 1 2) == Right [1,2] algebraic-graphs> OK: augmentingPath (matching [(1,2)]) (path [1,2,3]) == Left (Set.empty, Set.singleton 2) algebraic-graphs> OK: augmentingPath (matching [(3,2)]) (path [1,2,3,4]) == Right [1,2,3,4] algebraic-graphs> OK: isLeft (augmentingPath (maxMatching x) x) == True algebraic-graphs> algebraic-graphs> ============ Bipartite.AdjacencyMap.Algorithm.consistentMatching ============ algebraic-graphs> OK: consistentMatching (matching xs) == True algebraic-graphs> OK: consistentMatching (maxMatching x) == True algebraic-graphs> algebraic-graphs> ============ Export.Eq ============ algebraic-graphs> OK: mempty /= literal "" algebraic-graphs> algebraic-graphs> ============ Export.Ord ============ algebraic-graphs> OK: mempty < literal "" algebraic-graphs> algebraic-graphs> ============ Export.isEmpty ============ algebraic-graphs> OK: isEmpty mempty == True algebraic-graphs> OK: isEmpty (literal "") == False algebraic-graphs> OK: isEmpty x == (x == mempty) algebraic-graphs> algebraic-graphs> ============ Export.literal ============ algebraic-graphs> OK: literal "Hello, " <> literal "World!" == literal "Hello, World!" algebraic-graphs> OK: literal "I am just a string literal" == "I am just a string literal" algebraic-graphs> OK: render . literal == id algebraic-graphs> algebraic-graphs> ============ Export.render ============ algebraic-graphs> OK: render (literal "al" <> literal "ga") == "alga" algebraic-graphs> OK: render mempty == mempty algebraic-graphs> algebraic-graphs> ============ Export.<+> ============ algebraic-graphs> OK: x <+> mempty == x algebraic-graphs> OK: mempty <+> x == x algebraic-graphs> OK: x <+> (y <+> z) == (x <+> y) <+> z algebraic-graphs> OK: "name" <+> "surname" == "name surname" algebraic-graphs> algebraic-graphs> ============ Export.brackets ============ algebraic-graphs> OK: brackets "i" == "[i]" algebraic-graphs> OK: brackets mempty == "[]" algebraic-graphs> algebraic-graphs> ============ Export.doubleQuotes ============ algebraic-graphs> OK: doubleQuotes "/path/with spaces" == "\"/path/with spaces\"" algebraic-graphs> OK: doubleQuotes (doubleQuotes mempty) == "\"\"\"\"" algebraic-graphs> algebraic-graphs> ============ Export.indent ============ algebraic-graphs> OK: indent 0 == id algebraic-graphs> OK: indent 1 mempty == " " algebraic-graphs> algebraic-graphs> ============ Export.unlines ============ algebraic-graphs> OK: unlines [] == mempty algebraic-graphs> OK: unlines [mempty] == "\n" algebraic-graphs> OK: unlines ["title", "subtitle"] == "title\nsubtitle\n" algebraic-graphs> algebraic-graphs> ============ Export.export ============ algebraic-graphs> OK: render $ export vDoc eDoc (1 + 2 * (3 + 4) :: Graph Int) algebraic-graphs> algebraic-graphs> ============ Export.Dot.export ============ algebraic-graphs> OK: export style (1 * 2 + 3 * 4 * 5 :: Graph Int) algebraic-graphs> algebraic-graphs> =========== Export.Dot.attributeQuoting ============ algebraic-graphs> OK: export style' (1 * 2 + 3 * 4 * 5 :: Graph Int) algebraic-graphs> algebraic-graphs> ============ Export.Dot.exportAsIs ============ algebraic-graphs> OK: exportAsIs (circuit ["a", "b", "c"] :: Graph String) algebraic-graphs> algebraic-graphs> ============ Export.Dot.exportViaShow ============ algebraic-graphs> OK: exportViaShow (1 + 2 * (3 + 4) :: Graph Int) algebraic-graphs> algebraic-graphs> ============ Graph ============ algebraic-graphs> OK: Axioms of graphs algebraic-graphs> OK: Theorems of graphs algebraic-graphs> algebraic-graphs> ============ Graph.Ord ============ algebraic-graphs> OK: vertex 1 < vertex 2 algebraic-graphs> OK: vertex 3 < edge 1 2 algebraic-graphs> OK: vertex 1 < edge 1 1 algebraic-graphs> OK: edge 1 1 < edge 1 2 algebraic-graphs> OK: edge 1 2 < edge 1 1 + edge 2 2 algebraic-graphs> OK: edge 1 2 < edge 1 3 algebraic-graphs> OK: x <= x + y algebraic-graphs> OK: x + y <= x * y algebraic-graphs> algebraic-graphs> ============ Graph.empty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> algebraic-graphs> ============ Graph.vertex ============ algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> algebraic-graphs> ============ Graph.edge ============ algebraic-graphs> OK: edge x y == connect (vertex x) (vertex y) algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: vertexCount (edge 1 1) == 1 algebraic-graphs> OK: vertexCount (edge 1 2) == 2 algebraic-graphs> algebraic-graphs> ============ Graph.overlay ============ algebraic-graphs> OK: isEmpty (overlay x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (overlay x y) >= vertexCount x algebraic-graphs> OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (overlay x y) >= edgeCount x algebraic-graphs> OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (overlay 1 2) == 2 algebraic-graphs> OK: edgeCount (overlay 1 2) == 0 algebraic-graphs> algebraic-graphs> ============ Graph.connect ============ algebraic-graphs> OK: isEmpty (connect x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (connect x y) >= vertexCount x algebraic-graphs> OK: vertexCount (connect x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount x algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount y algebraic-graphs> OK: edgeCount (connect x y) >= vertexCount x * vertexCount y algebraic-graphs> OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (connect 1 2) == 2 algebraic-graphs> OK: edgeCount (connect 1 2) == 1 algebraic-graphs> algebraic-graphs> ============ Graph.vertices ============ algebraic-graphs> OK: vertices [] == empty algebraic-graphs> OK: vertices [x] == vertex x algebraic-graphs> OK: vertices == overlays . map vertex algebraic-graphs> OK: hasVertex x . vertices == elem x algebraic-graphs> OK: vertexCount . vertices == length . nub algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ Graph.edges ============ algebraic-graphs> OK: edges [] == empty algebraic-graphs> OK: edges [(x,y)] == edge x y algebraic-graphs> OK: edges == overlays . map (uncurry edge) algebraic-graphs> OK: edgeCount . edges == length . nub algebraic-graphs> algebraic-graphs> ============ Graph.overlays ============ algebraic-graphs> OK: overlays [] == empty algebraic-graphs> OK: overlays [x] == x algebraic-graphs> OK: overlays [x,y] == overlay x y algebraic-graphs> OK: overlays == foldr overlay empty algebraic-graphs> OK: isEmpty . overlays == all isEmpty algebraic-graphs> algebraic-graphs> ============ Graph.connects ============ algebraic-graphs> OK: connects [] == empty algebraic-graphs> OK: connects [x] == x algebraic-graphs> OK: connects [x,y] == connect x y algebraic-graphs> OK: connects == foldr connect empty algebraic-graphs> OK: isEmpty . connects == all isEmpty algebraic-graphs> algebraic-graphs> ============ Graph.isSubgraphOf ============ algebraic-graphs> OK: isSubgraphOf empty x == True algebraic-graphs> OK: isSubgraphOf (vertex x) empty == False algebraic-graphs> OK: isSubgraphOf x (overlay x y) == True algebraic-graphs> OK: isSubgraphOf (overlay x y) (connect x y) == True algebraic-graphs> OK: isSubgraphOf (path xs) (circuit xs) == True algebraic-graphs> OK: isSubgraphOf x y ==> x <= y algebraic-graphs> algebraic-graphs> ============ Graph.toGraph et al. ============ algebraic-graphs> OK: toGraph == foldg Empty Vertex Overlay Connect algebraic-graphs> OK: foldg == Algebra.Graph.foldg . toGraph algebraic-graphs> OK: isEmpty == foldg True (const False) (&&) (&&) algebraic-graphs> OK: size == foldg 1 (const 1) (+) (+) algebraic-graphs> OK: hasVertex x == foldg False (==x) (||) (||) algebraic-graphs> OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph algebraic-graphs> OK: vertexCount == Set.size . vertexSet algebraic-graphs> OK: edgeCount == Set.size . edgeSet algebraic-graphs> OK: vertexList == Set.toAscList . vertexSet algebraic-graphs> OK: edgeList == Set.toAscList . edgeSet algebraic-graphs> OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union algebraic-graphs> OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union algebraic-graphs> OK: edgeSet == Algebra.Graph.AdjacencyMap.edgeSet . foldg empty vertex overlay connect algebraic-graphs> OK: preSet x == Algebra.Graph.AdjacencyMap.preSet x . toAdjacencyMap algebraic-graphs> OK: preIntSet x == Algebra.Graph.AdjacencyIntMap.preIntSet x . toAdjacencyIntMap algebraic-graphs> OK: postSet x == Algebra.Graph.AdjacencyMap.postSet x . toAdjacencyMap algebraic-graphs> OK: postIntSet x == Algebra.Graph.AdjacencyIntMap.postIntSet x . toAdjacencyIntMap algebraic-graphs> OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap algebraic-graphs> OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap algebraic-graphs> OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap algebraic-graphs> OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose algebraic-graphs> OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose algebraic-graphs> OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap algebraic-graphs> OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap algebraic-graphs> OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap algebraic-graphs> OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap algebraic-graphs> OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap algebraic-graphs> OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap algebraic-graphs> OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap algebraic-graphs> OK: toAdjacencyMap == foldg empty vertex overlay connect algebraic-graphs> OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect) algebraic-graphs> OK: toAdjacencyIntMap == foldg empty vertex overlay connect algebraic-graphs> OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect) algebraic-graphs> OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap algebraic-graphs> OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap algebraic-graphs> algebraic-graphs> ============ Graph.foldg ============ algebraic-graphs> OK: foldg empty vertex overlay connect == id algebraic-graphs> OK: foldg empty vertex overlay (flip connect) == transpose algebraic-graphs> OK: foldg 1 (const 1) (+) (+) == size algebraic-graphs> OK: foldg True (const False) (&&) (&&) == isEmpty algebraic-graphs> algebraic-graphs> ============ Graph.isEmpty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: isEmpty (overlay empty empty) == True algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: isEmpty (removeVertex x $ vertex x) == True algebraic-graphs> OK: isEmpty (removeEdge x y $ edge x y) == False algebraic-graphs> algebraic-graphs> ============ Graph.hasVertex ============ algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: hasVertex x . removeVertex x == const False algebraic-graphs> algebraic-graphs> ============ Graph.hasEdge ============ algebraic-graphs> OK: hasEdge x y empty == False algebraic-graphs> OK: hasEdge x y (vertex z) == False algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: hasEdge x y . removeEdge x y == const False algebraic-graphs> OK: hasEdge x y == elem (x,y) . edgeList algebraic-graphs> algebraic-graphs> ============ Graph.vertexCount ============ algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: vertexCount == length . vertexList algebraic-graphs> OK: vertexCount x < vertexCount y ==> x < y algebraic-graphs> algebraic-graphs> ============ Graph.edgeCount ============ algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: edgeCount == length . edgeList algebraic-graphs> algebraic-graphs> ============ Graph.vertexList ============ algebraic-graphs> OK: vertexList empty == [] algebraic-graphs> OK: vertexList (vertex x) == [x] algebraic-graphs> OK: vertexList . vertices == nub . sort algebraic-graphs> algebraic-graphs> ============ Graph.vertexSet ============ algebraic-graphs> OK: vertexSet empty == Set.empty algebraic-graphs> OK: vertexSet . vertex == Set.singleton algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ Graph.vertexIntSet ============ algebraic-graphs> OK: vertexIntSet empty == IntSet.empty algebraic-graphs> OK: vertexIntSet . vertex == IntSet.singleton algebraic-graphs> OK: vertexIntSet . vertices == IntSet.fromList algebraic-graphs> OK: vertexIntSet . clique == IntSet.fromList algebraic-graphs> algebraic-graphs> ============ Graph.edgeList ============ algebraic-graphs> OK: edgeList empty == [] algebraic-graphs> OK: edgeList (vertex x) == [] algebraic-graphs> OK: edgeList (edge x y) == [(x,y)] algebraic-graphs> OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)] algebraic-graphs> OK: edgeList . edges == nub . sort algebraic-graphs> algebraic-graphs> ============ Graph.edgeSet ============ algebraic-graphs> OK: edgeSet empty == Set.empty algebraic-graphs> OK: edgeSet (vertex x) == Set.empty algebraic-graphs> OK: edgeSet (edge x y) == Set.singleton (x,y) algebraic-graphs> OK: edgeSet . edges == Set.fromList algebraic-graphs> algebraic-graphs> ============ Graph.adjacencyList ============ algebraic-graphs> OK: adjacencyList empty == [] algebraic-graphs> OK: adjacencyList (vertex x) == [(x, [])] algebraic-graphs> OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [])] algebraic-graphs> OK: adjacencyList (star 2 [3,1]) == [(1, []), (2, [1,3]), (3, [])] algebraic-graphs> algebraic-graphs> ============ Graph.preSet ============ algebraic-graphs> OK: preSet x empty == Set.empty algebraic-graphs> OK: preSet x (vertex x) == Set.empty algebraic-graphs> OK: preSet 1 (edge 1 2) == Set.empty algebraic-graphs> OK: preSet y (edge x y) == Set.fromList [x] algebraic-graphs> algebraic-graphs> ============ Graph.preIntSet ============ algebraic-graphs> OK: preIntSet x empty == IntSet.empty algebraic-graphs> OK: preIntSet x (vertex x) == IntSet.empty algebraic-graphs> OK: preIntSet 1 (edge 1 2) == IntSet.empty algebraic-graphs> OK: preIntSet y (edge x y) == IntSet.fromList [x] algebraic-graphs> algebraic-graphs> ============ Graph.postSet ============ algebraic-graphs> OK: postSet x empty == Set.empty algebraic-graphs> OK: postSet x (vertex x) == Set.empty algebraic-graphs> OK: postSet x (edge x y) == Set.fromList [y] algebraic-graphs> OK: postSet 2 (edge 1 2) == Set.empty algebraic-graphs> algebraic-graphs> ============ Graph.postIntSet ============ algebraic-graphs> OK: postIntSet x empty == IntSet.empty algebraic-graphs> OK: postIntSet x (vertex x) == IntSet.empty algebraic-graphs> OK: postIntSet 2 (edge 1 2) == IntSet.empty algebraic-graphs> OK: postIntSet x (edge x y) == IntSet.fromList [y] algebraic-graphs> algebraic-graphs> ============ Graph.size ============ algebraic-graphs> OK: size empty == 1 algebraic-graphs> OK: size (vertex x) == 1 algebraic-graphs> OK: size (overlay x y) == size x + size y algebraic-graphs> OK: size (connect x y) == size x + size y algebraic-graphs> OK: size x >= 1 algebraic-graphs> OK: size x >= vertexCount x algebraic-graphs> algebraic-graphs> ============ Graph.path ============ algebraic-graphs> OK: path [] == empty algebraic-graphs> OK: path [x] == vertex x algebraic-graphs> OK: path [x,y] == edge x y algebraic-graphs> algebraic-graphs> ============ Graph.circuit ============ algebraic-graphs> OK: circuit [] == empty algebraic-graphs> OK: circuit [x] == edge x x algebraic-graphs> OK: circuit [x,y] == edges [(x,y), (y,x)] algebraic-graphs> algebraic-graphs> ============ Graph.clique ============ algebraic-graphs> OK: clique [] == empty algebraic-graphs> OK: clique [x] == vertex x algebraic-graphs> OK: clique [x,y] == edge x y algebraic-graphs> OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)] algebraic-graphs> OK: clique (xs ++ ys) == connect (clique xs) (clique ys) algebraic-graphs> algebraic-graphs> ============ Graph.biclique ============ algebraic-graphs> OK: biclique [] [] == empty algebraic-graphs> OK: biclique [x] [] == vertex x algebraic-graphs> OK: biclique [] [y] == vertex y algebraic-graphs> OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] algebraic-graphs> OK: biclique xs ys == connect (vertices xs) (vertices ys) algebraic-graphs> algebraic-graphs> ============ Graph.star ============ algebraic-graphs> OK: star x [] == vertex x algebraic-graphs> OK: star x [y] == edge x y algebraic-graphs> OK: star x [y,z] == edges [(x,y), (x,z)] algebraic-graphs> OK: star x ys == connect (vertex x) (vertices ys) algebraic-graphs> algebraic-graphs> ============ Graph.stars ============ algebraic-graphs> OK: stars [] == empty algebraic-graphs> OK: stars [(x, [])] == vertex x algebraic-graphs> OK: stars [(x, [y])] == edge x y algebraic-graphs> OK: stars [(x, ys)] == star x ys algebraic-graphs> OK: stars == overlays . map (uncurry star) algebraic-graphs> OK: stars . adjacencyList == id algebraic-graphs> OK: overlay (stars xs) (stars ys) == stars (xs ++ ys) algebraic-graphs> algebraic-graphs> ============ Graph.tree ============ algebraic-graphs> OK: tree (Node x []) == vertex x algebraic-graphs> OK: tree (Node x [Node y [Node z []]]) == path [x,y,z] algebraic-graphs> OK: tree (Node x [Node y [], Node z []]) == star x [y,z] algebraic-graphs> OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)] algebraic-graphs> algebraic-graphs> ============ Graph.forest ============ algebraic-graphs> OK: forest [] == empty algebraic-graphs> OK: forest [x] == tree x algebraic-graphs> OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)] algebraic-graphs> OK: forest == overlays . map tree algebraic-graphs> algebraic-graphs> ============ Graph.removeVertex ============ algebraic-graphs> OK: removeVertex x (vertex x) == empty algebraic-graphs> OK: removeVertex 1 (vertex 2) == vertex 2 algebraic-graphs> OK: removeVertex x (edge x x) == empty algebraic-graphs> OK: removeVertex 1 (edge 1 2) == vertex 2 algebraic-graphs> OK: removeVertex x . removeVertex x == removeVertex x algebraic-graphs> algebraic-graphs> ============ Graph.removeEdge ============ algebraic-graphs> OK: removeEdge x y (edge x y) == vertices [x,y] algebraic-graphs> OK: removeEdge x y . removeEdge x y == removeEdge x y algebraic-graphs> OK: removeEdge x y . removeVertex x == removeVertex x algebraic-graphs> OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 algebraic-graphs> OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 algebraic-graphs> OK: size (removeEdge x y z) <= 3 * size z algebraic-graphs> algebraic-graphs> ============ Graph.replaceVertex ============ algebraic-graphs> OK: replaceVertex x x == id algebraic-graphs> OK: replaceVertex x y (vertex x) == vertex y algebraic-graphs> OK: replaceVertex x y == mergeVertices (== x) y algebraic-graphs> algebraic-graphs> ============ Graph.mergeVertices ============ algebraic-graphs> OK: mergeVertices (const False) x == id algebraic-graphs> OK: mergeVertices (== x) y == replaceVertex x y algebraic-graphs> OK: mergeVertices even 1 (0 * 2) == 1 * 1 algebraic-graphs> OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 algebraic-graphs> algebraic-graphs> ============ Graph.transpose ============ algebraic-graphs> OK: transpose empty == empty algebraic-graphs> OK: transpose (vertex x) == vertex x algebraic-graphs> OK: transpose (edge x y) == edge y x algebraic-graphs> OK: transpose . transpose == id algebraic-graphs> OK: edgeList . transpose == sort . map swap . edgeList algebraic-graphs> algebraic-graphs> ============ Graph.gmap ============ algebraic-graphs> OK: gmap f empty == empty algebraic-graphs> OK: gmap f (vertex x) == vertex (f x) algebraic-graphs> OK: gmap f (edge x y) == edge (f x) (f y) algebraic-graphs> OK: gmap id == id algebraic-graphs> OK: gmap f . gmap g == gmap (f . g) algebraic-graphs> algebraic-graphs> ============ Graph.induce ============ algebraic-graphs> OK: induce (const True ) x == x algebraic-graphs> OK: induce (const False) x == empty algebraic-graphs> OK: induce (/= x) == removeVertex x algebraic-graphs> OK: induce p . induce q == induce (\x -> p x && q x) algebraic-graphs> OK: isSubgraphOf (induce p x) x == True algebraic-graphs> algebraic-graphs> ============ Graph.induceJust ============ algebraic-graphs> OK: induceJust (vertex Nothing) == empty algebraic-graphs> OK: induceJust (edge (Just x) Nothing) == vertex x algebraic-graphs> OK: induceJust . gmap Just == id algebraic-graphs> OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p algebraic-graphs> algebraic-graphs> ============ Graph.compose ============ algebraic-graphs> OK: compose empty x == empty algebraic-graphs> OK: compose x empty == empty algebraic-graphs> OK: compose (vertex x) y == empty algebraic-graphs> OK: compose x (vertex y) == empty algebraic-graphs> OK: compose x (compose y z) == compose (compose x y) z algebraic-graphs> OK: compose x (overlay y z) == overlay (compose x y) (compose x z) algebraic-graphs> OK: compose (overlay x y) z == overlay (compose x z) (compose y z) algebraic-graphs> OK: compose (edge x y) (edge y z) == edge x z algebraic-graphs> OK: compose (path [1..5]) (path [1..5]) == edges [(1,3),(2,4),(3,5)] algebraic-graphs> OK: compose (circuit [1..5]) (circuit [1..5]) == circuit [1,3,5,2,4] algebraic-graphs> OK: size (compose x y) <= edgeCount x + edgeCount y + 1 algebraic-graphs> algebraic-graphs> ============ Graph.(===) ============ algebraic-graphs> OK: x === x == True algebraic-graphs> OK: x === x + empty == False algebraic-graphs> OK: x + y === x + y == True algebraic-graphs> OK: 1 + 2 === 2 + 1 == False algebraic-graphs> OK: x + y === x * y == False algebraic-graphs> algebraic-graphs> ============ Graph.mesh ============ algebraic-graphs> OK: mesh xs [] == empty algebraic-graphs> OK: mesh [] ys == empty algebraic-graphs> OK: mesh [x] [y] == vertex (x, y) algebraic-graphs> OK: mesh xs ys == box (path xs) (path ys) algebraic-graphs> OK: mesh [1..3] "ab" == algebraic-graphs> OK: size (mesh xs ys) == max 1 (3 * length xs * length ys - length xs - length ys -1) algebraic-graphs> algebraic-graphs> ============ Graph.torus ============ algebraic-graphs> OK: torus xs [] == empty algebraic-graphs> OK: torus [] ys == empty algebraic-graphs> OK: torus [x] [y] == edge (x,y) (x,y) algebraic-graphs> OK: torus xs ys == box (circuit xs) (circuit ys) algebraic-graphs> OK: torus [1,2] "ab" == algebraic-graphs> OK: size (torus xs ys) == max 1 (3 * length xs * length ys) algebraic-graphs> algebraic-graphs> ============ Graph.deBruijn ============ algebraic-graphs> OK: deBruijn 0 xs == edge [] [] algebraic-graphs> OK: n > 0 ==> deBruijn n [] == empty algebraic-graphs> OK: deBruijn 1 [0,1] == edges [ ([0],[0]), ([0],[1]), ([1],[0]), ([1],[1]) ] algebraic-graphs> OK: deBruijn 2 "0" == edge "00" "00" algebraic-graphs> OK: deBruijn 2 "01" == algebraic-graphs> OK: transpose (deBruijn n xs) == gmap reverse $ deBruijn n xs algebraic-graphs> OK: vertexCount (deBruijn n xs) == (length $ nub xs)^n algebraic-graphs> OK: n > 0 ==> edgeCount (deBruijn n xs) == (length $ nub xs)^(n + 1) algebraic-graphs> algebraic-graphs> ============ Graph.splitVertex ============ algebraic-graphs> OK: splitVertex x [] == removeVertex x algebraic-graphs> OK: splitVertex x [x] == id algebraic-graphs> OK: splitVertex x [y] == replaceVertex x y algebraic-graphs> OK: splitVertex 1 [0, 1] $ 1 * (2 + 3) == (0 + 1) * (2 + 3) algebraic-graphs> algebraic-graphs> ============ Graph.bind ============ algebraic-graphs> OK: bind empty f == empty algebraic-graphs> OK: bind (vertex x) f == f x algebraic-graphs> OK: bind (edge x y) f == connect (f x) (f y) algebraic-graphs> OK: bind (vertices xs) f == overlays (map f xs) algebraic-graphs> OK: bind x (const empty) == empty algebraic-graphs> OK: bind x vertex == x algebraic-graphs> OK: bind (bind x f) g == bind x (\y -> bind (f y) g) algebraic-graphs> algebraic-graphs> ============ Graph.simplify ============ algebraic-graphs> OK: simplify == id algebraic-graphs> OK: size (simplify x) <= size x algebraic-graphs> algebraic-graphs> ============ Graph.box ============ algebraic-graphs> OK: box x y ~~ box y x algebraic-graphs> OK: box x (overlay y z) == overlay (box x y) (box x z) algebraic-graphs> OK: box x (vertex ()) ~~ x algebraic-graphs> OK: box x empty ~~ empty algebraic-graphs> OK: box x (box y z) ~~ box (box x y) z algebraic-graphs> OK: transpose (box x y) == box (transpose x) (transpose y) algebraic-graphs> OK: vertexCount (box x y) == vertexCount x * vertexCount y algebraic-graphs> OK: edgeCount (box x y) <= vertexCount x * edgeCount y + edgeCount x * vertexCount y algebraic-graphs> algebraic-graphs> ============ Graph.sparsify ============ algebraic-graphs> OK: sort . reachable x == sort . rights . reachable (sparsify x) . Right algebraic-graphs> OK: vertexCount (sparsify x) <= vertexCount x + size x + 1 algebraic-graphs> OK: edgeCount (sparsify x) <= 3 * size x algebraic-graphs> OK: size (sparsify x) <= 3 * size x algebraic-graphs> algebraic-graphs> ============ Graph.sparsifyKL ============ algebraic-graphs> OK: sort . reachable x == sort . filter (<= n) . reachable (sparsifyKL n x) algebraic-graphs> OK: length (vertices $ sparsifyKL n x) <= vertexCount x + size x + 1 algebraic-graphs> OK: length (edges $ sparsifyKL n x) <= 3 * size x algebraic-graphs> algebraic-graphs> ============ Graph.context ============ algebraic-graphs> OK: context (const False) x == Nothing algebraic-graphs> OK: context (== 1) (edge 1 2) == Just (Context [ ] [2 ]) algebraic-graphs> OK: context (== 2) (edge 1 2) == Just (Context [1 ] [ ]) algebraic-graphs> OK: context (const True ) (edge 1 2) == Just (Context [1 ] [2 ]) algebraic-graphs> OK: context (== 4) (3 * 1 * 4 * 1 * 5) == Just (Context [3,1] [1,5]) algebraic-graphs> algebraic-graphs> ============ Graph.buildg ============ algebraic-graphs> OK: buildg (\e _ _ _ -> e) == empty algebraic-graphs> OK: buildg (\_ v _ _ -> v x) == vertex x algebraic-graphs> OK: buildg (\e v o c -> o (foldg e v o c x) (foldg e v o c y)) == overlay x y algebraic-graphs> OK: buildg (\e v o c -> c (foldg e v o c x) (foldg e v o c y)) == connect x y algebraic-graphs> OK: buildg (\e v o _ -> foldr o e (map v xs)) == vertices xs algebraic-graphs> OK: buildg (\e v o c -> foldg e v o (flip c) g) == transpose g algebraic-graphs> algebraic-graphs> ============ Internal.List ============ algebraic-graphs> OK: pure 1 <> pure 4 == [1, 4] algebraic-graphs> algebraic-graphs> ============ Graph.Label ============ algebraic-graphs> algebraic-graphs> ============ Any: instances ============ algebraic-graphs> OK: Semiring algebraic-graphs> OK: StarSemiring algebraic-graphs> OK: Dioid algebraic-graphs> algebraic-graphs> ============ Distance Int: instances ============ algebraic-graphs> OK: Semiring algebraic-graphs> OK: StarSemiring algebraic-graphs> OK: Dioid algebraic-graphs> algebraic-graphs> ============ Capacity Int: instances ============ algebraic-graphs> OK: Semiring algebraic-graphs> OK: StarSemiring algebraic-graphs> OK: Dioid algebraic-graphs> algebraic-graphs> ============ Minimum (Path Int): instances ============ algebraic-graphs> OK: LeftNearRing algebraic-graphs> algebraic-graphs> ============ PowerSet (Path Int): instances ============ algebraic-graphs> OK: Semiring algebraic-graphs> OK: Dioid algebraic-graphs> algebraic-graphs> ============ Count Int: instances ============ algebraic-graphs> OK: Semiring algebraic-graphs> OK: StarSemiring algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.consistent ============ algebraic-graphs> OK: arbitraryLabelledAdjacencyMap algebraic-graphs> OK: empty algebraic-graphs> OK: vertex algebraic-graphs> OK: edge algebraic-graphs> OK: overlay algebraic-graphs> OK: connect algebraic-graphs> OK: vertices algebraic-graphs> OK: edges algebraic-graphs> OK: overlays algebraic-graphs> OK: fromAdjacencyMaps algebraic-graphs> OK: removeVertex algebraic-graphs> OK: removeEdge algebraic-graphs> OK: replaceVertex algebraic-graphs> OK: replaceEdge algebraic-graphs> OK: transpose algebraic-graphs> OK: gmap algebraic-graphs> OK: emap algebraic-graphs> OK: induce algebraic-graphs> OK: closure algebraic-graphs> OK: reflexiveClosure algebraic-graphs> OK: symmetricClosure algebraic-graphs> OK: transitiveClosure algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.empty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.vertex ============ algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.edge ============ algebraic-graphs> OK: edge e x y == connect e (vertex x) (vertex y) algebraic-graphs> OK: edge zero x y == vertices [x,y] algebraic-graphs> OK: hasEdge x y (edge e x y) == (e /= mempty) algebraic-graphs> OK: edgeLabel x y (edge e x y) == e algebraic-graphs> OK: edgeCount (edge e x y) == if e == mempty then 0 else 1 algebraic-graphs> OK: vertexCount (edge e 1 1) == 1 algebraic-graphs> OK: vertexCount (edge e 1 2) == 2 algebraic-graphs> OK: x -- y == edge e x y algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.overlay ============ algebraic-graphs> OK: isEmpty (overlay x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (overlay x y) >= vertexCount x algebraic-graphs> OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (overlay x y) >= edgeCount x algebraic-graphs> OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (overlay 1 2) == 2 algebraic-graphs> OK: edgeCount (overlay 1 2) == 0 algebraic-graphs> algebraic-graphs> OK: edgeLabel x y $ overlay (edge e x y) (edge zero x y) == e algebraic-graphs> OK: edgeLabel x y $ overlay (edge e x y) (edge f x y) == e <+> f algebraic-graphs> algebraic-graphs> OK: edgeLabel 1 3 $ transitiveClosure (overlay (edge e 1 2) (edge one 2 3)) == e algebraic-graphs> OK: edgeLabel 1 3 $ transitiveClosure (overlay (edge e 1 2) (edge f 2 3)) == e <.> f algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.connect ============ algebraic-graphs> OK: isEmpty (connect e x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (connect e x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (connect e x y) >= vertexCount x algebraic-graphs> OK: vertexCount (connect e x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (connect e x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (connect e 1 2) == 2 algebraic-graphs> OK: edgeCount (connect e 1 2) == if e == zero then 0 else 1 algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.vertices ============ algebraic-graphs> OK: vertices [] == empty algebraic-graphs> OK: vertices [x] == vertex x algebraic-graphs> OK: vertices == overlays . map vertex algebraic-graphs> OK: hasVertex x . vertices == elem x algebraic-graphs> OK: vertexCount . vertices == length . nub algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.edges ============ algebraic-graphs> OK: edges [] == empty algebraic-graphs> OK: edges [(e,x,y)] == edge e x y algebraic-graphs> OK: edges == overlays . map (\(e, x, y) -> edge e x y) algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.overlays ============ algebraic-graphs> OK: overlays [] == empty algebraic-graphs> OK: overlays [x] == x algebraic-graphs> OK: overlays [x,y] == overlay x y algebraic-graphs> OK: overlays == foldr overlay empty algebraic-graphs> OK: isEmpty . overlays == all isEmpty algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.fromAdjacencyMaps ============ algebraic-graphs> OK: fromAdjacencyMaps [] == empty algebraic-graphs> OK: fromAdjacencyMaps [(x, Map.empty)] == vertex x algebraic-graphs> OK: fromAdjacencyMaps [(x, Map.singleton y e)] == if e == zero then vertices [x,y] else edge e x y algebraic-graphs> OK: overlay (fromAdjacencyMaps xs) (fromAdjacencyMaps ys) == fromAdjacencyMaps (xs ++ ys) algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.isSubgraphOf ============ algebraic-graphs> OK: isSubgraphOf empty x == True algebraic-graphs> OK: isSubgraphOf (vertex x) empty == False algebraic-graphs> OK: isSubgraphOf x y ==> x <= y algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.isEmpty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: isEmpty (overlay empty empty) == True algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: isEmpty (removeVertex x $ vertex x) == True algebraic-graphs> OK: isEmpty (removeEdge x y $ edge e x y) == False algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.hasVertex ============ algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: hasVertex x . removeVertex x == const False algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.hasEdge ============ algebraic-graphs> OK: hasEdge x y empty == False algebraic-graphs> OK: hasEdge x y (vertex z) == False algebraic-graphs> OK: hasEdge x y (edge e x y) == (e /= zero) algebraic-graphs> OK: hasEdge x y . removeEdge x y == const False algebraic-graphs> OK: hasEdge x y == not . null . filter (\(_,ex,ey) -> ex == x && ey == y) . edgeList algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.edgeLabel ============ algebraic-graphs> OK: edgeLabel x y empty == zero algebraic-graphs> OK: edgeLabel x y (vertex z) == zero algebraic-graphs> OK: edgeLabel x y (edge e x y) == e algebraic-graphs> OK: edgeLabel s t (overlay x y) == edgeLabel s t x + edgeLabel s t y algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.vertexCount ============ algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: vertexCount == length . vertexList algebraic-graphs> OK: vertexCount x < vertexCount y ==> x < y algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.edgeCount ============ algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> OK: edgeCount (edge e x y) == if e == zero then 0 else 1 algebraic-graphs> OK: edgeCount == length . edgeList algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.vertexList ============ algebraic-graphs> OK: vertexList empty == [] algebraic-graphs> OK: vertexList (vertex x) == [x] algebraic-graphs> OK: vertexList . vertices == nub . sort algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.edgeList ============ algebraic-graphs> OK: edgeList empty == [] algebraic-graphs> OK: edgeList (vertex x) == [] algebraic-graphs> OK: edgeList (edge e x y) == if e == zero then [] else [(e,x,y)] algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.vertexSet ============ algebraic-graphs> OK: vertexSet empty == Set.empty algebraic-graphs> OK: vertexSet . vertex == Set.singleton algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.edgeSet ============ algebraic-graphs> OK: edgeSet empty == Set.empty algebraic-graphs> OK: edgeSet (vertex x) == Set.empty algebraic-graphs> OK: edgeSet (edge e x y) == if e == zero then Set.empty else Set.singleton (e,x,y) algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.preSet ============ algebraic-graphs> OK: preSet x empty == Set.empty algebraic-graphs> OK: preSet x (vertex x) == Set.empty algebraic-graphs> OK: preSet 1 (edge e 1 2) == Set.empty algebraic-graphs> OK: preSet y (edge e x y) == if e == zero then Set.empty else Set.fromList [x] algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.postSet ============ algebraic-graphs> OK: postSet x empty == Set.empty algebraic-graphs> OK: postSet x (vertex x) == Set.empty algebraic-graphs> OK: postSet x (edge e x y) == if e == zero then Set.empty else Set.fromList [y] algebraic-graphs> OK: postSet 2 (edge e 1 2) == Set.empty algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.skeleton ============ algebraic-graphs> OK: hasEdge x y == hasEdge x y . skeleton algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.removeVertex ============ algebraic-graphs> OK: removeVertex x (vertex x) == empty algebraic-graphs> OK: removeVertex 1 (vertex 2) == vertex 2 algebraic-graphs> OK: removeVertex x (edge e x x) == empty algebraic-graphs> OK: removeVertex 1 (edge e 1 2) == vertex 2 algebraic-graphs> OK: removeVertex x . removeVertex x == removeVertex x algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.removeEdge ============ algebraic-graphs> OK: removeEdge x y (edge e x y) == vertices [x,y] algebraic-graphs> OK: removeEdge x y . removeEdge x y == removeEdge x y algebraic-graphs> OK: removeEdge x y . removeVertex x == removeVertex x algebraic-graphs> OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 algebraic-graphs> OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.replaceVertex ============ algebraic-graphs> OK: replaceVertex x x == id algebraic-graphs> OK: replaceVertex x y (vertex x) == vertex y algebraic-graphs> OK: replaceVertex x y == gmap (\v -> if v == x then y else v) algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.replaceEdge ============ algebraic-graphs> OK: replaceEdge e x y z == overlay (removeEdge x y z) (edge e x y) algebraic-graphs> OK: replaceEdge e x y (edge f x y) == edge e x y algebraic-graphs> OK: edgeLabel x y (replaceEdge e x y z) == e algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.transpose ============ algebraic-graphs> OK: transpose empty == empty algebraic-graphs> OK: transpose (vertex x) == vertex x algebraic-graphs> OK: transpose (edge e x y) == edge e y x algebraic-graphs> OK: transpose . transpose == id algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.gmap ============ algebraic-graphs> OK: gmap f empty == empty algebraic-graphs> OK: gmap f (vertex x) == vertex (f x) algebraic-graphs> OK: gmap f (edge e x y) == edge e (f x) (f y) algebraic-graphs> OK: gmap id == id algebraic-graphs> OK: gmap f . gmap g == gmap (f . g) algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.emap ============ algebraic-graphs> OK: emap h empty == empty algebraic-graphs> OK: emap h (vertex x) == vertex x algebraic-graphs> OK: emap h (edge e x y) == edge (h e) x y algebraic-graphs> OK: emap h (overlay x y) == overlay (emap h x) (emap h y) algebraic-graphs> OK: emap h (connect e x y) == connect (h e) (emap h x) (emap h y) algebraic-graphs> OK: emap id == id algebraic-graphs> OK: emap g . emap h == emap (g . h) algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.induce ============ algebraic-graphs> OK: induce (const True ) x == x algebraic-graphs> OK: induce (const False) x == empty algebraic-graphs> OK: induce (/= x) == removeVertex x algebraic-graphs> OK: induce p . induce q == induce (\x -> p x && q x) algebraic-graphs> OK: isSubgraphOf (induce p x) x == True algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.induceJust ============ algebraic-graphs> OK: induceJust (vertex Nothing) == empty algebraic-graphs> OK: induceJust (edge (Just x) Nothing) == vertex x algebraic-graphs> OK: induceJust . gmap Just == id algebraic-graphs> OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.closure ============ algebraic-graphs> OK: closure empty == empty algebraic-graphs> OK: closure (vertex x) == edge one x x algebraic-graphs> OK: closure (edge e x x) == edge one x x algebraic-graphs> OK: closure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)] algebraic-graphs> OK: closure == reflexiveClosure . transitiveClosure algebraic-graphs> OK: closure == transitiveClosure . reflexiveClosure algebraic-graphs> OK: closure . closure == closure algebraic-graphs> OK: postSet x (closure y) == Set.fromList (reachable y x) algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.reflexiveClosure ============ algebraic-graphs> OK: reflexiveClosure empty == empty algebraic-graphs> OK: reflexiveClosure (vertex x) == edge one x x algebraic-graphs> OK: reflexiveClosure (edge e x x) == edge one x x algebraic-graphs> OK: reflexiveClosure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)] algebraic-graphs> OK: reflexiveClosure . reflexiveClosure == reflexiveClosure algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.symmetricClosure ============ algebraic-graphs> OK: symmetricClosure empty == empty algebraic-graphs> OK: symmetricClosure (vertex x) == vertex x algebraic-graphs> OK: symmetricClosure (edge e x y) == edges [(e,x,y), (e,y,x)] algebraic-graphs> OK: symmetricClosure x == overlay x (transpose x) algebraic-graphs> OK: symmetricClosure . symmetricClosure == symmetricClosure algebraic-graphs> algebraic-graphs> ============ Labelled.AdjacencyMap.transitiveClosure ============ algebraic-graphs> OK: transitiveClosure empty == empty algebraic-graphs> OK: transitiveClosure (vertex x) == vertex x algebraic-graphs> OK: transitiveClosure (edge e x y) == edge e x y algebraic-graphs> OK: transitiveClosure . transitiveClosure == transitiveClosure algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.empty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.vertex ============ algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.edge ============ algebraic-graphs> OK: edge e x y == connect e (vertex x) (vertex y) algebraic-graphs> OK: edge zero x y == vertices [x,y] algebraic-graphs> OK: hasEdge x y (edge e x y) == (e /= mempty) algebraic-graphs> OK: edgeLabel x y (edge e x y) == e algebraic-graphs> OK: edgeCount (edge e x y) == if e == mempty then 0 else 1 algebraic-graphs> OK: vertexCount (edge e 1 1) == 1 algebraic-graphs> OK: vertexCount (edge e 1 2) == 2 algebraic-graphs> OK: x -- y == edge e x y algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.overlay ============ algebraic-graphs> OK: isEmpty (overlay x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (overlay x y) >= vertexCount x algebraic-graphs> OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (overlay x y) >= edgeCount x algebraic-graphs> OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (overlay 1 2) == 2 algebraic-graphs> OK: edgeCount (overlay 1 2) == 0 algebraic-graphs> algebraic-graphs> OK: edgeLabel x y $ overlay (edge e x y) (edge zero x y) == e algebraic-graphs> OK: edgeLabel x y $ overlay (edge e x y) (edge f x y) == e <+> f algebraic-graphs> algebraic-graphs> OK: edgeLabel 1 3 $ transitiveClosure (overlay (edge e 1 2) (edge one 2 3)) == e algebraic-graphs> OK: edgeLabel 1 3 $ transitiveClosure (overlay (edge e 1 2) (edge f 2 3)) == e <.> f algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.connect ============ algebraic-graphs> OK: isEmpty (connect e x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (connect e x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (connect e x y) >= vertexCount x algebraic-graphs> OK: vertexCount (connect e x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (connect e x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (connect e 1 2) == 2 algebraic-graphs> OK: edgeCount (connect e 1 2) == if e == zero then 0 else 1 algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.vertices ============ algebraic-graphs> OK: vertices [] == empty algebraic-graphs> OK: vertices [x] == vertex x algebraic-graphs> OK: vertices == overlays . map vertex algebraic-graphs> OK: hasVertex x . vertices == elem x algebraic-graphs> OK: vertexCount . vertices == length . nub algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.edges ============ algebraic-graphs> OK: edges [] == empty algebraic-graphs> OK: edges [(e,x,y)] == edge e x y algebraic-graphs> OK: edges == overlays . map (\(e, x, y) -> edge e x y) algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.overlays ============ algebraic-graphs> OK: overlays [] == empty algebraic-graphs> OK: overlays [x] == x algebraic-graphs> OK: overlays [x,y] == overlay x y algebraic-graphs> OK: overlays == foldr overlay empty algebraic-graphs> OK: isEmpty . overlays == all isEmpty algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.foldg ============ algebraic-graphs> OK: foldg empty vertex connect == id algebraic-graphs> OK: foldg empty vertex (fmap flip connect) == transpose algebraic-graphs> OK: foldg 1 (const 1) (const (+)) == size algebraic-graphs> OK: foldg True (const False) (const (&&)) == isEmpty algebraic-graphs> OK: foldg False (== x) (const (||)) == hasVertex x algebraic-graphs> OK: foldg Set.empty Set.singleton (const Set.union) == vertexSet algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.buildg ============ algebraic-graphs> OK: buildg (\e _ _ -> e) == empty algebraic-graphs> OK: buildg (\_ v _ -> v x) == vertex x algebraic-graphs> OK: buildg (\e v c -> c l (foldg e v c x) (foldg e v c y)) == connect l x y algebraic-graphs> OK: buildg (\e v c -> foldr (c zero) e (map v xs)) == vertices xs algebraic-graphs> OK: buildg (\e v c -> foldg e v (flip c) g) == transpose g algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.isSubgraphOf ============ algebraic-graphs> OK: isSubgraphOf empty x == True algebraic-graphs> OK: isSubgraphOf (vertex x) empty == False algebraic-graphs> OK: isSubgraphOf x y ==> x <= y algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.isEmpty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: isEmpty (overlay empty empty) == True algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: isEmpty (removeVertex x $ vertex x) == True algebraic-graphs> OK: isEmpty (removeEdge x y $ edge e x y) == False algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.size ============ algebraic-graphs> OK: size empty == 1 algebraic-graphs> OK: size (vertex x) == 1 algebraic-graphs> OK: size (overlay x y) == size x + size y algebraic-graphs> OK: size (connect x y) == size x + size y algebraic-graphs> OK: size x >= 1 algebraic-graphs> OK: size x >= vertexCount x algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.hasVertex ============ algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: hasVertex x . removeVertex x == const False algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.hasEdge ============ algebraic-graphs> OK: hasEdge x y empty == False algebraic-graphs> OK: hasEdge x y (vertex z) == False algebraic-graphs> OK: hasEdge x y (edge e x y) == (e /= zero) algebraic-graphs> OK: hasEdge x y . removeEdge x y == const False algebraic-graphs> OK: hasEdge x y == not . null . filter (\(_,ex,ey) -> ex == x && ey == y) . edgeList algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.edgeLabel ============ algebraic-graphs> OK: edgeLabel x y empty == zero algebraic-graphs> OK: edgeLabel x y (vertex z) == zero algebraic-graphs> OK: edgeLabel x y (edge e x y) == e algebraic-graphs> OK: edgeLabel s t (overlay x y) == edgeLabel s t x + edgeLabel s t y algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.vertexCount ============ algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: vertexCount == length . vertexList algebraic-graphs> OK: vertexCount x < vertexCount y ==> x < y algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.edgeCount ============ algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> OK: edgeCount (edge e x y) == if e == zero then 0 else 1 algebraic-graphs> OK: edgeCount == length . edgeList algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.vertexList ============ algebraic-graphs> OK: vertexList empty == [] algebraic-graphs> OK: vertexList (vertex x) == [x] algebraic-graphs> OK: vertexList . vertices == nub . sort algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.edgeList ============ algebraic-graphs> OK: edgeList empty == [] algebraic-graphs> OK: edgeList (vertex x) == [] algebraic-graphs> OK: edgeList (edge e x y) == if e == zero then [] else [(e,x,y)] algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.vertexSet ============ algebraic-graphs> OK: vertexSet empty == Set.empty algebraic-graphs> OK: vertexSet . vertex == Set.singleton algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.edgeSet ============ algebraic-graphs> OK: edgeSet empty == Set.empty algebraic-graphs> OK: edgeSet (vertex x) == Set.empty algebraic-graphs> OK: edgeSet (edge e x y) == if e == zero then Set.empty else Set.singleton (e,x,y) algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.preSet ============ algebraic-graphs> OK: preSet x empty == Set.empty algebraic-graphs> OK: preSet x (vertex x) == Set.empty algebraic-graphs> OK: preSet 1 (edge e 1 2) == Set.empty algebraic-graphs> OK: preSet y (edge e x y) == if e == zero then Set.empty else Set.fromList [x] algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.postSet ============ algebraic-graphs> OK: postSet x empty == Set.empty algebraic-graphs> OK: postSet x (vertex x) == Set.empty algebraic-graphs> OK: postSet x (edge e x y) == if e == zero then Set.empty else Set.fromList [y] algebraic-graphs> OK: postSet 2 (edge e 1 2) == Set.empty algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.removeVertex ============ algebraic-graphs> OK: removeVertex x (vertex x) == empty algebraic-graphs> OK: removeVertex 1 (vertex 2) == vertex 2 algebraic-graphs> OK: removeVertex x (edge e x x) == empty algebraic-graphs> OK: removeVertex 1 (edge e 1 2) == vertex 2 algebraic-graphs> OK: removeVertex x . removeVertex x == removeVertex x algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.removeEdge ============ algebraic-graphs> OK: removeEdge x y (edge e x y) == vertices [x,y] algebraic-graphs> OK: removeEdge x y . removeEdge x y == removeEdge x y algebraic-graphs> OK: removeEdge x y . removeVertex x == removeVertex x algebraic-graphs> OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 algebraic-graphs> OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.replaceVertex ============ algebraic-graphs> OK: replaceVertex x x == id algebraic-graphs> OK: replaceVertex x y (vertex x) == vertex y algebraic-graphs> OK: replaceVertex x y == fmap (\v -> if v == x then y else v) algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.replaceEdge ============ algebraic-graphs> OK: replaceEdge e x y z == overlay (removeEdge x y z) (edge e x y) algebraic-graphs> OK: replaceEdge e x y (edge f x y) == edge e x y algebraic-graphs> OK: edgeLabel x y (replaceEdge e x y z) == e algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.transpose ============ algebraic-graphs> OK: transpose empty == empty algebraic-graphs> OK: transpose (vertex x) == vertex x algebraic-graphs> OK: transpose (edge e x y) == edge e y x algebraic-graphs> OK: transpose . transpose == id algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.fmap ============ algebraic-graphs> OK: fmap f empty == empty algebraic-graphs> OK: fmap f (vertex x) == vertex (f x) algebraic-graphs> OK: fmap f (edge e x y) == edge e (f x) (f y) algebraic-graphs> OK: fmap id == id algebraic-graphs> OK: fmap f . fmap g == fmap (f . g) algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.emap ============ algebraic-graphs> OK: emap h empty == empty algebraic-graphs> OK: emap h (vertex x) == vertex x algebraic-graphs> OK: emap h (edge e x y) == edge (h e) x y algebraic-graphs> OK: emap h (overlay x y) == overlay (emap h x) (emap h y) algebraic-graphs> OK: emap h (connect e x y) == connect (h e) (emap h x) (emap h y) algebraic-graphs> OK: emap id == id algebraic-graphs> OK: emap g . emap h == emap (g . h) algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.induce ============ algebraic-graphs> OK: induce (const True ) x == x algebraic-graphs> OK: induce (const False) x == empty algebraic-graphs> OK: induce (/= x) == removeVertex x algebraic-graphs> OK: induce p . induce q == induce (\x -> p x && q x) algebraic-graphs> OK: isSubgraphOf (induce p x) x == True algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.induceJust ============ algebraic-graphs> OK: induceJust (vertex Nothing) == empty algebraic-graphs> OK: induceJust (edge (Just x) Nothing) == vertex x algebraic-graphs> OK: induceJust . gmap Just == id algebraic-graphs> OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.closure ============ algebraic-graphs> OK: closure empty == empty algebraic-graphs> OK: closure (vertex x) == edge one x x algebraic-graphs> OK: closure (edge e x x) == edge one x x algebraic-graphs> OK: closure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)] algebraic-graphs> OK: closure == reflexiveClosure . transitiveClosure algebraic-graphs> OK: closure == transitiveClosure . reflexiveClosure algebraic-graphs> OK: closure . closure == closure algebraic-graphs> OK: postSet x (closure y) == Set.fromList (reachable y x) algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.reflexiveClosure ============ algebraic-graphs> OK: reflexiveClosure empty == empty algebraic-graphs> OK: reflexiveClosure (vertex x) == edge one x x algebraic-graphs> OK: reflexiveClosure (edge e x x) == edge one x x algebraic-graphs> OK: reflexiveClosure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)] algebraic-graphs> OK: reflexiveClosure . reflexiveClosure == reflexiveClosure algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.symmetricClosure ============ algebraic-graphs> OK: symmetricClosure empty == empty algebraic-graphs> OK: symmetricClosure (vertex x) == vertex x algebraic-graphs> OK: symmetricClosure (edge e x y) == edges [(e,x,y), (e,y,x)] algebraic-graphs> OK: symmetricClosure x == overlay x (transpose x) algebraic-graphs> OK: symmetricClosure . symmetricClosure == symmetricClosure algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.transitiveClosure ============ algebraic-graphs> OK: transitiveClosure empty == empty algebraic-graphs> OK: transitiveClosure (vertex x) == vertex x algebraic-graphs> OK: transitiveClosure (edge e x y) == edge e x y algebraic-graphs> OK: transitiveClosure . transitiveClosure == transitiveClosure algebraic-graphs> algebraic-graphs> ============ Labelled.Graph.context ============ algebraic-graphs> OK: context (const False) x == Nothing algebraic-graphs> OK: context (== 1) (edge e 1 2) == if e == zero then Just (Context [] []) else Just (Context [] [(e,2)]) algebraic-graphs> OK: context (== 2) (edge e 1 2) == if e == zero then Just (Context [] []) else Just (Context [(e,1)] [] ) algebraic-graphs> OK: context (const True ) (edge e 1 2) == if e == zero then Just (Context [] []) else Just (Context [(e,1)] [(e,2)]) algebraic-graphs> OK: context (== 4) (3 * 1 * 4 * 1 * 5) == Just (Context [(one,3), (one,1)] [(one,1), (one,5)]) algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap ============ algebraic-graphs> OK: Axioms of non-empty graphs algebraic-graphs> OK: Theorems of non-empty graphs algebraic-graphs> algebraic-graphs> ============ Ord (NonEmpty.AdjacencyMap a) ============ algebraic-graphs> OK: vertex 1 < vertex 2 algebraic-graphs> OK: vertex 3 < edge 1 2 algebraic-graphs> OK: vertex 1 < edge 1 1 algebraic-graphs> OK: edge 1 1 < edge 1 2 algebraic-graphs> OK: edge 1 2 < edge 1 1 + edge 2 2 algebraic-graphs> OK: edge 1 2 < edge 1 3 algebraic-graphs> OK: x <= x + y algebraic-graphs> OK: x + y <= x * y algebraic-graphs> algebraic-graphs> ============ Show (NonEmpty.AdjacencyMap a) ============ algebraic-graphs> OK: show (1 :: AdjacencyMap Int) == "vertex 1" algebraic-graphs> OK: show (1 + 2 :: AdjacencyMap Int) == "vertices1 [1,2]" algebraic-graphs> OK: show (1 * 2 :: AdjacencyMap Int) == "edge 1 2" algebraic-graphs> OK: show (1 * 2 * 3 :: AdjacencyMap Int) == "edges1 [(1,2),(1,3),(2,3)]" algebraic-graphs> OK: show (1 * 2 + 3 :: AdjacencyMap Int) == "overlay (vertex 3) (edge 1 2)" algebraic-graphs> OK: show (vertex (-1) :: AdjacencyMap Int) == "vertex (-1)" algebraic-graphs> OK: show (vertex (-1) + vertex (-2) :: AdjacencyMap Int) == "vertices1 [-2,-1]" algebraic-graphs> OK: show (vertex (-1) * vertex (-2) :: AdjacencyMap Int) == "edge (-1) (-2)" algebraic-graphs> OK: show (vertex (-1) * vertex (-2) * vertex (-3) :: AdjacencyMap Int) == "edges1 [(-2,-3),(-1,-3),(-1,-2)]" algebraic-graphs> OK: show (vertex (-1) * vertex (-2) + vertex (-3) :: AdjacencyMap Int) == "overlay (vertex (-3)) (edge (-1) (-2))" algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.toNonEmpty ============ algebraic-graphs> OK: toNonEmpty empty == Nothing algebraic-graphs> OK: toNonEmpty . fromNonEmpty == Just algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.fromNonEmpty ============ algebraic-graphs> OK: isEmpty . fromNonEmpty == const False algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.vertex ============ algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.edge ============ algebraic-graphs> OK: edge x y == connect (vertex x) (vertex y) algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: vertexCount (edge 1 1) == 1 algebraic-graphs> OK: vertexCount (edge 1 2) == 2 algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.overlay ============ algebraic-graphs> OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (overlay x y) >= vertexCount x algebraic-graphs> OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (overlay x y) >= edgeCount x algebraic-graphs> OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (overlay 1 2) == 2 algebraic-graphs> OK: edgeCount (overlay 1 2) == 0 algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.connect ============ algebraic-graphs> OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (connect x y) >= vertexCount x algebraic-graphs> OK: vertexCount (connect x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount x algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount y algebraic-graphs> OK: edgeCount (connect x y) >= vertexCount x * vertexCount y algebraic-graphs> OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (connect 1 2) == 2 algebraic-graphs> OK: edgeCount (connect 1 2) == 1 algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.vertices1 ============ algebraic-graphs> OK: vertices1 [x] == vertex x algebraic-graphs> OK: hasVertex x . vertices1 == elem x algebraic-graphs> OK: vertexCount . vertices1 == length . nub algebraic-graphs> OK: vertexSet . vertices1 == Set.fromList . toList algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.edges1 ============ algebraic-graphs> OK: edges1 [(x,y)] == edge x y algebraic-graphs> OK: edges1 == overlays1 . fmap (uncurry edge) algebraic-graphs> OK: edgeCount . edges1 == length . nub algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.overlays1 ============ algebraic-graphs> OK: overlays1 [x] == x algebraic-graphs> OK: overlays1 [x,y] == overlay x y algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.connects1 ============ algebraic-graphs> OK: connects1 [x] == x algebraic-graphs> OK: connects1 [x,y] == connect x y algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.isSubgraphOf ============ algebraic-graphs> OK: isSubgraphOf x (overlay x y) == True algebraic-graphs> OK: isSubgraphOf (overlay x y) (connect x y) == True algebraic-graphs> OK: isSubgraphOf (path1 xs) (circuit1 xs) == True algebraic-graphs> OK: isSubgraphOf x y ==> x <= y algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.hasVertex ============ algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.hasEdge ============ algebraic-graphs> OK: hasEdge x y (vertex z) == False algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: hasEdge x y . removeEdge x y == const False algebraic-graphs> OK: hasEdge x y == elem (x,y) . edgeList algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.vertexCount ============ algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: vertexCount x >= 1 algebraic-graphs> OK: vertexCount == length . vertexList1 algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.edgeCount ============ algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: edgeCount == length . edgeList algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.vertexList1 ============ algebraic-graphs> OK: vertexList1 (vertex x) == [x] algebraic-graphs> OK: vertexList1 . vertices1 == nub . sort algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.edgeList ============ algebraic-graphs> OK: edgeList (vertex x) == [] algebraic-graphs> OK: edgeList (edge x y) == [(x,y)] algebraic-graphs> OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)] algebraic-graphs> OK: edgeList . edges1 == nub . sort . toList algebraic-graphs> OK: edgeList . transpose == sort . map swap . edgeList algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.vertexSet ============ algebraic-graphs> OK: vertexSet . vertex == Set.singleton algebraic-graphs> OK: vertexSet . vertices1 == Set.fromList . toList algebraic-graphs> OK: vertexSet . clique1 == Set.fromList . toList algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.edgeSet ============ algebraic-graphs> OK: edgeSet (vertex x) == Set.empty algebraic-graphs> OK: edgeSet (edge x y) == Set.singleton (x,y) algebraic-graphs> OK: edgeSet . edges1 == Set.fromList . toList algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.preSet ============ algebraic-graphs> OK: preSet x (vertex x) == Set.empty algebraic-graphs> OK: preSet 1 (edge 1 2) == Set.empty algebraic-graphs> OK: preSet y (edge x y) == Set.fromList [x] algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.postSet ============ algebraic-graphs> OK: postSet x (vertex x) == Set.empty algebraic-graphs> OK: postSet x (edge x y) == Set.fromList [y] algebraic-graphs> OK: postSet 2 (edge 1 2) == Set.empty algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.path1 ============ algebraic-graphs> OK: path1 [x] == vertex x algebraic-graphs> OK: path1 [x,y] == edge x y algebraic-graphs> OK: path1 . reverse == transpose . path1 algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.circuit1 ============ algebraic-graphs> OK: circuit1 [x] == edge x x algebraic-graphs> OK: circuit1 [x,y] == edges1 [(x,y), (y,x)] algebraic-graphs> OK: circuit1 . reverse == transpose . circuit1 algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.clique1 ============ algebraic-graphs> OK: clique1 [x] == vertex x algebraic-graphs> OK: clique1 [x,y] == edge x y algebraic-graphs> OK: clique1 [x,y,z] == edges1 [(x,y), (x,z), (y,z)] algebraic-graphs> OK: clique1 (xs <> ys) == connect (clique1 xs) (clique1 ys) algebraic-graphs> OK: clique1 . reverse == transpose . clique1 algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.biclique1 ============ algebraic-graphs> OK: biclique1 [x1,x2] [y1,y2] == edges1 [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] algebraic-graphs> OK: biclique1 xs ys == connect (vertices1 xs) (vertices1 ys) algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.star ============ algebraic-graphs> OK: star x [] == vertex x algebraic-graphs> OK: star x [y] == edge x y algebraic-graphs> OK: star x [y,z] == edges1 [(x,y), (x,z)] algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.stars1 ============ algebraic-graphs> OK: stars1 [(x, [] )] == vertex x algebraic-graphs> OK: stars1 [(x, [y])] == edge x y algebraic-graphs> OK: stars1 [(x, ys )] == star x ys algebraic-graphs> OK: stars1 == overlays1 . fmap (uncurry star) algebraic-graphs> OK: overlay (stars1 xs) (stars1 ys) == stars1 (xs <> ys) algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.tree ============ algebraic-graphs> OK: tree (Node x []) == vertex x algebraic-graphs> OK: tree (Node x [Node y [Node z []]]) == path1 [x,y,z] algebraic-graphs> OK: tree (Node x [Node y [], Node z []]) == star x [y,z] algebraic-graphs> OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges1 [(1,2), (1,3), (3,4), (3,5)] algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.removeVertex1 ============ algebraic-graphs> OK: removeVertex1 x (vertex x) == Nothing algebraic-graphs> OK: removeVertex1 1 (vertex 2) == Just (vertex 2) algebraic-graphs> OK: removeVertex1 x (edge x x) == Nothing algebraic-graphs> OK: removeVertex1 1 (edge 1 2) == Just (vertex 2) algebraic-graphs> OK: removeVertex1 x >=> removeVertex1 x == removeVertex1 x algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.removeEdge ============ algebraic-graphs> OK: removeEdge x y (edge x y) == vertices1 [x,y] algebraic-graphs> OK: removeEdge x y . removeEdge x y == removeEdge x y algebraic-graphs> OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 algebraic-graphs> OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.replaceVertex ============ algebraic-graphs> OK: replaceVertex x x == id algebraic-graphs> OK: replaceVertex x y (vertex x) == vertex y algebraic-graphs> OK: replaceVertex x y == mergeVertices (== x) y algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.mergeVertices ============ algebraic-graphs> OK: mergeVertices (const False) x == id algebraic-graphs> OK: mergeVertices (== x) y == replaceVertex x y algebraic-graphs> OK: mergeVertices even 1 (0 * 2) == 1 * 1 algebraic-graphs> OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.transpose ============ algebraic-graphs> OK: transpose (vertex x) == vertex x algebraic-graphs> OK: transpose (edge x y) == edge y x algebraic-graphs> OK: transpose . transpose == id algebraic-graphs> OK: edgeList . transpose == sort . map swap . edgeList algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.gmap ============ algebraic-graphs> OK: gmap f (vertex x) == vertex (f x) algebraic-graphs> OK: gmap f (edge x y) == edge (f x) (f y) algebraic-graphs> OK: gmap id == id algebraic-graphs> OK: gmap f . gmap g == gmap (f . g) algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.induce1 ============ algebraic-graphs> OK: induce1 (const True ) x == Just x algebraic-graphs> OK: induce1 (const False) x == Nothing algebraic-graphs> OK: induce1 (/= x) == removeVertex1 x algebraic-graphs> OK: induce1 p >=> induce1 q == induce1 (\x -> p x && q x) algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.induceJust1 ============ algebraic-graphs> OK: induceJust1 (vertex Nothing) == Nothing algebraic-graphs> OK: induceJust1 (edge (Just x) Nothing) == Just (vertex x) algebraic-graphs> OK: induceJust1 . gmap Just == Just algebraic-graphs> OK: induceJust1 . gmap (\x -> if p x then Just x else Nothing) == induce1 p algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.closure ============ algebraic-graphs> OK: closure (vertex x) == edge x x algebraic-graphs> OK: closure (edge x x) == edge x x algebraic-graphs> OK: closure (edge x y) == edges1 [(x,x), (x,y), (y,y)] algebraic-graphs> OK: closure (path1 $ nub xs) == reflexiveClosure (clique1 $ nub xs) algebraic-graphs> OK: closure == reflexiveClosure . transitiveClosure algebraic-graphs> OK: closure == transitiveClosure . reflexiveClosure algebraic-graphs> OK: closure . closure == closure algebraic-graphs> OK: postSet x (closure y) == Set.fromList (reachable y x) algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.reflexiveClosure ============ algebraic-graphs> OK: reflexiveClosure (vertex x) == edge x x algebraic-graphs> OK: reflexiveClosure (edge x x) == edge x x algebraic-graphs> OK: reflexiveClosure (edge x y) == edges1 [(x,x), (x,y), (y,y)] algebraic-graphs> OK: reflexiveClosure . reflexiveClosure == reflexiveClosure algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.symmetricClosure ============ algebraic-graphs> OK: symmetricClosure (vertex x) == vertex x algebraic-graphs> OK: symmetricClosure (edge x y) == edges1 [(x,y), (y,x)] algebraic-graphs> OK: symmetricClosure x == overlay x (transpose x) algebraic-graphs> OK: symmetricClosure . symmetricClosure == symmetricClosure algebraic-graphs> algebraic-graphs> ============ NonEmpty.AdjacencyMap.transitiveClosure ============ algebraic-graphs> OK: transitiveClosure (vertex x) == vertex x algebraic-graphs> OK: transitiveClosure (edge x y) == edge x y algebraic-graphs> OK: transitiveClosure (path1 $ nub xs) == clique1 (nub $ xs) algebraic-graphs> OK: transitiveClosure . transitiveClosure == transitiveClosure algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.============ algebraic-graphs> OK: Axioms of non-empty graphs algebraic-graphs> OK: Theorems of non-empty graphs algebraic-graphs> algebraic-graphs> ============ Ord (NonEmpty.Graph a) ============ algebraic-graphs> OK: vertex 1 < vertex 2 algebraic-graphs> OK: vertex 3 < edge 1 2 algebraic-graphs> OK: vertex 1 < edge 1 1 algebraic-graphs> OK: edge 1 1 < edge 1 2 algebraic-graphs> OK: edge 1 2 < edge 1 1 + edge 2 2 algebraic-graphs> OK: edge 1 2 < edge 1 3 algebraic-graphs> OK: x <= x + y algebraic-graphs> OK: x + y <= x * y algebraic-graphs> algebraic-graphs> ============ Functor (NonEmpty.Graph a) ============ algebraic-graphs> OK: fmap f (vertex x) == vertex (f x) algebraic-graphs> OK: fmap f (edge x y) == edge (f x) (f y) algebraic-graphs> OK: fmap id == id algebraic-graphs> OK: fmap f . fmap g == fmap (f . g) algebraic-graphs> algebraic-graphs> ============ Monad (NonEmpty.Graph a) ============ algebraic-graphs> OK: (vertex x >>= f) == f x algebraic-graphs> OK: (edge x y >>= f) == connect (f x) (f y) algebraic-graphs> OK: (vertices1 xs >>= f) == overlays1 (fmap f xs) algebraic-graphs> OK: (x >>= vertex) == x algebraic-graphs> OK: ((x >>= f) >>= g) == (x >>= (\y -> (f y) >>= g)) algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.toNonEmpty ============ algebraic-graphs> OK: toNonEmpty empty == Nothing algebraic-graphs> OK: toNonEmpty (toGraph x) == Just (x :: NonEmpty.Graph a) algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.vertex ============ algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> OK: size (vertex x) == 1 algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.edge ============ algebraic-graphs> OK: edge x y == connect (vertex x) (vertex y) algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: vertexCount (edge 1 1) == 1 algebraic-graphs> OK: vertexCount (edge 1 2) == 2 algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.overlay ============ algebraic-graphs> OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (overlay x y) >= vertexCount x algebraic-graphs> OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (overlay x y) >= edgeCount x algebraic-graphs> OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y algebraic-graphs> OK: size (overlay x y) == size x + size y algebraic-graphs> OK: vertexCount (overlay 1 2) == 2 algebraic-graphs> OK: edgeCount (overlay 1 2) == 0 algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.overlay1 ============ algebraic-graphs> OK: overlay1 empty x == x algebraic-graphs> OK: x /= empty ==> overlay1 x y == overlay (fromJust $ toNonEmpty x) y algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.connect ============ algebraic-graphs> OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (connect x y) >= vertexCount x algebraic-graphs> OK: vertexCount (connect x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount x algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount y algebraic-graphs> OK: edgeCount (connect x y) >= vertexCount x * vertexCount y algebraic-graphs> OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y algebraic-graphs> OK: size (connect x y) == size x + size y algebraic-graphs> OK: vertexCount (connect 1 2) == 2 algebraic-graphs> OK: edgeCount (connect 1 2) == 1 algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.vertices1 ============ algebraic-graphs> OK: vertices1 [x] == vertex x algebraic-graphs> OK: hasVertex x . vertices1 == elem x algebraic-graphs> OK: vertexCount . vertices1 == length . nub algebraic-graphs> OK: vertexSet . vertices1 == Set.fromList . toList algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.edges1 ============ algebraic-graphs> OK: edges1 [(x,y)] == edge x y algebraic-graphs> OK: edges1 == overlays1 . fmap (uncurry edge) algebraic-graphs> OK: edgeCount . edges1 == length . nub algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.overlays1 ============ algebraic-graphs> OK: overlays1 [x] == x algebraic-graphs> OK: overlays1 [x,y] == overlay x y algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.connects1 ============ algebraic-graphs> OK: connects1 [x] == x algebraic-graphs> OK: connects1 [x,y] == connect x y algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.foldg1 ============ algebraic-graphs> OK: foldg1 vertex overlay connect == id algebraic-graphs> OK: foldg1 vertex overlay (flip connect) == transpose algebraic-graphs> OK: foldg1 (const 1) (+) (+) == size algebraic-graphs> OK: foldg1 (== x) (||) (||) == hasVertex x algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.isSubgraphOf ============ algebraic-graphs> OK: isSubgraphOf x (overlay x y) == True algebraic-graphs> OK: isSubgraphOf (overlay x y) (connect x y) == True algebraic-graphs> OK: isSubgraphOf (path1 xs) (circuit1 xs) == True algebraic-graphs> OK: isSubgraphOf x y ==> x <= y algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.(===) ============ algebraic-graphs> OK: x === x == True algebraic-graphs> OK: x + y === x + y == True algebraic-graphs> OK: 1 + 2 === 2 + 1 == False algebraic-graphs> OK: x + y === x * y == False algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.size ============ algebraic-graphs> OK: size (vertex x) == 1 algebraic-graphs> OK: size (overlay x y) == size x + size y algebraic-graphs> OK: size (connect x y) == size x + size y algebraic-graphs> OK: size x >= 1 algebraic-graphs> OK: size x >= vertexCount x algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.hasVertex ============ algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.hasEdge ============ algebraic-graphs> OK: hasEdge x y (vertex z) == False algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: hasEdge x y . removeEdge x y == const False algebraic-graphs> OK: hasEdge x y == elem (x,y) . edgeList algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.vertexCount ============ algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: vertexCount x >= 1 algebraic-graphs> OK: vertexCount == length . vertexList1 algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.edgeCount ============ algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: edgeCount == length . edgeList algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.vertexList1 ============ algebraic-graphs> OK: vertexList1 (vertex x) == [x] algebraic-graphs> OK: vertexList1 . vertices1 == nub . sort algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.edgeList ============ algebraic-graphs> OK: edgeList (vertex x) == [] algebraic-graphs> OK: edgeList (edge x y) == [(x,y)] algebraic-graphs> OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)] algebraic-graphs> OK: edgeList . edges1 == nub . sort . toList algebraic-graphs> OK: edgeList . transpose == sort . map swap . edgeList algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.vertexSet ============ algebraic-graphs> OK: vertexSet . vertex == Set.singleton algebraic-graphs> OK: vertexSet . vertices1 == Set.fromList . toList algebraic-graphs> OK: vertexSet . clique1 == Set.fromList . toList algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.edgeSet ============ algebraic-graphs> OK: edgeSet (vertex x) == Set.empty algebraic-graphs> OK: edgeSet (edge x y) == Set.singleton (x,y) algebraic-graphs> OK: edgeSet . edges1 == Set.fromList . toList algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.path1 ============ algebraic-graphs> OK: path1 [x] == vertex x algebraic-graphs> OK: path1 [x,y] == edge x y algebraic-graphs> OK: path1 . reverse == transpose . path1 algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.circuit1 ============ algebraic-graphs> OK: circuit1 [x] == edge x x algebraic-graphs> OK: circuit1 [x,y] == edges1 [(x,y), (y,x)] algebraic-graphs> OK: circuit1 . reverse == transpose . circuit1 algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.clique1 ============ algebraic-graphs> OK: clique1 [x] == vertex x algebraic-graphs> OK: clique1 [x,y] == edge x y algebraic-graphs> OK: clique1 [x,y,z] == edges1 [(x,y), (x,z), (y,z)] algebraic-graphs> OK: clique1 (xs <> ys) == connect (clique1 xs) (clique1 ys) algebraic-graphs> OK: clique1 . reverse == transpose . clique1 algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.biclique1 ============ algebraic-graphs> OK: biclique1 [x1,x2] [y1,y2] == edges1 [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] algebraic-graphs> OK: biclique1 xs ys == connect (vertices1 xs) (vertices1 ys) algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.star ============ algebraic-graphs> OK: star x [] == vertex x algebraic-graphs> OK: star x [y] == edge x y algebraic-graphs> OK: star x [y,z] == edges1 [(x,y), (x,z)] algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.stars1 ============ algebraic-graphs> OK: stars1 [(x, [] )] == vertex x algebraic-graphs> OK: stars1 [(x, [y])] == edge x y algebraic-graphs> OK: stars1 [(x, ys )] == star x ys algebraic-graphs> OK: stars1 == overlays1 . fmap (uncurry star) algebraic-graphs> OK: overlay (stars1 xs) (stars1 ys) == stars1 (xs <> ys) algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.tree ============ algebraic-graphs> OK: tree (Node x []) == vertex x algebraic-graphs> OK: tree (Node x [Node y [Node z []]]) == path1 [x,y,z] algebraic-graphs> OK: tree (Node x [Node y [], Node z []]) == star x [y,z] algebraic-graphs> OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges1 [(1,2), (1,3), (3,4), (3,5)] algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.mesh1 ============ algebraic-graphs> OK: mesh1 [x] [y] == vertex (x, y) algebraic-graphs> OK: mesh1 xs ys == box (path1 xs) (path1 ys) algebraic-graphs> OK: mesh1 [1,2,3] ['a', 'b'] == algebraic-graphs> OK: size (mesh xs ys) == max 1 (3 * length xs * length ys - length xs - length ys -1) algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.torus1 ============ algebraic-graphs> OK: torus1 [x] [y] == edge (x,y) (x,y) algebraic-graphs> OK: torus1 xs ys == box (circuit1 xs) (circuit1 ys) algebraic-graphs> OK: torus1 [1,2] ['a', 'b'] == algebraic-graphs> OK: size (torus1 xs ys) == max 1 (3 * length xs * length ys) algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.removeVertex1 ============ algebraic-graphs> OK: removeVertex1 x (vertex x) == Nothing algebraic-graphs> OK: removeVertex1 1 (vertex 2) == Just (vertex 2) algebraic-graphs> OK: removeVertex1 x (edge x x) == Nothing algebraic-graphs> OK: removeVertex1 1 (edge 1 2) == Just (vertex 2) algebraic-graphs> OK: removeVertex1 x >=> removeVertex1 x == removeVertex1 x algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.removeEdge ============ algebraic-graphs> OK: removeEdge x y (edge x y) == vertices1 [x,y] algebraic-graphs> OK: removeEdge x y . removeEdge x y == removeEdge x y algebraic-graphs> OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 algebraic-graphs> OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 algebraic-graphs> OK: size (removeEdge x y z) <= 3 * size z algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.replaceVertex ============ algebraic-graphs> OK: replaceVertex x x == id algebraic-graphs> OK: replaceVertex x y (vertex x) == vertex y algebraic-graphs> OK: replaceVertex x y == mergeVertices (== x) y algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.mergeVertices ============ algebraic-graphs> OK: mergeVertices (const False) x == id algebraic-graphs> OK: mergeVertices (== x) y == replaceVertex x y algebraic-graphs> OK: mergeVertices even 1 (0 * 2) == 1 * 1 algebraic-graphs> OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.splitVertex1 ============ algebraic-graphs> OK: splitVertex1 x [x] == id algebraic-graphs> OK: splitVertex1 x [y] == replaceVertex x y algebraic-graphs> OK: splitVertex1 1 [0,1] $ 1 * (2 + 3) == (0 + 1) * (2 + 3) algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.transpose ============ algebraic-graphs> OK: transpose (vertex x) == vertex x algebraic-graphs> OK: transpose (edge x y) == edge y x algebraic-graphs> OK: transpose . transpose == id algebraic-graphs> OK: transpose (box x y) == box (transpose x) (transpose y) algebraic-graphs> OK: edgeList . transpose == sort . map swap . edgeList algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.induce1 ============ algebraic-graphs> OK: induce1 (const True ) x == Just x algebraic-graphs> OK: induce1 (const False) x == Nothing algebraic-graphs> OK: induce1 (/= x) == removeVertex1 x algebraic-graphs> OK: induce1 p >=> induce1 q == induce1 (\x -> p x && q x) algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.induceJust1 ============ algebraic-graphs> OK: induceJust1 (vertex Nothing) == Nothing algebraic-graphs> OK: induceJust1 (edge (Just x) Nothing) == Just (vertex x) algebraic-graphs> OK: induceJust1 . fmap Just == Just algebraic-graphs> OK: induceJust1 . fmap (\x -> if p x then Just x else Nothing) == induce1 p algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.simplify ============ algebraic-graphs> OK: simplify == id algebraic-graphs> OK: size (simplify x) <= size x algebraic-graphs> OK: simplify 1 === 1 algebraic-graphs> OK: simplify (1 + 1) === 1 algebraic-graphs> OK: simplify (1 + 2 + 1) === 1 + 2 algebraic-graphs> OK: simplify (1 * 1 * 1) === 1 * 1 algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.sparsify ============ algebraic-graphs> OK: sort . reachable x == sort . rights . reachable (sparsify x) . Right algebraic-graphs> OK: vertexCount (sparsify x) <= vertexCount x + size x + 1 algebraic-graphs> OK: edgeCount (sparsify x) <= 3 * size x algebraic-graphs> OK: size (sparsify x) <= 3 * size x algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.sparsifyKL ============ algebraic-graphs> OK: sort . reachable x == sort . filter (<= n) . reachable (sparsifyKL n x) algebraic-graphs> OK: length (vertices $ sparsifyKL n x) <= vertexCount x + size x + 1 algebraic-graphs> OK: length (edges $ sparsifyKL n x) <= 3 * size x algebraic-graphs> algebraic-graphs> ============ NonEmpty.Graph.box ============ algebraic-graphs> OK: box (path1 [0,1]) (path1 ['a','b']) == algebraic-graphs> OK: box x y ~~ box y x algebraic-graphs> OK: box x (overlay y z) == overlay (box x y) (box x z) algebraic-graphs> OK: box x (vertex ()) ~~ x algebraic-graphs> OK: box x (box y z) ~~ box (box x y) z algebraic-graphs> OK: transpose (box x y) == box (transpose x) (transpose y) algebraic-graphs> OK: vertexCount (box x y) == vertexCount x * vertexCount y algebraic-graphs> OK: edgeCount (box x y) <= vertexCount x * edgeCount y + edgeCount x * vertexCount y algebraic-graphs> algebraic-graphs> ============ Relation ============ algebraic-graphs> OK: Axioms of graphs algebraic-graphs> algebraic-graphs> ============ Relation.consistent ============ algebraic-graphs> OK: Consistency of the Arbitrary instance algebraic-graphs> algebraic-graphs> OK: consistent empty == True algebraic-graphs> OK: consistent (vertex x) == True algebraic-graphs> OK: consistent (overlay x y) == True algebraic-graphs> OK: consistent (connect x y) == True algebraic-graphs> OK: consistent (edge x y) == True algebraic-graphs> OK: consistent (edges xs) == True algebraic-graphs> OK: consistent (stars xs) == True algebraic-graphs> algebraic-graphs> ============ Relation.Show ============ algebraic-graphs> OK: show (empty ) == "empty" algebraic-graphs> OK: show (1 ) == "vertex 1" algebraic-graphs> OK: show (1 + 2 ) == "vertices [1,2]" algebraic-graphs> OK: show (1 * 2 ) == "edge 1 2" algebraic-graphs> OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]" algebraic-graphs> OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)" algebraic-graphs> algebraic-graphs> OK: show (vertex (-1) ) == "vertex (-1)" algebraic-graphs> OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]" algebraic-graphs> OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)" algebraic-graphs> OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]" algebraic-graphs> OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))" algebraic-graphs> algebraic-graphs> ============ Relation.Ord ============ algebraic-graphs> OK: vertex 1 < vertex 2 algebraic-graphs> OK: vertex 3 < edge 1 2 algebraic-graphs> OK: vertex 1 < edge 1 1 algebraic-graphs> OK: edge 1 1 < edge 1 2 algebraic-graphs> OK: edge 1 2 < edge 1 1 + edge 2 2 algebraic-graphs> OK: edge 1 2 < edge 1 3 algebraic-graphs> OK: x <= x + y algebraic-graphs> OK: x + y <= x * y algebraic-graphs> algebraic-graphs> ============ Relation.empty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> algebraic-graphs> ============ Relation.vertex ============ algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> algebraic-graphs> ============ Relation.edge ============ algebraic-graphs> OK: edge x y == connect (vertex x) (vertex y) algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: vertexCount (edge 1 1) == 1 algebraic-graphs> OK: vertexCount (edge 1 2) == 2 algebraic-graphs> algebraic-graphs> ============ Relation.overlay ============ algebraic-graphs> OK: isEmpty (overlay x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (overlay x y) >= vertexCount x algebraic-graphs> OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (overlay x y) >= edgeCount x algebraic-graphs> OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (overlay 1 2) == 2 algebraic-graphs> OK: edgeCount (overlay 1 2) == 0 algebraic-graphs> algebraic-graphs> ============ Relation.connect ============ algebraic-graphs> OK: isEmpty (connect x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (connect x y) >= vertexCount x algebraic-graphs> OK: vertexCount (connect x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount x algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount y algebraic-graphs> OK: edgeCount (connect x y) >= vertexCount x * vertexCount y algebraic-graphs> OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (connect 1 2) == 2 algebraic-graphs> OK: edgeCount (connect 1 2) == 1 algebraic-graphs> algebraic-graphs> ============ Relation.vertices ============ algebraic-graphs> OK: vertices [] == empty algebraic-graphs> OK: vertices [x] == vertex x algebraic-graphs> OK: vertices == overlays . map vertex algebraic-graphs> OK: hasVertex x . vertices == elem x algebraic-graphs> OK: vertexCount . vertices == length . nub algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ Relation.edges ============ algebraic-graphs> OK: edges [] == empty algebraic-graphs> OK: edges [(x,y)] == edge x y algebraic-graphs> OK: edges == overlays . map (uncurry edge) algebraic-graphs> OK: edgeCount . edges == length . nub algebraic-graphs> algebraic-graphs> ============ Relation.overlays ============ algebraic-graphs> OK: overlays [] == empty algebraic-graphs> OK: overlays [x] == x algebraic-graphs> OK: overlays [x,y] == overlay x y algebraic-graphs> OK: overlays == foldr overlay empty algebraic-graphs> OK: isEmpty . overlays == all isEmpty algebraic-graphs> algebraic-graphs> ============ Relation.connects ============ algebraic-graphs> OK: connects [] == empty algebraic-graphs> OK: connects [x] == x algebraic-graphs> OK: connects [x,y] == connect x y algebraic-graphs> OK: connects == foldr connect empty algebraic-graphs> OK: isEmpty . connects == all isEmpty algebraic-graphs> algebraic-graphs> ============ Relation.isSubgraphOf ============ algebraic-graphs> OK: isSubgraphOf empty x == True algebraic-graphs> OK: isSubgraphOf (vertex x) empty == False algebraic-graphs> OK: isSubgraphOf x (overlay x y) == True algebraic-graphs> OK: isSubgraphOf (overlay x y) (connect x y) == True algebraic-graphs> OK: isSubgraphOf (path xs) (circuit xs) == True algebraic-graphs> OK: isSubgraphOf x y ==> x <= y algebraic-graphs> algebraic-graphs> ============ Relation.toGraph et al. ============ algebraic-graphs> OK: toGraph == foldg Empty Vertex Overlay Connect algebraic-graphs> OK: foldg == Algebra.Graph.foldg . toGraph algebraic-graphs> OK: isEmpty == foldg True (const False) (&&) (&&) algebraic-graphs> OK: size == foldg 1 (const 1) (+) (+) algebraic-graphs> OK: hasVertex x == foldg False (==x) (||) (||) algebraic-graphs> OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph algebraic-graphs> OK: vertexCount == Set.size . vertexSet algebraic-graphs> OK: edgeCount == Set.size . edgeSet algebraic-graphs> OK: vertexList == Set.toAscList . vertexSet algebraic-graphs> OK: edgeList == Set.toAscList . edgeSet algebraic-graphs> OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union algebraic-graphs> OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union algebraic-graphs> OK: edgeSet == Algebra.Graph.AdjacencyMap.edgeSet . foldg empty vertex overlay connect algebraic-graphs> OK: preSet x == Algebra.Graph.AdjacencyMap.preSet x . toAdjacencyMap algebraic-graphs> OK: preIntSet x == Algebra.Graph.AdjacencyIntMap.preIntSet x . toAdjacencyIntMap algebraic-graphs> OK: postSet x == Algebra.Graph.AdjacencyMap.postSet x . toAdjacencyMap algebraic-graphs> OK: postIntSet x == Algebra.Graph.AdjacencyIntMap.postIntSet x . toAdjacencyIntMap algebraic-graphs> OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap algebraic-graphs> OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap algebraic-graphs> OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap algebraic-graphs> OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose algebraic-graphs> OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose algebraic-graphs> OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap algebraic-graphs> OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap algebraic-graphs> OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap algebraic-graphs> OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap algebraic-graphs> OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap algebraic-graphs> OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap algebraic-graphs> OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap algebraic-graphs> OK: toAdjacencyMap == foldg empty vertex overlay connect algebraic-graphs> OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect) algebraic-graphs> OK: toAdjacencyIntMap == foldg empty vertex overlay connect algebraic-graphs> OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect) algebraic-graphs> OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap algebraic-graphs> OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap algebraic-graphs> algebraic-graphs> ============ Relation.foldg ============ algebraic-graphs> OK: foldg empty vertex overlay connect == id algebraic-graphs> OK: foldg empty vertex overlay (flip connect) == transpose algebraic-graphs> OK: foldg 1 (const 1) (+) (+) == size algebraic-graphs> OK: foldg True (const False) (&&) (&&) == isEmpty algebraic-graphs> algebraic-graphs> ============ Relation.isEmpty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: isEmpty (overlay empty empty) == True algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: isEmpty (removeVertex x $ vertex x) == True algebraic-graphs> OK: isEmpty (removeEdge x y $ edge x y) == False algebraic-graphs> algebraic-graphs> ============ Relation.hasVertex ============ algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: hasVertex x . removeVertex x == const False algebraic-graphs> algebraic-graphs> ============ Relation.hasEdge ============ algebraic-graphs> OK: hasEdge x y empty == False algebraic-graphs> OK: hasEdge x y (vertex z) == False algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: hasEdge x y . removeEdge x y == const False algebraic-graphs> OK: hasEdge x y == elem (x,y) . edgeList algebraic-graphs> algebraic-graphs> ============ Relation.vertexCount ============ algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: vertexCount == length . vertexList algebraic-graphs> OK: vertexCount x < vertexCount y ==> x < y algebraic-graphs> algebraic-graphs> ============ Relation.edgeCount ============ algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: edgeCount == length . edgeList algebraic-graphs> algebraic-graphs> ============ Relation.vertexList ============ algebraic-graphs> OK: vertexList empty == [] algebraic-graphs> OK: vertexList (vertex x) == [x] algebraic-graphs> OK: vertexList . vertices == nub . sort algebraic-graphs> algebraic-graphs> ============ Relation.vertexSet ============ algebraic-graphs> OK: vertexSet empty == Set.empty algebraic-graphs> OK: vertexSet . vertex == Set.singleton algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ Relation.vertexIntSet ============ algebraic-graphs> OK: vertexIntSet empty == IntSet.empty algebraic-graphs> OK: vertexIntSet . vertex == IntSet.singleton algebraic-graphs> OK: vertexIntSet . vertices == IntSet.fromList algebraic-graphs> OK: vertexIntSet . clique == IntSet.fromList algebraic-graphs> algebraic-graphs> ============ Relation.edgeList ============ algebraic-graphs> OK: edgeList empty == [] algebraic-graphs> OK: edgeList (vertex x) == [] algebraic-graphs> OK: edgeList (edge x y) == [(x,y)] algebraic-graphs> OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)] algebraic-graphs> OK: edgeList . edges == nub . sort algebraic-graphs> algebraic-graphs> ============ Relation.edgeSet ============ algebraic-graphs> OK: edgeSet empty == Set.empty algebraic-graphs> OK: edgeSet (vertex x) == Set.empty algebraic-graphs> OK: edgeSet (edge x y) == Set.singleton (x,y) algebraic-graphs> OK: edgeSet . edges == Set.fromList algebraic-graphs> algebraic-graphs> ============ Relation.adjacencyList ============ algebraic-graphs> OK: adjacencyList empty == [] algebraic-graphs> OK: adjacencyList (vertex x) == [(x, [])] algebraic-graphs> OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [])] algebraic-graphs> OK: adjacencyList (star 2 [3,1]) == [(1, []), (2, [1,3]), (3, [])] algebraic-graphs> algebraic-graphs> ============ Relation.preSet ============ algebraic-graphs> OK: preSet x empty == Set.empty algebraic-graphs> OK: preSet x (vertex x) == Set.empty algebraic-graphs> OK: preSet 1 (edge 1 2) == Set.empty algebraic-graphs> OK: preSet y (edge x y) == Set.fromList [x] algebraic-graphs> algebraic-graphs> ============ Relation.preIntSet ============ algebraic-graphs> OK: preIntSet x empty == IntSet.empty algebraic-graphs> OK: preIntSet x (vertex x) == IntSet.empty algebraic-graphs> OK: preIntSet 1 (edge 1 2) == IntSet.empty algebraic-graphs> OK: preIntSet y (edge x y) == IntSet.fromList [x] algebraic-graphs> algebraic-graphs> ============ Relation.postSet ============ algebraic-graphs> OK: postSet x empty == Set.empty algebraic-graphs> OK: postSet x (vertex x) == Set.empty algebraic-graphs> OK: postSet x (edge x y) == Set.fromList [y] algebraic-graphs> OK: postSet 2 (edge 1 2) == Set.empty algebraic-graphs> algebraic-graphs> ============ Relation.postIntSet ============ algebraic-graphs> OK: postIntSet x empty == IntSet.empty algebraic-graphs> OK: postIntSet x (vertex x) == IntSet.empty algebraic-graphs> OK: postIntSet 2 (edge 1 2) == IntSet.empty algebraic-graphs> OK: postIntSet x (edge x y) == IntSet.fromList [y] algebraic-graphs> algebraic-graphs> ============ Relation.path ============ algebraic-graphs> OK: path [] == empty algebraic-graphs> OK: path [x] == vertex x algebraic-graphs> OK: path [x,y] == edge x y algebraic-graphs> algebraic-graphs> ============ Relation.circuit ============ algebraic-graphs> OK: circuit [] == empty algebraic-graphs> OK: circuit [x] == edge x x algebraic-graphs> OK: circuit [x,y] == edges [(x,y), (y,x)] algebraic-graphs> algebraic-graphs> ============ Relation.clique ============ algebraic-graphs> OK: clique [] == empty algebraic-graphs> OK: clique [x] == vertex x algebraic-graphs> OK: clique [x,y] == edge x y algebraic-graphs> OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)] algebraic-graphs> OK: clique (xs ++ ys) == connect (clique xs) (clique ys) algebraic-graphs> algebraic-graphs> ============ Relation.biclique ============ algebraic-graphs> OK: biclique [] [] == empty algebraic-graphs> OK: biclique [x] [] == vertex x algebraic-graphs> OK: biclique [] [y] == vertex y algebraic-graphs> OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] algebraic-graphs> OK: biclique xs ys == connect (vertices xs) (vertices ys) algebraic-graphs> algebraic-graphs> ============ Relation.star ============ algebraic-graphs> OK: star x [] == vertex x algebraic-graphs> OK: star x [y] == edge x y algebraic-graphs> OK: star x [y,z] == edges [(x,y), (x,z)] algebraic-graphs> OK: star x ys == connect (vertex x) (vertices ys) algebraic-graphs> algebraic-graphs> ============ Relation.stars ============ algebraic-graphs> OK: stars [] == empty algebraic-graphs> OK: stars [(x, [])] == vertex x algebraic-graphs> OK: stars [(x, [y])] == edge x y algebraic-graphs> OK: stars [(x, ys)] == star x ys algebraic-graphs> OK: stars == overlays . map (uncurry star) algebraic-graphs> OK: stars . adjacencyList == id algebraic-graphs> OK: overlay (stars xs) (stars ys) == stars (xs ++ ys) algebraic-graphs> algebraic-graphs> ============ Relation.tree ============ algebraic-graphs> OK: tree (Node x []) == vertex x algebraic-graphs> OK: tree (Node x [Node y [Node z []]]) == path [x,y,z] algebraic-graphs> OK: tree (Node x [Node y [], Node z []]) == star x [y,z] algebraic-graphs> OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)] algebraic-graphs> algebraic-graphs> ============ Relation.forest ============ algebraic-graphs> OK: forest [] == empty algebraic-graphs> OK: forest [x] == tree x algebraic-graphs> OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)] algebraic-graphs> OK: forest == overlays . map tree algebraic-graphs> algebraic-graphs> ============ Relation.removeVertex ============ algebraic-graphs> OK: removeVertex x (vertex x) == empty algebraic-graphs> OK: removeVertex 1 (vertex 2) == vertex 2 algebraic-graphs> OK: removeVertex x (edge x x) == empty algebraic-graphs> OK: removeVertex 1 (edge 1 2) == vertex 2 algebraic-graphs> OK: removeVertex x . removeVertex x == removeVertex x algebraic-graphs> algebraic-graphs> ============ Relation.removeEdge ============ algebraic-graphs> OK: removeEdge x y (edge x y) == vertices [x,y] algebraic-graphs> OK: removeEdge x y . removeEdge x y == removeEdge x y algebraic-graphs> OK: removeEdge x y . removeVertex x == removeVertex x algebraic-graphs> OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 algebraic-graphs> OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 algebraic-graphs> algebraic-graphs> ============ Relation.replaceVertex ============ algebraic-graphs> OK: replaceVertex x x == id algebraic-graphs> OK: replaceVertex x y (vertex x) == vertex y algebraic-graphs> OK: replaceVertex x y == mergeVertices (== x) y algebraic-graphs> algebraic-graphs> ============ Relation.mergeVertices ============ algebraic-graphs> OK: mergeVertices (const False) x == id algebraic-graphs> OK: mergeVertices (== x) y == replaceVertex x y algebraic-graphs> OK: mergeVertices even 1 (0 * 2) == 1 * 1 algebraic-graphs> OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 algebraic-graphs> algebraic-graphs> ============ Relation.transpose ============ algebraic-graphs> OK: transpose empty == empty algebraic-graphs> OK: transpose (vertex x) == vertex x algebraic-graphs> OK: transpose (edge x y) == edge y x algebraic-graphs> OK: transpose . transpose == id algebraic-graphs> OK: edgeList . transpose == sort . map swap . edgeList algebraic-graphs> algebraic-graphs> ============ Relation.gmap ============ algebraic-graphs> OK: gmap f empty == empty algebraic-graphs> OK: gmap f (vertex x) == vertex (f x) algebraic-graphs> OK: gmap f (edge x y) == edge (f x) (f y) algebraic-graphs> OK: gmap id == id algebraic-graphs> OK: gmap f . gmap g == gmap (f . g) algebraic-graphs> algebraic-graphs> ============ Relation.induce ============ algebraic-graphs> OK: induce (const True ) x == x algebraic-graphs> OK: induce (const False) x == empty algebraic-graphs> OK: induce (/= x) == removeVertex x algebraic-graphs> OK: induce p . induce q == induce (\x -> p x && q x) algebraic-graphs> OK: isSubgraphOf (induce p x) x == True algebraic-graphs> algebraic-graphs> ============ Relation.compose ============ algebraic-graphs> OK: compose empty x == empty algebraic-graphs> OK: compose x empty == empty algebraic-graphs> OK: compose (vertex x) y == empty algebraic-graphs> OK: compose x (vertex y) == empty algebraic-graphs> OK: compose x (compose y z) == compose (compose x y) z algebraic-graphs> OK: compose x (overlay y z) == overlay (compose x y) (compose x z) algebraic-graphs> OK: compose (overlay x y) z == overlay (compose x z) (compose y z) algebraic-graphs> OK: compose (edge x y) (edge y z) == edge x z algebraic-graphs> OK: compose (path [1..5]) (path [1..5]) == edges [(1,3),(2,4),(3,5)] algebraic-graphs> OK: compose (circuit [1..5]) (circuit [1..5]) == circuit [1,3,5,2,4] algebraic-graphs> algebraic-graphs> ============ Relation.closure ============ algebraic-graphs> OK: closure empty == empty algebraic-graphs> OK: closure (vertex x) == edge x x algebraic-graphs> OK: closure (edge x x) == edge x x algebraic-graphs> OK: closure (edge x y) == edges [(x,x), (x,y), (y,y)] algebraic-graphs> OK: closure (path $ nub xs) == reflexiveClosure (clique $ nub xs) algebraic-graphs> OK: closure == reflexiveClosure . transitiveClosure algebraic-graphs> OK: closure == transitiveClosure . reflexiveClosure algebraic-graphs> OK: closure . closure == closure algebraic-graphs> OK: postSet x (closure y) == Set.fromList (reachable y x) algebraic-graphs> algebraic-graphs> ============ Relation.reflexiveClosure ============ algebraic-graphs> OK: reflexiveClosure empty == empty algebraic-graphs> OK: reflexiveClosure (vertex x) == edge x x algebraic-graphs> OK: reflexiveClosure (edge x x) == edge x x algebraic-graphs> OK: reflexiveClosure (edge x y) == edges [(x,x), (x,y), (y,y)] algebraic-graphs> OK: reflexiveClosure . reflexiveClosure == reflexiveClosure algebraic-graphs> algebraic-graphs> ============ Relation.symmetricClosure ============ algebraic-graphs> OK: symmetricClosure empty == empty algebraic-graphs> OK: symmetricClosure (vertex x) == vertex x algebraic-graphs> OK: symmetricClosure (edge x y) == edges [(x,y), (y,x)] algebraic-graphs> OK: symmetricClosure x == overlay x (transpose x) algebraic-graphs> OK: symmetricClosure . symmetricClosure == symmetricClosure algebraic-graphs> algebraic-graphs> ============ Relation.transitiveClosure ============ algebraic-graphs> OK: transitiveClosure empty == empty algebraic-graphs> OK: transitiveClosure (vertex x) == vertex x algebraic-graphs> OK: transitiveClosure (edge x y) == edge x y algebraic-graphs> OK: transitiveClosure (path $ nub xs) == clique (nub $ xs) algebraic-graphs> OK: transitiveClosure . transitiveClosure == transitiveClosure algebraic-graphs> algebraic-graphs> ============ Relation.induceJust ============ algebraic-graphs> OK: induceJust (vertex Nothing) == empty algebraic-graphs> OK: induceJust (edge (Just x) Nothing) == vertex x algebraic-graphs> OK: induceJust . gmap Just == id algebraic-graphs> OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p algebraic-graphs> algebraic-graphs> ============ ReflexiveRelation ============ algebraic-graphs> OK: Axioms of reflexive graphs algebraic-graphs> algebraic-graphs> ============ TransitiveRelation ============ algebraic-graphs> OK: Axioms of transitive graphs algebraic-graphs> OK: path xs == (clique xs :: TransitiveRelation Int) algebraic-graphs> algebraic-graphs> ============ PreorderRelation ============ algebraic-graphs> OK: Axioms of preorder graphs algebraic-graphs> OK: path xs == (clique xs :: PreorderRelation Int) algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation ============ algebraic-graphs> OK: Axioms of undirected graphs algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.consistent ============ algebraic-graphs> OK: Consistency of the Arbitrary instance algebraic-graphs> algebraic-graphs> OK: consistent empty == True algebraic-graphs> OK: consistent (vertex x) == True algebraic-graphs> OK: consistent (overlay x y) == True algebraic-graphs> OK: consistent (connect x y) == True algebraic-graphs> OK: consistent (edge x y) == True algebraic-graphs> OK: consistent (edges xs) == True algebraic-graphs> OK: consistent (stars xs) == True algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.Show ============ algebraic-graphs> OK: show (empty ) == "empty" algebraic-graphs> OK: show (1 ) == "vertex 1" algebraic-graphs> OK: show (1 + 2 ) == "vertices [1,2]" algebraic-graphs> OK: show (1 * 2 ) == "edge 1 2" algebraic-graphs> OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]" algebraic-graphs> OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)" algebraic-graphs> algebraic-graphs> OK: show (vertex (-1) ) == "vertex (-1)" algebraic-graphs> OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]" algebraic-graphs> OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)" algebraic-graphs> OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]" algebraic-graphs> OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))" algebraic-graphs> algebraic-graphs> OK: show (2 * 1 ) == "edge 1 2" algebraic-graphs> OK: show (1 * 2 * 1) == "edges [(1,1),(1,2)]" algebraic-graphs> OK: show (3 * 2 * 1) == "edges [(1,2),(1,3),(2,3)]" algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.toSymmetric ============ algebraic-graphs> OK: toSymmetric (edge 1 2) == edge 1 2 algebraic-graphs> OK: toSymmetric . fromSymmetric == id algebraic-graphs> OK: fromSymmetric . toSymmetric == symmetricClosure algebraic-graphs> OK: vertexCount . toSymmetric == vertexCount algebraic-graphs> OK: (*2) . edgeCount . toSymmetric >= edgeCount algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.fromSymmetric ============ algebraic-graphs> OK: fromSymmetric (edge 1 2) == edges [(1,2), (2,1)] algebraic-graphs> OK: vertexCount . fromSymmetric == vertexCount algebraic-graphs> OK: edgeCount . fromSymmetric <= (*2) . edgeCount algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.Ord ============ algebraic-graphs> OK: vertex 1 < vertex 2 algebraic-graphs> OK: vertex 3 < edge 1 2 algebraic-graphs> OK: vertex 1 < edge 1 1 algebraic-graphs> OK: edge 1 1 < edge 1 2 algebraic-graphs> OK: edge 1 2 < edge 1 1 + edge 2 2 algebraic-graphs> OK: edge 2 1 < edge 1 3 algebraic-graphs> OK: edge 1 2 == edge 2 1 algebraic-graphs> OK: x <= x + y algebraic-graphs> OK: x + y <= x * y algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.empty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.vertex ============ algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.edge ============ algebraic-graphs> OK: edge x y == connect (vertex x) (vertex y) algebraic-graphs> OK: edge x y == edge y x algebraic-graphs> OK: edge x y == edges [(x,y), (y,x)] algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: vertexCount (edge 1 1) == 1 algebraic-graphs> OK: vertexCount (edge 1 2) == 2 algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.overlay ============ algebraic-graphs> OK: isEmpty (overlay x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (overlay x y) >= vertexCount x algebraic-graphs> OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (overlay x y) >= edgeCount x algebraic-graphs> OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (overlay 1 2) == 2 algebraic-graphs> OK: edgeCount (overlay 1 2) == 0 algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.connect ============ algebraic-graphs> OK: connect x y == connect y x algebraic-graphs> OK: isEmpty (connect x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (connect x y) >= vertexCount x algebraic-graphs> OK: vertexCount (connect x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount x algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount y algebraic-graphs> OK: edgeCount (connect x y) >= vertexCount x * vertexCount y `div` 2 algebraic-graphs> OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (connect 1 2) == 2 algebraic-graphs> OK: edgeCount (connect 1 2) == 1 algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.vertices ============ algebraic-graphs> OK: vertices [] == empty algebraic-graphs> OK: vertices [x] == vertex x algebraic-graphs> OK: vertices == overlays . map vertex algebraic-graphs> OK: hasVertex x . vertices == elem x algebraic-graphs> OK: vertexCount . vertices == length . nub algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.edges ============ algebraic-graphs> OK: edges [] == empty algebraic-graphs> OK: edges [(x,y)] == edge x y algebraic-graphs> OK: edges [(x,y), (y,x)] == edge x y algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.overlays ============ algebraic-graphs> OK: overlays [] == empty algebraic-graphs> OK: overlays [x] == x algebraic-graphs> OK: overlays [x,y] == overlay x y algebraic-graphs> OK: overlays == foldr overlay empty algebraic-graphs> OK: isEmpty . overlays == all isEmpty algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.connects ============ algebraic-graphs> OK: connects [] == empty algebraic-graphs> OK: connects [x] == x algebraic-graphs> OK: connects [x,y] == connect x y algebraic-graphs> OK: connects == foldr connect empty algebraic-graphs> OK: isEmpty . connects == all isEmpty algebraic-graphs> OK: connects == connects . reverse algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.isSubgraphOf ============ algebraic-graphs> OK: isSubgraphOf empty x == True algebraic-graphs> OK: isSubgraphOf (vertex x) empty == False algebraic-graphs> OK: isSubgraphOf x (overlay x y) == True algebraic-graphs> OK: isSubgraphOf (overlay x y) (connect x y) == True algebraic-graphs> OK: isSubgraphOf (path xs) (circuit xs) == True algebraic-graphs> OK: isSubgraphOf x y ==> x <= y algebraic-graphs> OK: isSubgraphOf (edge x y) (edge y x) == True algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.toGraph et al. ============ algebraic-graphs> OK: toGraph == foldg Empty Vertex Overlay Connect algebraic-graphs> OK: foldg == Algebra.Graph.foldg . toGraph algebraic-graphs> OK: isEmpty == foldg True (const False) (&&) (&&) algebraic-graphs> OK: size == foldg 1 (const 1) (+) (+) algebraic-graphs> OK: hasVertex x == foldg False (==x) (||) (||) algebraic-graphs> OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph algebraic-graphs> OK: vertexCount == Set.size . vertexSet algebraic-graphs> OK: edgeCount == Set.size . edgeSet algebraic-graphs> OK: vertexList == Set.toAscList . vertexSet algebraic-graphs> OK: edgeList == Set.toAscList . edgeSet algebraic-graphs> OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union algebraic-graphs> OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union algebraic-graphs> OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap algebraic-graphs> OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap algebraic-graphs> OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap algebraic-graphs> OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose algebraic-graphs> OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose algebraic-graphs> OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap algebraic-graphs> OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap algebraic-graphs> OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap algebraic-graphs> OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap algebraic-graphs> OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap algebraic-graphs> OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap algebraic-graphs> OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap algebraic-graphs> OK: toAdjacencyMap == foldg empty vertex overlay connect algebraic-graphs> OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect) algebraic-graphs> OK: toAdjacencyIntMap == foldg empty vertex overlay connect algebraic-graphs> OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect) algebraic-graphs> OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap algebraic-graphs> OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.isEmpty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: isEmpty (overlay empty empty) == True algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: isEmpty (removeVertex x $ vertex x) == True algebraic-graphs> OK: isEmpty (removeEdge x y $ edge x y) == False algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.hasVertex ============ algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: hasVertex x . removeVertex x == const False algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.hasEdge ============ algebraic-graphs> OK: hasEdge x y empty == False algebraic-graphs> OK: hasEdge x y (vertex z) == False algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: hasEdge x y (edge y x) == True algebraic-graphs> OK: hasEdge x y . removeEdge x y == const False algebraic-graphs> OK: hasEdge x y == elem (min x y, max x y) . edgeList algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.vertexCount ============ algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: vertexCount == length . vertexList algebraic-graphs> OK: vertexCount x < vertexCount y ==> x < y algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.edgeCount ============ algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: edgeCount == length . edgeList algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.vertexList ============ algebraic-graphs> OK: vertexList empty == [] algebraic-graphs> OK: vertexList (vertex x) == [x] algebraic-graphs> OK: vertexList . vertices == nub . sort algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.vertexSet ============ algebraic-graphs> OK: vertexSet empty == Set.empty algebraic-graphs> OK: vertexSet . vertex == Set.singleton algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.vertexIntSet ============ algebraic-graphs> OK: vertexIntSet empty == IntSet.empty algebraic-graphs> OK: vertexIntSet . vertex == IntSet.singleton algebraic-graphs> OK: vertexIntSet . vertices == IntSet.fromList algebraic-graphs> OK: vertexIntSet . clique == IntSet.fromList algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.edgeList ============ algebraic-graphs> OK: edgeList empty == [] algebraic-graphs> OK: edgeList (vertex x) == [] algebraic-graphs> OK: edgeList (edge x y) == [(min x y, max y x)] algebraic-graphs> OK: edgeList (star 2 [3,1]) == [(1,2), (2,3)] algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.edgeSet ============ algebraic-graphs> OK: edgeSet empty == Set.empty algebraic-graphs> OK: edgeSet (vertex x) == Set.empty algebraic-graphs> OK: edgeSet (edge x y) == Set.singleton (min x y, max x y) algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.adjacencyList ============ algebraic-graphs> OK: adjacencyList empty == [] algebraic-graphs> OK: adjacencyList (vertex x) == [(x, [])] algebraic-graphs> OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [1])] algebraic-graphs> OK: adjacencyList (star 2 [3,1]) == [(1, [2]), (2, [1,3]), (3, [2])] algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.neighbours ============ algebraic-graphs> OK: neighbours x empty == Set.empty algebraic-graphs> OK: neighbours x (vertex x) == Set.empty algebraic-graphs> OK: neighbours x (edge x y) == Set.fromList [y] algebraic-graphs> OK: neighbours y (edge x y) == Set.fromList [x] algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.path ============ algebraic-graphs> OK: path [] == empty algebraic-graphs> OK: path [x] == vertex x algebraic-graphs> OK: path [x,y] == edge x y algebraic-graphs> OK: path == path . reverse algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.circuit ============ algebraic-graphs> OK: circuit [] == empty algebraic-graphs> OK: circuit [x] == edge x x algebraic-graphs> OK: circuit [x,y] == edges [(x,y), (y,x)] algebraic-graphs> OK: circuit == circuit . reverse algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.clique ============ algebraic-graphs> OK: clique [] == empty algebraic-graphs> OK: clique [x] == vertex x algebraic-graphs> OK: clique [x,y] == edge x y algebraic-graphs> OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)] algebraic-graphs> OK: clique (xs ++ ys) == connect (clique xs) (clique ys) algebraic-graphs> OK: clique == clique . reverse algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.biclique ============ algebraic-graphs> OK: biclique [] [] == empty algebraic-graphs> OK: biclique [x] [] == vertex x algebraic-graphs> OK: biclique [] [y] == vertex y algebraic-graphs> OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] algebraic-graphs> OK: biclique xs ys == connect (vertices xs) (vertices ys) algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.star ============ algebraic-graphs> OK: star x [] == vertex x algebraic-graphs> OK: star x [y] == edge x y algebraic-graphs> OK: star x [y,z] == edges [(x,y), (x,z)] algebraic-graphs> OK: star x ys == connect (vertex x) (vertices ys) algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.stars ============ algebraic-graphs> OK: stars [] == empty algebraic-graphs> OK: stars [(x, [])] == vertex x algebraic-graphs> OK: stars [(x, [y])] == edge x y algebraic-graphs> OK: stars [(x, ys)] == star x ys algebraic-graphs> OK: stars == overlays . map (uncurry star) algebraic-graphs> OK: stars . adjacencyList == id algebraic-graphs> OK: overlay (stars xs) (stars ys) == stars (xs ++ ys) algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.tree ============ algebraic-graphs> OK: tree (Node x []) == vertex x algebraic-graphs> OK: tree (Node x [Node y [Node z []]]) == path [x,y,z] algebraic-graphs> OK: tree (Node x [Node y [], Node z []]) == star x [y,z] algebraic-graphs> OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)] algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.forest ============ algebraic-graphs> OK: forest [] == empty algebraic-graphs> OK: forest [x] == tree x algebraic-graphs> OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)] algebraic-graphs> OK: forest == overlays . map tree algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.removeVertex ============ algebraic-graphs> OK: removeVertex x (vertex x) == empty algebraic-graphs> OK: removeVertex 1 (vertex 2) == vertex 2 algebraic-graphs> OK: removeVertex x (edge x x) == empty algebraic-graphs> OK: removeVertex 1 (edge 1 2) == vertex 2 algebraic-graphs> OK: removeVertex x . removeVertex x == removeVertex x algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.removeEdge ============ algebraic-graphs> OK: removeEdge x y (edge x y) == vertices [x,y] algebraic-graphs> OK: removeEdge x y . removeEdge x y == removeEdge x y algebraic-graphs> OK: removeEdge x y . removeVertex x == removeVertex x algebraic-graphs> OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 algebraic-graphs> OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 algebraic-graphs> OK: removeEdge x y == removeEdge y x algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.replaceVertex ============ algebraic-graphs> OK: replaceVertex x x == id algebraic-graphs> OK: replaceVertex x y (vertex x) == vertex y algebraic-graphs> OK: replaceVertex x y == mergeVertices (== x) y algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.mergeVertices ============ algebraic-graphs> OK: mergeVertices (const False) x == id algebraic-graphs> OK: mergeVertices (== x) y == replaceVertex x y algebraic-graphs> OK: mergeVertices even 1 (0 * 2) == 1 * 1 algebraic-graphs> OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.gmap ============ algebraic-graphs> OK: gmap f empty == empty algebraic-graphs> OK: gmap f (vertex x) == vertex (f x) algebraic-graphs> OK: gmap f (edge x y) == edge (f x) (f y) algebraic-graphs> OK: gmap id == id algebraic-graphs> OK: gmap f . gmap g == gmap (f . g) algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.induce ============ algebraic-graphs> OK: induce (const True ) x == x algebraic-graphs> OK: induce (const False) x == empty algebraic-graphs> OK: induce (/= x) == removeVertex x algebraic-graphs> OK: induce p . induce q == induce (\x -> p x && q x) algebraic-graphs> OK: isSubgraphOf (induce p x) x == True algebraic-graphs> algebraic-graphs> ============ Symmetric.Relation.induceJust ============ algebraic-graphs> OK: induceJust (vertex Nothing) == empty algebraic-graphs> OK: induceJust (edge (Just x) Nothing) == vertex x algebraic-graphs> OK: induceJust . gmap Just == id algebraic-graphs> OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p algebraic-graphs> algebraic-graphs> ============ Example.Todo (Holiday) ============ algebraic-graphs> OK: A todo list is semantically Maybe [a] algebraic-graphs> OK: The overlay operator (+) adds non-dependent items to the todo list algebraic-graphs> OK: The connect operator (*) adds dependency between items algebraic-graphs> OK: Contradictory constraints make the todo list impossible to schedule algebraic-graphs> OK: Introduce item priority to schedule the todo list algebraic-graphs> OK: Custom connect operators pull/repel arguments during scheduling algebraic-graphs> algebraic-graphs> ============ Example.Todo (Commandline) ============ algebraic-graphs> OK: The pull connect operator maintains command line semantics algebraic-graphs> OK: Swapping flags are allowed by the commutative overlay opeartor algebraic-graphs> OK: The usual connect operator breaks semantics algebraic-graphs> OK: Transform command lines by adding optimisation flag algebraic-graphs> algebraic-graphs> ============ Typed ============ algebraic-graphs> algebraic-graphs> ============ Typed.fromAdjacencyMap ============ algebraic-graphs> OK: toGraphKL (fromAdjacencyMap (1 * 2 + 3 * 1)) == array (0,2) [(0,[1]), (1,[]), (2,[0])] algebraic-graphs> OK: toGraphKL (fromAdjacencyMap (1 * 2 + 2 * 1)) == array (0,1) [(0,[1]), (1,[0])] algebraic-graphs> OK: map (fromVertexKL h) (vertices $ toGraphKL h) == vertexList g algebraic-graphs> OK: map (\(x, y) -> (fromVertexKL h x, fromVertexKL h y)) (edges $ toGraphKL h) == edgeList g algebraic-graphs> algebraic-graphs> ============ Typed.fromAdjacencyIntMap ============ algebraic-graphs> OK: toGraphKL (fromAdjacencyIntMap (1 * 2 + 3 * 1)) == array (0,2) [(0,[1]), (1,[]), (2,[0])] algebraic-graphs> OK: toGraphKL (fromAdjacencyIntMap (1 * 2 + 2 * 1)) == array (0,1) [(0,[1]), (1,[0])] algebraic-graphs> OK: map (fromVertexKL h) (vertices $ toGraphKL h) == IntSet.toAscList (vertexIntSet g) algebraic-graphs> OK: map (\(x, y) -> (fromVertexKL h x, fromVertexKL h y)) (edges $ toGraphKL h) == edgeList g algebraic-graphs> algebraic-graphs> ============ Typed.dfsForest ============ algebraic-graphs> OK: forest (dfsForest % edge 1 1) == vertex 1 algebraic-graphs> OK: forest (dfsForest % edge 1 2) == edge 1 2 algebraic-graphs> OK: forest (dfsForest % edge 2 1) == vertices [1, 2] algebraic-graphs> OK: isSubgraphOf (forest $ dfsForest % x) x == True algebraic-graphs> OK: dfsForest % forest (dfsForest % x) == dfsForest % x algebraic-graphs> OK: dfsForest % vertices vs == map (\v -> Node v []) (nub $ sort vs) algebraic-graphs> OK: dfsForest % (3 * (1 + 4) * (1 + 5)) == algebraic-graphs> algebraic-graphs> ============ Typed.dfsForestFrom ============ algebraic-graphs> OK: forest $ (dfsForestFrom % edge 1 1) [1] == vertex 1 algebraic-graphs> OK: forest $ (dfsForestFrom % edge 1 2) [0] == empty algebraic-graphs> OK: forest $ (dfsForestFrom % edge 1 2) [1] == edge 1 2 algebraic-graphs> OK: forest $ (dfsForestFrom % edge 1 2) [2] == vertex 2 algebraic-graphs> OK: forest $ (dfsForestFrom % edge 1 2) [2,1] == vertices [1,2] algebraic-graphs> OK: isSubgraphOf (forest $ dfsForestFrom % x $ vs) x == True algebraic-graphs> OK: dfsForestFrom % x $ vertexList x == dfsForest % x algebraic-graphs> OK: dfsForestFrom % vertices vs $ vs == map (\v -> Node v []) (nub vs) algebraic-graphs> OK: dfsForestFrom % x $ [] == [] algebraic-graphs> OK: dfsForestFrom % (3 * (1 + 4) * (1 + 5)) $ [1,4] == algebraic-graphs> algebraic-graphs> ============ Typed.dfs ============ algebraic-graphs> OK: dfs % edge 1 1 $ [1] == [1] algebraic-graphs> OK: dfs % edge 1 2 $ [0] == [] algebraic-graphs> OK: dfs % edge 1 2 $ [1] == [1,2] algebraic-graphs> OK: dfs % edge 1 2 $ [2] == [2] algebraic-graphs> OK: dfs % edge 1 2 $ [1,2] == [1,2] algebraic-graphs> OK: dfs % edge 1 2 $ [2,1] == [2,1] algebraic-graphs> OK: dfs % x $ [] == [] algebraic-graphs> algebraic-graphs> OK: dfs % (3 * (1 + 4) * (1 + 5)) $ [1,4] == [1,5,4] algebraic-graphs> OK: and [ hasVertex v x | v <- dfs % x $ vs ] == True algebraic-graphs> algebraic-graphs> ============ Typed.topSort ============ algebraic-graphs> OK: topSort % (1 * 2 + 3 * 1) == [3,1,2] algebraic-graphs> OK: topSort % (1 * 2 + 2 * 1) == [1,2] algebraic-graphs> algebraic-graphs> ============ Graph.Undirected ============ algebraic-graphs> OK: Axioms of undirected graphs algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.Show ============ algebraic-graphs> OK: show (empty ) == "empty" algebraic-graphs> OK: show (1 ) == "vertex 1" algebraic-graphs> OK: show (1 + 2 ) == "vertices [1,2]" algebraic-graphs> OK: show (1 * 2 ) == "edge 1 2" algebraic-graphs> OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]" algebraic-graphs> OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)" algebraic-graphs> algebraic-graphs> OK: show (vertex (-1) ) == "vertex (-1)" algebraic-graphs> OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]" algebraic-graphs> OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)" algebraic-graphs> OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]" algebraic-graphs> OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))" algebraic-graphs> algebraic-graphs> OK: show (2 * 1 ) == "edge 1 2" algebraic-graphs> OK: show (1 * 2 * 1) == "edges [(1,1),(1,2)]" algebraic-graphs> OK: show (3 * 2 * 1) == "edges [(1,2),(1,3),(2,3)]" algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.toUndirected ============ algebraic-graphs> OK: toUndirected (edge 1 2) == edge 1 2 algebraic-graphs> OK: toUndirected . fromUndirected == id algebraic-graphs> OK: vertexCount . toUndirected == vertexCount algebraic-graphs> OK: (*2) . edgeCount . toUndirected >= edgeCount algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.fromUndirected ============ algebraic-graphs> OK: fromUndirected (edge 1 2) == edges [(1,2),(2,1)] algebraic-graphs> OK: toUndirected . fromUndirected == id algebraic-graphs> OK: vertexCount . fromUndirected == vertexCount algebraic-graphs> OK: edgeCount . fromUndirected <= (*2) . edgeCount algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.complement ================ algebraic-graphs> OK: complement empty == empty algebraic-graphs> OK: complement (vertex x) == vertex x algebraic-graphs> OK: complement (edge 1 1) == edge 1 1 algebraic-graphs> OK: complement (edge 1 2) == vertices [1, 2] algebraic-graphs> OK: complement (star 1 [2, 3]) == overlay (vertex 1) (edge 2 3) algebraic-graphs> OK: complement . complement == id algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.Ord ============ algebraic-graphs> OK: vertex 1 < vertex 2 algebraic-graphs> OK: vertex 3 < edge 1 2 algebraic-graphs> OK: vertex 1 < edge 1 1 algebraic-graphs> OK: edge 1 1 < edge 1 2 algebraic-graphs> OK: edge 1 2 < edge 1 1 + edge 2 2 algebraic-graphs> OK: edge 2 1 < edge 1 3 algebraic-graphs> OK: edge 1 2 == edge 2 1 algebraic-graphs> OK: x <= x + y algebraic-graphs> OK: x + y <= x * y algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.empty ============ algebraic-graphs> OK: isEmpty empty == True algebraic-graphs> OK: hasVertex x empty == False algebraic-graphs> OK: vertexCount empty == 0 algebraic-graphs> OK: edgeCount empty == 0 algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.vertex ============ algebraic-graphs> OK: isEmpty (vertex x) == False algebraic-graphs> OK: hasVertex x (vertex y) == (x == y) algebraic-graphs> OK: vertexCount (vertex x) == 1 algebraic-graphs> OK: edgeCount (vertex x) == 0 algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.edge ============ algebraic-graphs> OK: edge x y == connect (vertex x) (vertex y) algebraic-graphs> OK: edge x y == edge y x algebraic-graphs> OK: edge x y == edges [(x,y), (y,x)] algebraic-graphs> OK: hasEdge x y (edge x y) == True algebraic-graphs> OK: edgeCount (edge x y) == 1 algebraic-graphs> OK: vertexCount (edge 1 1) == 1 algebraic-graphs> OK: vertexCount (edge 1 2) == 2 algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.overlay ============ algebraic-graphs> OK: isEmpty (overlay x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (overlay x y) >= vertexCount x algebraic-graphs> OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (overlay x y) >= edgeCount x algebraic-graphs> OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (overlay 1 2) == 2 algebraic-graphs> OK: edgeCount (overlay 1 2) == 0 algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.connect ============ algebraic-graphs> OK: connect x y == connect y x algebraic-graphs> OK: isEmpty (connect x y) == isEmpty x && isEmpty y algebraic-graphs> OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y algebraic-graphs> OK: vertexCount (connect x y) >= vertexCount x algebraic-graphs> OK: vertexCount (connect x y) <= vertexCount x + vertexCount y algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount x algebraic-graphs> OK: edgeCount (connect x y) >= edgeCount y algebraic-graphs> OK: edgeCount (connect x y) >= vertexCount x * vertexCount y `div` 2 algebraic-graphs> OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y algebraic-graphs> OK: vertexCount (connect 1 2) == 2 algebraic-graphs> OK: edgeCount (connect 1 2) == 1 algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.vertices ============ algebraic-graphs> OK: vertices [] == empty algebraic-graphs> OK: vertices [x] == vertex x algebraic-graphs> OK: vertices == overlays . map vertex algebraic-graphs> OK: hasVertex x . vertices == elem x algebraic-graphs> OK: vertexCount . vertices == length . nub algebraic-graphs> OK: vertexSet . vertices == Set.fromList algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.edges ============ algebraic-graphs> OK: edges [] == empty algebraic-graphs> OK: edges [(x,y)] == edge x y algebraic-graphs> OK: edges [(x,y), (y,x)] == edge x y algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.overlays ============ algebraic-graphs> OK: overlays [] == empty algebraic-graphs> OK: overlays [x] == x algebraic-graphs> OK: overlays [x,y] == overlay x y algebraic-graphs> OK: overlays == foldr overlay empty algebraic-graphs> OK: isEmpty . overlays == all isEmpty algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.connects ============ algebraic-graphs> OK: connects [] == empty algebraic-graphs> OK: connects [x] == x algebraic-graphs> OK: connects [x,y] == connect x y algebraic-graphs> OK: connects == foldr connect empty algebraic-graphs> OK: isEmpty . connects == all isEmpty algebraic-graphs> OK: connects == connects . reverse algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.isSubgraphOf ============ algebraic-graphs> OK: isSubgraphOf empty x == True algebraic-graphs> OK: isSubgraphOf (vertex x) empty == False algebraic-graphs> OK: isSubgraphOf x (overlay x y) == True algebraic-graphs> OK: isSubgraphOf (overlay x y) (connect x y) == True algebraic-graphs> OK: isSubgraphOf (path xs) (circuit xs) == True algebraic-graphs> OK: isSubgraphOf x y ==> x <= y algebraic-graphs> OK: isSubgraphOf (edge x y) (edge y x) == True algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.path ============ algebraic-graphs> OK: path [] == empty algebraic-graphs> OK: path [x] == vertex x algebraic-graphs> OK: path [x,y] == edge x y algebraic-graphs> OK: path == path . reverse algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.circuit ============ algebraic-graphs> OK: circuit [] == empty algebraic-graphs> OK: circuit [x] == edge x x algebraic-graphs> OK: circuit [x,y] == edges [(x,y), (y,x)] algebraic-graphs> OK: circuit == circuit . reverse algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.clique ============ algebraic-graphs> OK: clique [] == empty algebraic-graphs> OK: clique [x] == vertex x algebraic-graphs> OK: clique [x,y] == edge x y algebraic-graphs> OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)] algebraic-graphs> OK: clique (xs ++ ys) == connect (clique xs) (clique ys) algebraic-graphs> OK: clique == clique . reverse algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.biclique ============ algebraic-graphs> OK: biclique [] [] == empty algebraic-graphs> OK: biclique [x] [] == vertex x algebraic-graphs> OK: biclique [] [y] == vertex y algebraic-graphs> OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)] algebraic-graphs> OK: biclique xs ys == connect (vertices xs) (vertices ys) algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.star ============ algebraic-graphs> OK: star x [] == vertex x algebraic-graphs> OK: star x [y] == edge x y algebraic-graphs> OK: star x [y,z] == edges [(x,y), (x,z)] algebraic-graphs> OK: star x ys == connect (vertex x) (vertices ys) algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.stars ============ algebraic-graphs> OK: stars [] == empty algebraic-graphs> OK: stars [(x, [])] == vertex x algebraic-graphs> OK: stars [(x, [y])] == edge x y algebraic-graphs> OK: stars [(x, ys)] == star x ys algebraic-graphs> OK: stars == overlays . map (uncurry star) algebraic-graphs> OK: stars . adjacencyList == id algebraic-graphs> OK: overlay (stars xs) (stars ys) == stars (xs ++ ys) algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.tree ============ algebraic-graphs> OK: tree (Node x []) == vertex x algebraic-graphs> OK: tree (Node x [Node y [Node z []]]) == path [x,y,z] algebraic-graphs> OK: tree (Node x [Node y [], Node z []]) == star x [y,z] algebraic-graphs> OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)] algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.forest ============ algebraic-graphs> OK: forest [] == empty algebraic-graphs> OK: forest [x] == tree x algebraic-graphs> OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)] algebraic-graphs> OK: forest == overlays . map tree algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.removeVertex ============ algebraic-graphs> OK: removeVertex x (vertex x) == empty algebraic-graphs> OK: removeVertex 1 (vertex 2) == vertex 2 algebraic-graphs> OK: removeVertex x (edge x x) == empty algebraic-graphs> OK: removeVertex 1 (edge 1 2) == vertex 2 algebraic-graphs> OK: removeVertex x . removeVertex x == removeVertex x algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.removeEdge ============ algebraic-graphs> OK: removeEdge x y (edge x y) == vertices [x,y] algebraic-graphs> OK: removeEdge x y . removeEdge x y == removeEdge x y algebraic-graphs> OK: removeEdge x y . removeVertex x == removeVertex x algebraic-graphs> OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2 algebraic-graphs> OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2 algebraic-graphs> OK: removeEdge x y == removeEdge y x algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.replaceVertex ============ algebraic-graphs> OK: replaceVertex x x == id algebraic-graphs> OK: replaceVertex x y (vertex x) == vertex y algebraic-graphs> OK: replaceVertex x y == mergeVertices (== x) y algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.mergeVertices ============ algebraic-graphs> OK: mergeVertices (const False) x == id algebraic-graphs> OK: mergeVertices (== x) y == replaceVertex x y algebraic-graphs> OK: mergeVertices even 1 (0 * 2) == 1 * 1 algebraic-graphs> OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1 algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.gmap ============ algebraic-graphs> OK: gmap f empty == empty algebraic-graphs> OK: gmap f (vertex x) == vertex (f x) algebraic-graphs> OK: gmap f (edge x y) == edge (f x) (f y) algebraic-graphs> OK: gmap id == id algebraic-graphs> OK: gmap f . gmap g == gmap (f . g) algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.induce ============ algebraic-graphs> OK: induce (const True ) x == x algebraic-graphs> OK: induce (const False) x == empty algebraic-graphs> OK: induce (/= x) == removeVertex x algebraic-graphs> OK: induce p . induce q == induce (\x -> p x && q x) algebraic-graphs> OK: isSubgraphOf (induce p x) x == True algebraic-graphs> algebraic-graphs> ============ Graph.Undirected.induceJust ============ algebraic-graphs> OK: induceJust (vertex Nothing) == empty algebraic-graphs> OK: induceJust (edge (Just x) Nothing) == vertex x algebraic-graphs> OK: induceJust . gmap Just == id algebraic-graphs> OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p algebraic-graphs> Test suite main: PASS algebraic-graphs> Test suite logged to: dist/test/algebraic-graphs-0.7-main.log algebraic-graphs> 1 of 1 test suites (1 of 1 test cases) passed. algebraic-graphs> checkPhase completed in 1 minutes 35 seconds algebraic-graphs> Running phase: haddockPhase algebraic-graphs> Preprocessing library for algebraic-graphs-0.7.. algebraic-graphs> Running Haddock on library for algebraic-graphs-0.7.. algebraic-graphs> Warning: --source-* options are ignored when --hyperlinked-source is enabled. algebraic-graphs> [ 1 of 29] Compiling Algebra.Graph.AdjacencyMap ( src/Algebra/Graph/AdjacencyMap.hs, nothing ) algebraic-graphs> [ 2 of 29] Compiling Algebra.Graph.AdjacencyIntMap ( src/Algebra/Graph/AdjacencyIntMap.hs, nothing ) algebraic-graphs> [ 3 of 29] Compiling Algebra.Graph.AdjacencyIntMap.Algorithm ( src/Algebra/Graph/AdjacencyIntMap/Algorithm.hs, nothing ) algebraic-graphs> [ 4 of 29] Compiling Algebra.Graph.Internal ( src/Algebra/Graph/Internal.hs, nothing ) algebraic-graphs> [ 5 of 29] Compiling Algebra.Graph ( src/Algebra/Graph.hs, nothing ) algebraic-graphs> [ 6 of 29] Compiling Algebra.Graph.HigherKinded.Class ( src/Algebra/Graph/HigherKinded/Class.hs, nothing ) algebraic-graphs> [ 7 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap ( src/Algebra/Graph/Bipartite/AdjacencyMap.hs, nothing ) algebraic-graphs> [ 8 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap.Algorithm ( src/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.hs, nothing ) algebraic-graphs> [ 9 of 29] Compiling Algebra.Graph.Label ( src/Algebra/Graph/Label.hs, nothing ) algebraic-graphs> [10 of 29] Compiling Algebra.Graph.NonEmpty.AdjacencyMap ( src/Algebra/Graph/NonEmpty/AdjacencyMap.hs, nothing ) algebraic-graphs> [11 of 29] Compiling Algebra.Graph.AdjacencyMap.Algorithm ( src/Algebra/Graph/AdjacencyMap/Algorithm.hs, nothing ) algebraic-graphs> algebraic-graphs> src/Algebra/Graph/AdjacencyMap/Algorithm.hs:384:43: warning: [GHC-63394] [-Wx-partial] algebraic-graphs> In the use of ‘head’ algebraic-graphs> (imported from Prelude, but defined in GHC.List): algebraic-graphs> "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." algebraic-graphs> | algebraic-graphs> 384 | exit v = do newComponent <- (v==).snd.head <$> gets boundaryStack algebraic-graphs> | ^^^^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/AdjacencyMap/Algorithm.hs:391:21: warning: [GHC-63394] [-Wx-partial] algebraic-graphs> In the use of ‘tail’ algebraic-graphs> (imported from Prelude, but defined in GHC.List): algebraic-graphs> "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." algebraic-graphs> | algebraic-graphs> 391 | pth' = tail v_pth' -- Here we know that v_pth' starts with v algebraic-graphs> | ^^^^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/AdjacencyMap/Algorithm.hs:395:26: warning: [GHC-63394] [-Wx-partial] algebraic-graphs> In the use of ‘head’ algebraic-graphs> (imported from Prelude, but defined in GHC.List): algebraic-graphs> "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." algebraic-graphs> | algebraic-graphs> 395 | p_v = fst $ head bnd algebraic-graphs> | ^^^^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/AdjacencyMap/Algorithm.hs:397:21: warning: [GHC-63394] [-Wx-partial] algebraic-graphs> In the use of ‘tail’ algebraic-graphs> (imported from Prelude, but defined in GHC.List): algebraic-graphs> "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." algebraic-graphs> | algebraic-graphs> 397 | bnd' = tail bnd algebraic-graphs> | ^^^^ algebraic-graphs> [12 of 29] Compiling Algebra.Graph.Acyclic.AdjacencyMap ( src/Algebra/Graph/Acyclic/AdjacencyMap.hs, nothing ) algebraic-graphs> [13 of 29] Compiling Algebra.Graph.ToGraph ( src/Algebra/Graph/ToGraph.hs, nothing ) algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:171:32: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 171 | vertexIntSet :: ToVertex t ~ Int => t -> IntSet algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:197:29: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 197 | preIntSet :: ToVertex t ~ Int => Int -> t -> IntSet algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:215:30: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 215 | postIntSet :: ToVertex t ~ Int => Int -> t -> IntSet algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:303:37: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 303 | toAdjacencyIntMap :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:312:46: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 312 | toAdjacencyIntMapTranspose :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:452:43: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 452 | adjacencyIntMap :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/ToGraph.hs:471:52: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 471 | adjacencyIntMapTranspose :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet algebraic-graphs> | ^ algebraic-graphs> [14 of 29] Compiling Algebra.Graph.Relation ( src/Algebra/Graph/Relation.hs, nothing ) algebraic-graphs> [15 of 29] Compiling Algebra.Graph.Relation.Symmetric ( src/Algebra/Graph/Relation/Symmetric.hs, nothing ) algebraic-graphs> [16 of 29] Compiling Algebra.Graph.NonEmpty ( src/Algebra/Graph/NonEmpty.hs, nothing ) algebraic-graphs> [17 of 29] Compiling Algebra.Graph.Labelled.AdjacencyMap ( src/Algebra/Graph/Labelled/AdjacencyMap.hs, nothing ) algebraic-graphs> [18 of 29] Compiling Algebra.Graph.Labelled ( src/Algebra/Graph/Labelled.hs, nothing ) algebraic-graphs> [19 of 29] Compiling Algebra.Graph.Labelled.Example.Network ( src/Algebra/Graph/Labelled/Example/Network.hs, nothing ) algebraic-graphs> [20 of 29] Compiling Algebra.Graph.Labelled.Example.Automaton ( src/Algebra/Graph/Labelled/Example/Automaton.hs, nothing ) algebraic-graphs> [21 of 29] Compiling Algebra.Graph.Export ( src/Algebra/Graph/Export.hs, nothing ) algebraic-graphs> algebraic-graphs> src/Algebra/Graph/Export.hs:185:41: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 185 | export :: (Ord a, ToGraph g, ToVertex g ~ a) => (a -> Doc s) -> (a -> a -> Doc s) -> g -> Doc s algebraic-graphs> | ^ algebraic-graphs> [22 of 29] Compiling Algebra.Graph.Export.Dot ( src/Algebra/Graph/Export/Dot.hs, nothing ) algebraic-graphs> algebraic-graphs> src/Algebra/Graph/Export/Dot.hs:121:63: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 121 | export :: (IsString s, Monoid s, Ord a, ToGraph g, ToVertex g ~ a) => Style a s -> g -> s algebraic-graphs> | ^ algebraic-graphs> algebraic-graphs> src/Algebra/Graph/Export/Dot.hs:165:78: warning: [GHC-58520] [-Wtype-equality-requires-operators] algebraic-graphs> The use of ‘~’ without TypeOperators algebraic-graphs> will become an error in a future GHC release. algebraic-graphs> Suggested fix: Perhaps you intended to use TypeOperators algebraic-graphs> | algebraic-graphs> 165 | exportAsIs :: (IsString s, Monoid s, Ord (ToVertex g), ToGraph g, ToVertex g ~ s) => g -> s algebraic-graphs> | ^ algebraic-graphs> [23 of 29] Compiling Algebra.Graph.Undirected ( src/Algebra/Graph/Undirected.hs, nothing ) algebraic-graphs> [24 of 29] Compiling Algebra.Graph.Class ( src/Algebra/Graph/Class.hs, nothing ) algebraic-graphs> [25 of 29] Compiling Algebra.Graph.Relation.Transitive ( src/Algebra/Graph/Relation/Transitive.hs, nothing ) algebraic-graphs> [26 of 29] Compiling Algebra.Graph.Relation.Reflexive ( src/Algebra/Graph/Relation/Reflexive.hs, nothing ) algebraic-graphs> [27 of 29] Compiling Algebra.Graph.Relation.Preorder ( src/Algebra/Graph/Relation/Preorder.hs, nothing ) algebraic-graphs> [28 of 29] Compiling Algebra.Graph.Example.Todo ( src/Algebra/Graph/Example/Todo.hs, nothing ) algebraic-graphs> [29 of 29] Compiling Data.Graph.Typed ( src/Data/Graph/Typed.hs, nothing ) algebraic-graphs> Haddock coverage: algebraic-graphs> Warning: 'empty' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/AdjacencyMap.hs:227:1 algebraic-graphs> * in ‘Data.Map.Internal’ algebraic-graphs> * in ‘Data.Set.Internal’ algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/AdjacencyMap.hs:227:1 algebraic-graphs> 100% ( 58 / 58) in 'Algebra.Graph.AdjacencyMap' algebraic-graphs> Warning: 'empty' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/AdjacencyIntMap.hs:237:1 algebraic-graphs> * in ‘Data.IntMap.Internal’ algebraic-graphs> * in ‘Data.IntSet.Internal’ algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/AdjacencyIntMap.hs:237:1 algebraic-graphs> 100% ( 56 / 56) in 'Algebra.Graph.AdjacencyIntMap' algebraic-graphs> Warning: 'nub' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'sort' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> 93% ( 14 / 15) in 'Algebra.Graph.AdjacencyIntMap.Algorithm' algebraic-graphs> Missing documentation for: algebraic-graphs> Cycle (src/Algebra/Graph/AdjacencyIntMap/Algorithm.hs:227) algebraic-graphs> Warning: 'List' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Internal.hs:50:18 algebraic-graphs> * at src/Algebra/Graph/Internal.hs:50:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Internal.hs:50:1 algebraic-graphs> Warning: 'IsList' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> 100% ( 19 / 19) in 'Algebra.Graph.Internal' algebraic-graphs> Warning: 'Context' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph.hs:1400:18 algebraic-graphs> * at src/Algebra/Graph.hs:1400:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph.hs:1400:1 algebraic-graphs> Warning: 'empty' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph.hs:316:1 algebraic-graphs> * in ‘Data.Set.Internal’ algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph.hs:316:1 algebraic-graphs> 100% ( 61 / 61) in 'Algebra.Graph' algebraic-graphs> Warning: 'mplus' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'vertexCount' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'hasVertex' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'vertexSet' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'isEmpty' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'edgeList' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'adjacencyList' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'box' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'edgeCount' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> 100% ( 42 / 42) in 'Algebra.Graph.HigherKinded.Class' algebraic-graphs> Warning: 'empty' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Bipartite/AdjacencyMap.hs:250:1 algebraic-graphs> * in ‘Data.Map.Internal’ algebraic-graphs> * in ‘Data.Set.Internal’ algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Bipartite/AdjacencyMap.hs:250:1 algebraic-graphs> Warning: 'nub' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'swap' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Bipartite/AdjacencyMap.hs:418:1 algebraic-graphs> * in ‘Data.Tuple’ algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Bipartite/AdjacencyMap.hs:418:1 algebraic-graphs> 100% ( 63 / 63) in 'Algebra.Graph.Bipartite.AdjacencyMap' algebraic-graphs> Warning: 'isRight' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'Matching' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.hs:169:21 algebraic-graphs> * at src/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.hs:169:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.hs:169:1 algebraic-graphs> Warning: 'empty' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Bipartite/AdjacencyMap.hs:250:1 algebraic-graphs> * in ‘Data.Set.Internal’ algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Bipartite/AdjacencyMap.hs:250:1 algebraic-graphs> 100% ( 25 / 25) in 'Algebra.Graph.Bipartite.AdjacencyMap.Algorithm' algebraic-graphs> Warning: 'Optimum' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Label.hs:442:20 algebraic-graphs> * at src/Algebra/Graph/Label.hs:442:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Label.hs:442:1 algebraic-graphs> Warning: 'Distance' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Label.hs:241:22 algebraic-graphs> * at src/Algebra/Graph/Label.hs:241:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Label.hs:241:1 algebraic-graphs> Warning: 'Minimum' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Label.hs:314:21 algebraic-graphs> * at src/Algebra/Graph/Label.hs:314:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Label.hs:314:1 algebraic-graphs> Warning: 'Capacity' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Label.hs:176:22 algebraic-graphs> * at src/Algebra/Graph/Label.hs:176:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Label.hs:176:1 algebraic-graphs> Warning: 'Count' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Label.hs:209:19 algebraic-graphs> * at src/Algebra/Graph/Label.hs:209:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Label.hs:209:1 algebraic-graphs> 100% ( 37 / 37) in 'Algebra.Graph.Label' algebraic-graphs> Warning: 'AdjacencyMap' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/AdjacencyMap.hs:157:1 algebraic-graphs> * at src/Algebra/Graph/NonEmpty/AdjacencyMap.hs:152:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/NonEmpty/AdjacencyMap.hs:152:1 algebraic-graphs> Warning: 'isEmpty' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'empty' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'vertexList' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'edges' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'adjacencyList' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'stars' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> 100% ( 51 / 51) in 'Algebra.Graph.NonEmpty.AdjacencyMap' algebraic-graphs> Warning: 'nub' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'sort' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> Warning: 'vertex' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/AdjacencyMap.hs:239:1 algebraic-graphs> * at src/Algebra/Graph/NonEmpty/AdjacencyMap.hs:224:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/NonEmpty/AdjacencyMap.hs:224:1 algebraic-graphs> Warning: 'edge' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/AdjacencyMap.hs:252:1 algebraic-graphs> * at src/Algebra/Graph/NonEmpty/AdjacencyMap.hs:237:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/NonEmpty/AdjacencyMap.hs:237:1 algebraic-graphs> 93% ( 15 / 16) in 'Algebra.Graph.AdjacencyMap.Algorithm' algebraic-graphs> Missing documentation for: algebraic-graphs> Cycle (src/Algebra/Graph/AdjacencyMap/Algorithm.hs:228) algebraic-graphs> Warning: 'empty' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Acyclic/AdjacencyMap.hs:132:1 algebraic-graphs> * at src/Algebra/Graph/AdjacencyMap.hs:227:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/AdjacencyMap.hs:227:1 algebraic-graphs> Warning: 'vertex' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Acyclic/AdjacencyMap.hs:143:1 algebraic-graphs> * at src/Algebra/Graph/AdjacencyMap.hs:239:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/AdjacencyMap.hs:239:1 algebraic-graphs> Warning: 'vertexCount' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Acyclic/AdjacencyMap.hs:246:1 algebraic-graphs> * at src/Algebra/Graph/AdjacencyMap.hs:417:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/AdjacencyMap.hs:417:1 algebraic-graphs> Warning: 'edgeCount' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Acyclic/AdjacencyMap.hs:258:1 algebraic-graphs> * at src/Algebra/Graph/AdjacencyMap.hs:429:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/AdjacencyMap.hs:429:1 algebraic-graphs> Warning: 'vertices' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Acyclic/AdjacencyMap.hs:157:1 algebraic-graphs> * at src/Algebra/Graph/AdjacencyMap.hs:309:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/AdjacencyMap.hs:309:1 algebraic-graphs> 100% ( 44 / 44) in 'Algebra.Graph.Acyclic.AdjacencyMap' algebraic-graphs> Warning: 'foldg' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph.hs:482:1 algebraic-graphs> * at src/Algebra/Graph/ToGraph.hs:98:5 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/ToGraph.hs:98:5 algebraic-graphs> 100% ( 8 / 8) in 'Algebra.Graph.ToGraph' algebraic-graphs> Warning: 'Relation' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Relation.hs:157:19 algebraic-graphs> * at src/Algebra/Graph/Relation.hs:157:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Relation.hs:157:1 algebraic-graphs> Warning: 'empty' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Relation.hs:243:1 algebraic-graphs> * in ‘Data.Set.Internal’ algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Relation.hs:243:1 algebraic-graphs> Warning: 'AdjacencyMap' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> 100% ( 56 / 56) in 'Algebra.Graph.Relation' algebraic-graphs> Warning: 'vertexCount' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Relation.hs:423:1 algebraic-graphs> * at src/Algebra/Graph/Relation/Symmetric.hs:372:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Relation/Symmetric.hs:372:1 algebraic-graphs> Warning: 'edgeCount' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Relation.hs:435:1 algebraic-graphs> * at src/Algebra/Graph/Relation/Symmetric.hs:384:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Relation/Symmetric.hs:384:1 algebraic-graphs> Warning: 'empty' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Relation/Symmetric.hs:188:1 algebraic-graphs> * in ‘Data.Set.Internal’ algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Relation/Symmetric.hs:188:1 algebraic-graphs> 100% ( 48 / 48) in 'Algebra.Graph.Relation.Symmetric' algebraic-graphs> Warning: 'vertexList' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> 100% ( 53 / 53) in 'Algebra.Graph.NonEmpty' algebraic-graphs> Warning: 'empty' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Labelled/AdjacencyMap.hs:160:1 algebraic-graphs> * in ‘Data.Map.Internal’ algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Labelled/AdjacencyMap.hs:160:1 algebraic-graphs> Warning: 'hasEdge' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/AdjacencyMap.hs:403:1 algebraic-graphs> * at src/Algebra/Graph/Labelled/AdjacencyMap.hs:379:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Labelled/AdjacencyMap.hs:379:1 algebraic-graphs> 100% ( 49 / 49) in 'Algebra.Graph.Labelled.AdjacencyMap' algebraic-graphs> Warning: 'Context' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Labelled.hs:675:20 algebraic-graphs> * at src/Algebra/Graph/Labelled.hs:675:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Labelled.hs:675:1 algebraic-graphs> Warning: 'empty' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Labelled.hs:191:1 algebraic-graphs> * in ‘Data.Set.Internal’ algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Labelled.hs:191:1 algebraic-graphs> Warning: 'Focus' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Labelled.hs:642:18 algebraic-graphs> * at src/Algebra/Graph/Labelled.hs:642:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Labelled.hs:642:1 algebraic-graphs> 100% ( 49 / 49) in 'Algebra.Graph.Labelled' algebraic-graphs> 100% ( 6 / 6) in 'Algebra.Graph.Labelled.Example.Network' algebraic-graphs> 100% ( 5 / 5) in 'Algebra.Graph.Labelled.Example.Automaton' algebraic-graphs> Warning: 'Doc' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Export.hs:57:17 algebraic-graphs> * at src/Algebra/Graph/Export.hs:57:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Export.hs:57:1 algebraic-graphs> 100% ( 14 / 14) in 'Algebra.Graph.Export' algebraic-graphs> Warning: 'Style' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Export/Dot.hs:49:18 algebraic-graphs> * at src/Algebra/Graph/Export/Dot.hs:49:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Export/Dot.hs:49:1 algebraic-graphs> Warning: 'Graph' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> 100% ( 11 / 11) in 'Algebra.Graph.Export.Dot' algebraic-graphs> Warning: 'empty' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Undirected.hs:253:1 algebraic-graphs> * in ‘Data.Set.Internal’ algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Undirected.hs:253:1 algebraic-graphs> 100% ( 50 / 50) in 'Algebra.Graph.Undirected' algebraic-graphs> 100% ( 27 / 27) in 'Algebra.Graph.Class' algebraic-graphs> Warning: 'TransitiveRelation' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Relation/Transitive.hs:39:32 algebraic-graphs> * at src/Algebra/Graph/Relation/Transitive.hs:39:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Relation/Transitive.hs:39:1 algebraic-graphs> Warning: 'Transitive' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> 100% ( 5 / 5) in 'Algebra.Graph.Relation.Transitive' algebraic-graphs> Warning: 'ReflexiveRelation' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Relation/Reflexive.hs:34:31 algebraic-graphs> * at src/Algebra/Graph/Relation/Reflexive.hs:34:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Relation/Reflexive.hs:34:1 algebraic-graphs> Warning: 'Reflexive' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> 100% ( 5 / 5) in 'Algebra.Graph.Relation.Reflexive' algebraic-graphs> Warning: 'PreorderRelation' is ambiguous. It is defined algebraic-graphs> * at src/Algebra/Graph/Relation/Preorder.hs:44:30 algebraic-graphs> * at src/Algebra/Graph/Relation/Preorder.hs:44:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Algebra/Graph/Relation/Preorder.hs:44:1 algebraic-graphs> Warning: 'Preorder' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> 100% ( 5 / 5) in 'Algebra.Graph.Relation.Preorder' algebraic-graphs> 0% ( 0 / 8) in 'Algebra.Graph.Example.Todo' algebraic-graphs> Missing documentation for: algebraic-graphs> Module header algebraic-graphs> Todo (src/Algebra/Graph/Example/Todo.hs:13) algebraic-graphs> todo (src/Algebra/Graph/Example/Todo.hs:42) algebraic-graphs> low (src/Algebra/Graph/Example/Todo.hs:23) algebraic-graphs> high (src/Algebra/Graph/Example/Todo.hs:27) algebraic-graphs> ~*~ (src/Algebra/Graph/Example/Todo.hs:35) algebraic-graphs> >*< (src/Algebra/Graph/Example/Todo.hs:39) algebraic-graphs> priority (src/Algebra/Graph/Example/Todo.hs:31) algebraic-graphs> Warning: 'GraphKL' is ambiguous. It is defined algebraic-graphs> * at src/Data/Graph/Typed.hs:40:18 algebraic-graphs> * at src/Data/Graph/Typed.hs:40:1 algebraic-graphs> You may be able to disambiguate the identifier by qualifying it or algebraic-graphs> by specifying the type/value namespace explicitly. algebraic-graphs> Defaulting to the one defined at src/Data/Graph/Typed.hs:40:1 algebraic-graphs> Warning: 'array' is out of scope. algebraic-graphs> If you qualify the identifier, haddock can try to link it anyway. algebraic-graphs> 90% ( 10 / 11) in 'Data.Graph.Typed' algebraic-graphs> Missing documentation for: algebraic-graphs> scc (src/Data/Graph/Typed.hs:192) algebraic-graphs> Warning: Algebra.Graph.AdjacencyMap: could not find link destinations for: algebraic-graphs> - Algebra.Graph.AdjacencyMap.Rep_AdjacencyMap algebraic-graphs> - Algebra.Graph.ToGraph.D:R:ToVertexAdjacencyMap0 algebraic-graphs> - Algebra.Graph.Class.D:R:VertexAdjacencyMap0 algebraic-graphs> Warning: Algebra.Graph.AdjacencyIntMap: could not find link destinations for: algebraic-graphs> - Algebra.Graph.AdjacencyIntMap.Rep_AdjacencyIntMap algebraic-graphs> - Algebra.Graph.ToGraph.D:R:ToVertexAdjacencyIntMap algebraic-graphs> - Algebra.Graph.Class.D:R:VertexAdjacencyIntMap algebraic-graphs> Warning: Algebra.Graph.Internal: could not find link destinations for: algebraic-graphs> - Algebra.Graph.Internal.D:R:ItemList algebraic-graphs> Warning: Algebra.Graph: could not find link destinations for: algebraic-graphs> - Algebra.Graph.Rep_Graph algebraic-graphs> - Algebra.Graph.ToGraph.D:R:ToVertexGraph algebraic-graphs> - Algebra.Graph.Class.D:R:VertexGraph1 algebraic-graphs> Warning: Algebra.Graph.Bipartite.AdjacencyMap: could not find link destinations for: algebraic-graphs> - Algebra.Graph.Bipartite.AdjacencyMap.D:R:ItemList algebraic-graphs> - Algebra.Graph.Bipartite.AdjacencyMap.Rep_List algebraic-graphs> - Algebra.Graph.Bipartite.AdjacencyMap.Rep_AdjacencyMap algebraic-graphs> Warning: Algebra.Graph.Bipartite.AdjacencyMap.Algorithm: could not find link destinations for: algebraic-graphs> - Algebra.Graph.Bipartite.AdjacencyMap.Algorithm.Rep_Matching algebraic-graphs> Warning: Algebra.Graph.Label: could not find link destinations for: algebraic-graphs> - Algebra.Graph.Label.D:R:ItemMinimum algebraic-graphs> - Algebra.Graph.Label.D:R:ItemLabel algebraic-graphs> Warning: Algebra.Graph.NonEmpty.AdjacencyMap: could not find link destinations for: algebraic-graphs> - Algebra.Graph.NonEmpty.AdjacencyMap.Rep_AdjacencyMap algebraic-graphs> - Algebra.Graph.ToGraph.D:R:ToVertexAdjacencyMap algebraic-graphs> Warning: Algebra.Graph.ToGraph: could not find link destinations for: algebraic-graphs> - Algebra.Graph.ToGraph.D:R:ToVertexAdjacencyMap algebraic-graphs> - Algebra.Graph.ToGraph.D:R:ToVertexAdjacencyIntMap algebraic-graphs> - Algebra.Graph.ToGraph.D:R:ToVertexAdjacencyMap0 algebraic-graphs> - Algebra.Graph.ToGraph.D:R:ToVertexGraph algebraic-graphs> - Algebra.Graph.Relation.D:R:ToVertexRelation algebraic-graphs> - Algebra.Graph.Relation.Symmetric.D:R:ToVertexRelation algebraic-graphs> - Algebra.Graph.NonEmpty.D:R:ToVertexGraph algebraic-graphs> - Algebra.Graph.Labelled.AdjacencyMap.D:R:ToVertexAdjacencyMap algebraic-graphs> - Algebra.Graph.Labelled.D:R:ToVertexGraph algebraic-graphs> Warning: Algebra.Graph.Relation: could not find link destinations for: algebraic-graphs> - Algebra.Graph.Relation.D:R:ToVertexRelation algebraic-graphs> - Algebra.Graph.Class.D:R:VertexRelation0 algebraic-graphs> Warning: Algebra.Graph.Relation.Symmetric: could not find link destinations for: algebraic-graphs> - Algebra.Graph.Relation.Symmetric.D:R:ToVertexRelation algebraic-graphs> - Algebra.Graph.Class.D:R:VertexRelation algebraic-graphs> Warning: Algebra.Graph.NonEmpty: could not find link destinations for: algebraic-graphs> - Algebra.Graph.NonEmpty.D:R:ToVertexGraph algebraic-graphs> Warning: Algebra.Graph.Labelled.AdjacencyMap: could not find link destinations for: algebraic-graphs> - Algebra.Graph.Labelled.AdjacencyMap.D:R:ToVertexAdjacencyMap algebraic-graphs> - Algebra.Graph.Labelled.AdjacencyMap.Rep_AdjacencyMap algebraic-graphs> - Algebra.Graph.Class.D:R:VertexAdjacencyMap algebraic-graphs> Warning: Algebra.Graph.Labelled: could not find link destinations for: algebraic-graphs> - Algebra.Graph.Labelled.D:R:ToVertexGraph algebraic-graphs> - Algebra.Graph.Labelled.Rep_Graph algebraic-graphs> - Algebra.Graph.Class.D:R:VertexGraph algebraic-graphs> Warning: Algebra.Graph.Undirected: could not find link destinations for: algebraic-graphs> - Algebra.Graph.Undirected.Rep_Graph algebraic-graphs> - Algebra.Graph.Class.D:R:VertexGraph0 algebraic-graphs> Warning: Algebra.Graph.Class: could not find link destinations for: algebraic-graphs> - Algebra.Graph.Class.D:R:VertexTuple3 algebraic-graphs> - Algebra.Graph.Class.D:R:VertexTuple2 algebraic-graphs> - Algebra.Graph.Class.D:R:VertexFUN algebraic-graphs> - Algebra.Graph.Class.D:R:VertexMaybe algebraic-graphs> - Algebra.Graph.Class.D:R:VertexUnit algebraic-graphs> - Algebra.Graph.Class.D:R:VertexRelation algebraic-graphs> - Algebra.Graph.Class.D:R:VertexRelation0 algebraic-graphs> - Algebra.Graph.Class.D:R:VertexAdjacencyMap algebraic-graphs> - Algebra.Graph.Class.D:R:VertexGraph algebraic-graphs> - Algebra.Graph.Class.D:R:VertexAdjacencyIntMap algebraic-graphs> - Algebra.Graph.Class.D:R:VertexAdjacencyMap0 algebraic-graphs> - Algebra.Graph.Class.D:R:VertexGraph0 algebraic-graphs> - Algebra.Graph.Class.D:R:VertexGraph1 algebraic-graphs> - Algebra.Graph.Relation.Transitive.D:R:VertexTransitiveRelation algebraic-graphs> - Algebra.Graph.Relation.Reflexive.D:R:VertexReflexiveRelation algebraic-graphs> - Algebra.Graph.Relation.Preorder.D:R:VertexPreorderRelation algebraic-graphs> - Algebra.Graph.Example.Todo.D:R:VertexTodo algebraic-graphs> Warning: Algebra.Graph.Relation.Transitive: could not find link destinations for: algebraic-graphs> - Algebra.Graph.Relation.Transitive.D:R:VertexTransitiveRelation algebraic-graphs> Warning: Algebra.Graph.Relation.Reflexive: could not find link destinations for: algebraic-graphs> - Algebra.Graph.Relation.Reflexive.D:R:VertexReflexiveRelation algebraic-graphs> Warning: Algebra.Graph.Relation.Preorder: could not find link destinations for: algebraic-graphs> - Algebra.Graph.Relation.Preorder.D:R:VertexPreorderRelation algebraic-graphs> Warning: Algebra.Graph.Example.Todo: could not find link destinations for: algebraic-graphs> - Algebra.Graph.Example.Todo.D:R:VertexTodo algebraic-graphs> Documentation created: dist/doc/html/algebraic-graphs/, algebraic-graphs> dist/doc/html/algebraic-graphs/algebraic-graphs.txt algebraic-graphs> Preprocessing test suite 'main' for algebraic-graphs-0.7.. algebraic-graphs> Running phase: installPhase algebraic-graphs> Installing library in /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/algebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9 algebraic-graphs> Running phase: fixupPhase algebraic-graphs> shrinking RPATHs of ELF executables and libraries in /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7 algebraic-graphs> shrinking /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/lib/ghc-9.8.4/lib/x86_64-linux-ghc-9.8.4/libHSalgebraic-graphs-0.7-Lx7KCTShuMs7O8WJ5FrJm9-ghc9.8.4.so algebraic-graphs> checking for references to /build/ in /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7... algebraic-graphs> patching script interpreter paths in /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7 algebraic-graphs> stripping (with command strip and flags -S -p) in /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/lib algebraic-graphs> shrinking RPATHs of ELF executables and libraries in /nix/store/i20wyz33jxmndy1mxc76aph97vlmik3k-algebraic-graphs-0.7-doc algebraic-graphs> checking for references to /build/ in /nix/store/i20wyz33jxmndy1mxc76aph97vlmik3k-algebraic-graphs-0.7-doc... algebraic-graphs> patching script interpreter paths in /nix/store/i20wyz33jxmndy1mxc76aph97vlmik3k-algebraic-graphs-0.7-doc algebraic-graphs (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/i20wyz33jxmndy1mxc76aph97vlmik3k-algebraic-graphs-0.7-doc /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7 algebraic-graphs (post)> Pushing 2 paths (66 are already present) using zstd to cache sellout ⏳ algebraic-graphs (post)> algebraic-graphs (post)> Pushing /nix/store/i20wyz33jxmndy1mxc76aph97vlmik3k-algebraic-graphs-0.7-doc (10.45 MiB) algebraic-graphs (post)> Pushing /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7 (24.13 MiB) algebraic-graphs (post)> algebraic-graphs (post)> All done. algebraic-graphs (post)> added 2 signatures algebraic-graphs (post)> added 3 signatures algebraic-graphs (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/i20wyz33jxmndy1mxc76aph97vlmik3k-algebraic-graphs-0.7-doc /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7 algebraic-graphs (post)> copying 2 paths... algebraic-graphs (post)> copying path '/nix/store/i20wyz33jxmndy1mxc76aph97vlmik3k-algebraic-graphs-0.7-doc' to 'https://cache.nix-ci.com'... algebraic-graphs (post)> copying path '/nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7' to 'https://cache.nix-ci.com'... algebraic-graphs (post)> copying 1 paths... algebraic-graphs (post)> copying path '/nix/store/r2w6za8qag5j42r0naczjqa0yppwdvrn-algebraic-graphs-0.7.drv' to 'https://cache.nix-ci.com'... algebraic-graphs (post)> added 0 signatures algebraic-graphs (post)> added 0 signatures algebraic-graphs (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/i20wyz33jxmndy1mxc76aph97vlmik3k-algebraic-graphs-0.7-doc /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7 algebraic-graphs (post)> copying 2 paths... algebraic-graphs (post)> copying path '/nix/store/i20wyz33jxmndy1mxc76aph97vlmik3k-algebraic-graphs-0.7-doc' to 'ssh-ng://worker.nix-ci.com'... algebraic-graphs (post)> copying path '/nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7' to 'ssh-ng://worker.nix-ci.com'... algebraic-graphs (post)> copying 1 paths... algebraic-graphs (post)> copying path '/nix/store/r2w6za8qag5j42r0naczjqa0yppwdvrn-algebraic-graphs-0.7.drv' to 'ssh-ng://worker.nix-ci.com'... building '/nix/store/mk6zx2ji9yl9zdlx8ic9wjdkpyf5pxvy-ghc-9.8.4-with-packages.drv'... ghc> /nix/store/94wzxlk8jlx4ggr814360l08b2dhgabj-doctest-0.22.6/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/6vzlny7c64g47yz03sj7hpx6chcxj067-hedgehog-1.5/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/srbbiafgbi8529lgn4a0c6fl4f675fqc-no-recursion-0.3.0.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/r05mp7s3pazfagbx9hy60z0bn8064y8y-Cabal-3.12.1.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/9ipcrnwj8ldx7g352xhb3n3prnyjjka8-cabal-doctest-1.0.11/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/2xv8vxjyvnvk973grzzd6im726v3v5bg-ansi-terminal-1.1.2/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/2xv8vxjyvnvk973grzzd6im726v3v5bg-ansi-terminal-1.1.2/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/37in0v9zkmia4cjsj1zlv2frs86c24l5-async-2.2.5/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/37in0v9zkmia4cjsj1zlv2frs86c24l5-async-2.2.5/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/c4sa84kmd5gpykwg12ism3p5vff5j0zg-barbies-2.1.1.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/c4sa84kmd5gpykwg12ism3p5vff5j0zg-barbies-2.1.1.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/f98msspwiy2v0bx8rzasfbbm40b2x496-concurrent-output-1.10.21/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/f98msspwiy2v0bx8rzasfbbm40b2x496-concurrent-output-1.10.21/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/q3qxm7qirc9390na182ryr99ngpm2h6n-lifted-async-0.10.2.7/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/q3qxm7qirc9390na182ryr99ngpm2h6n-lifted-async-0.10.2.7/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/1vp4sdgx9hiys0gi7fd3i9cvl83c28q9-mmorph-1.2.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/1vp4sdgx9hiys0gi7fd3i9cvl83c28q9-mmorph-1.2.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/zxx7mwa8f2vin45fxqxqnzq7zhxrx0df-monad-control-1.0.3.1/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/zxx7mwa8f2vin45fxqxqnzq7zhxrx0df-monad-control-1.0.3.1/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/jq4090yw2v494qwmr4w3w7flj9wx3pzf-pretty-show-1.10/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/jq4090yw2v494qwmr4w3w7flj9wx3pzf-pretty-show-1.10/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/gdj744ziyaamx376x49dnadyhc6547f3-primitive-0.9.1.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/gdj744ziyaamx376x49dnadyhc6547f3-primitive-0.9.1.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/xirz9xz95gfy43zb4wcc9kyhhyka2irc-random-1.2.1.3/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/xirz9xz95gfy43zb4wcc9kyhhyka2irc-random-1.2.1.3/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/mbvxpdgzila70dznqx7c9hlk1b70hp02-resourcet-1.3.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/mbvxpdgzila70dznqx7c9hlk1b70hp02-resourcet-1.3.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/4bl6fybp6m796ps1nw13glf1d63dqr5l-safe-exceptions-0.1.7.4/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/4bl6fybp6m796ps1nw13glf1d63dqr5l-safe-exceptions-0.1.7.4/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/kp2ksw5fppvi7s1xw04fpvg7aq7svpn2-transformers-base-0.4.6/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/kp2ksw5fppvi7s1xw04fpvg7aq7svpn2-transformers-base-0.4.6/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/r9fhxmn6yy3kf8z0v7zd67mxnnq2mwr6-wl-pprint-annotated-0.1.0.1/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/r9fhxmn6yy3kf8z0v7zd67mxnnq2mwr6-wl-pprint-annotated-0.1.0.1/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/ngk63la5nc7kdmm3mmlsysr2w674phb8-Cabal-syntax-3.12.1.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/ngk63la5nc7kdmm3mmlsysr2w674phb8-Cabal-syntax-3.12.1.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/li109klp14s99c88l1k2vcnlm5v6klny-ansi-terminal-types-1.1/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/li109klp14s99c88l1k2vcnlm5v6klny-ansi-terminal-types-1.1/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/8sh962fh6cxs6sk2ml4ayzmdwn21fzni-hashable-1.4.7.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/8sh962fh6cxs6sk2ml4ayzmdwn21fzni-hashable-1.4.7.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/7v1j2j5lqng1l48d3ycckv5yqgic6y65-distributive-0.6.2.1/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/7v1j2j5lqng1l48d3ycckv5yqgic6y65-distributive-0.6.2.1/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/fgdhvl8219gqkbnwnmfhcmkv5pxif8kq-constraints-0.14.2/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/fgdhvl8219gqkbnwnmfhcmkv5pxif8kq-constraints-0.14.2/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/fplaxsl6w90cnpypz5pvsxhi34bysi5q-lifted-base-0.2.3.12/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/fplaxsl6w90cnpypz5pvsxhi34bysi5q-lifted-base-0.2.3.12/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/rv26wvx2gali05x1y8x4jvf6py5i40z9-transformers-compat-0.7.2/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/rv26wvx2gali05x1y8x4jvf6py5i40z9-transformers-compat-0.7.2/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/14i9g2p7b5jd53minhgn4qyizvpi32w4-splitmix-0.1.1/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/14i9g2p7b5jd53minhgn4qyizvpi32w4-splitmix-0.1.1/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/l7innqzg7pklm2v92zmvn27mmadf5ykq-unliftio-core-0.2.1.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/l7innqzg7pklm2v92zmvn27mmadf5ykq-unliftio-core-0.2.1.0/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/cc948fgzkc4qv7ssn8bdyaa1sni6m05w-base-orphans-0.9.3/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/cc948fgzkc4qv7ssn8bdyaa1sni6m05w-base-orphans-0.9.3/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/9ii8r6wk4vhp018mm63df83155palgbs-os-string-2.0.7/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/9ii8r6wk4vhp018mm63df83155palgbs-os-string-2.0.7/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/968zkd8g01dc6syjyjykix0sxly7hi4h-tagged-0.8.8/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/968zkd8g01dc6syjyjykix0sxly7hi4h-tagged-0.8.8/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/rmfracij0cs1c5nrs86dnnrx4xw97j6i-boring-0.2.2/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> /nix/store/rmfracij0cs1c5nrs86dnnrx4xw97j6i-boring-0.2.2/nix-support: ghc> propagated-build-inputs: Keeping existing link to /nix/store/p0nhccvvr28qf2dhiibzdh9caj259jqh-algebraic-graphs-0.7/nix-support/propagated-build-inputs ghc> Warning: include-dirs: /nix/store/i505xlcy1fxxqwfrc3i5smvk2g62rlfl-ghc-9.8.4-with-packages/lib/ghc-9.8.4/lib/../lib/x86_64-linux-ghc-9.8.4/directory-1.3.8.5-b132/include doesn't exist or isn't a directory ghc (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/i505xlcy1fxxqwfrc3i5smvk2g62rlfl-ghc-9.8.4-with-packages ghc (post)> Pushing 1 paths (148 are already present) using zstd to cache sellout ⏳ ghc (post)> ghc (post)> Pushing /nix/store/i505xlcy1fxxqwfrc3i5smvk2g62rlfl-ghc-9.8.4-with-packages (4.95 MiB) ghc (post)> ghc (post)> All done. ghc (post)> added 15 signatures ghc (post)> added 1 signatures ghc (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/i505xlcy1fxxqwfrc3i5smvk2g62rlfl-ghc-9.8.4-with-packages ghc (post)> copying 15 paths... ghc (post)> copying path '/nix/store/08a71lkcdvxxsyg47ffm82bbaxklydbh-lifted-base-0.2.3.12-doc' to 'https://cache.nix-ci.com'... ghc (post)> copying path '/nix/store/f33rrs07la1x2h523j4czaqw070g2sl3-wl-pprint-annotated-0.1.0.1-doc' to 'https://cache.nix-ci.com'... ghc (post)> copying path '/nix/store/fgs5s5fdg8qpqz3i9xnj5g8an4yn0in5-concurrent-output-1.10.21-doc' to 'https://cache.nix-ci.com'... ghc (post)> copying path '/nix/store/n4nbsv6dkp6cz607wvbl57igyzrcg2gg-barbies-2.1.1.0-doc' to 'https://cache.nix-ci.com'... ghc (post)> copying path '/nix/store/x44xmgj7br692qici0s98cmkqqih55dc-erf-2.0.0.0-doc' to 'https://cache.nix-ci.com'... ghc (post)> copying path '/nix/store/rwyjabsm3d7bxljyq6caqj4p7w327ihd-erf-2.0.0.0' to 'https://cache.nix-ci.com'... ghc (post)> copying path '/nix/store/fplaxsl6w90cnpypz5pvsxhi34bysi5q-lifted-base-0.2.3.12' to 'https://cache.nix-ci.com'... ghc (post)> copying path '/nix/store/z416k4x3s8005iizhiaz5naff1big7c9-lifted-async-0.10.2.7-doc' to 'https://cache.nix-ci.com'... ghc (post)> copying path '/nix/store/r9fhxmn6yy3kf8z0v7zd67mxnnq2mwr6-wl-pprint-annotated-0.1.0.1' to 'https://cache.nix-ci.com'... ghc (post)> copying path '/nix/store/f98msspwiy2v0bx8rzasfbbm40b2x496-concurrent-output-1.10.21' to 'https://cache.nix-ci.com'... ghc (post)> copying path '/nix/store/q3qxm7qirc9390na182ryr99ngpm2h6n-lifted-async-0.10.2.7' to 'https://cache.nix-ci.com'... ghc (post)> copying path '/nix/store/3r26wrq4h69ix8hvaaa74hmcdi6w00ss-hedgehog-1.5-doc' to 'https://cache.nix-ci.com'... ghc (post)> copying path '/nix/store/c4sa84kmd5gpykwg12ism3p5vff5j0zg-barbies-2.1.1.0' to 'https://cache.nix-ci.com'... ghc (post)> copying path '/nix/store/6vzlny7c64g47yz03sj7hpx6chcxj067-hedgehog-1.5' to 'https://cache.nix-ci.com'... ghc (post)> copying path '/nix/store/i505xlcy1fxxqwfrc3i5smvk2g62rlfl-ghc-9.8.4-with-packages' to 'https://cache.nix-ci.com'... ghc (post)> copying 1 paths... ghc (post)> copying path '/nix/store/mk6zx2ji9yl9zdlx8ic9wjdkpyf5pxvy-ghc-9.8.4-with-packages.drv' to 'https://cache.nix-ci.com'... ghc (post)> added 0 signatures ghc (post)> added 0 signatures ghc (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/i505xlcy1fxxqwfrc3i5smvk2g62rlfl-ghc-9.8.4-with-packages ghc (post)> copying 15 paths... ghc (post)> copying path '/nix/store/08a71lkcdvxxsyg47ffm82bbaxklydbh-lifted-base-0.2.3.12-doc' to 'ssh-ng://worker.nix-ci.com'... ghc (post)> copying path '/nix/store/f33rrs07la1x2h523j4czaqw070g2sl3-wl-pprint-annotated-0.1.0.1-doc' to 'ssh-ng://worker.nix-ci.com'... ghc (post)> copying path '/nix/store/fgs5s5fdg8qpqz3i9xnj5g8an4yn0in5-concurrent-output-1.10.21-doc' to 'ssh-ng://worker.nix-ci.com'... ghc (post)> copying path '/nix/store/n4nbsv6dkp6cz607wvbl57igyzrcg2gg-barbies-2.1.1.0-doc' to 'ssh-ng://worker.nix-ci.com'... ghc (post)> copying path '/nix/store/x44xmgj7br692qici0s98cmkqqih55dc-erf-2.0.0.0-doc' to 'ssh-ng://worker.nix-ci.com'... ghc (post)> copying path '/nix/store/z416k4x3s8005iizhiaz5naff1big7c9-lifted-async-0.10.2.7-doc' to 'ssh-ng://worker.nix-ci.com'... ghc (post)> copying path '/nix/store/3r26wrq4h69ix8hvaaa74hmcdi6w00ss-hedgehog-1.5-doc' to 'ssh-ng://worker.nix-ci.com'... ghc (post)> copying path '/nix/store/c4sa84kmd5gpykwg12ism3p5vff5j0zg-barbies-2.1.1.0' to 'ssh-ng://worker.nix-ci.com'... ghc (post)> copying path '/nix/store/f98msspwiy2v0bx8rzasfbbm40b2x496-concurrent-output-1.10.21' to 'ssh-ng://worker.nix-ci.com'... ghc (post)> copying path '/nix/store/fplaxsl6w90cnpypz5pvsxhi34bysi5q-lifted-base-0.2.3.12' to 'ssh-ng://worker.nix-ci.com'... ghc (post)> copying path '/nix/store/q3qxm7qirc9390na182ryr99ngpm2h6n-lifted-async-0.10.2.7' to 'ssh-ng://worker.nix-ci.com'... ghc (post)> copying path '/nix/store/r9fhxmn6yy3kf8z0v7zd67mxnnq2mwr6-wl-pprint-annotated-0.1.0.1' to 'ssh-ng://worker.nix-ci.com'... ghc (post)> copying path '/nix/store/rwyjabsm3d7bxljyq6caqj4p7w327ihd-erf-2.0.0.0' to 'ssh-ng://worker.nix-ci.com'... ghc (post)> copying path '/nix/store/6vzlny7c64g47yz03sj7hpx6chcxj067-hedgehog-1.5' to 'ssh-ng://worker.nix-ci.com'... ghc (post)> copying path '/nix/store/i505xlcy1fxxqwfrc3i5smvk2g62rlfl-ghc-9.8.4-with-packages' to 'ssh-ng://worker.nix-ci.com'... ghc (post)> copying 1 paths... ghc (post)> copying path '/nix/store/mk6zx2ji9yl9zdlx8ic9wjdkpyf5pxvy-ghc-9.8.4-with-packages.drv' to 'ssh-ng://worker.nix-ci.com'... building '/nix/store/yq46bwj4rrb0v55ks3k1r6bdz35swxxy-ghc-shell-for-packages-0.drv'... ghc-shell-for-packages (post)> Uploading paths from nix-ci to cachix cache "sellout" /nix/store/2ljlk15dfg9xw80xmkxbsmcajhybc5qv-ghc-shell-for-packages-0 ghc-shell-for-packages (post)> Pushing 1 paths (792 are already present) using zstd to cache sellout ⏳ ghc-shell-for-packages (post)> ghc-shell-for-packages (post)> Pushing /nix/store/2ljlk15dfg9xw80xmkxbsmcajhybc5qv-ghc-shell-for-packages-0 (336.00 B) ghc-shell-for-packages (post)> ghc-shell-for-packages (post)> All done. ghc-shell-for-packages (post)> added 1 signatures ghc-shell-for-packages (post)> added 294 signatures ghc-shell-for-packages (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/2ljlk15dfg9xw80xmkxbsmcajhybc5qv-ghc-shell-for-packages-0 ghc-shell-for-packages (post)> copying 1 paths... ghc-shell-for-packages (post)> copying path '/nix/store/2ljlk15dfg9xw80xmkxbsmcajhybc5qv-ghc-shell-for-packages-0' to 'https://cache.nix-ci.com'... ghc-shell-for-packages (post)> copying 1 paths... ghc-shell-for-packages (post)> copying path '/nix/store/yq46bwj4rrb0v55ks3k1r6bdz35swxxy-ghc-shell-for-packages-0.drv' to 'https://cache.nix-ci.com'... ghc-shell-for-packages (post)> added 0 signatures ghc-shell-for-packages (post)> added 0 signatures ghc-shell-for-packages (post)> Uploading paths from nix-ci to the NixCI cache /nix/store/2ljlk15dfg9xw80xmkxbsmcajhybc5qv-ghc-shell-for-packages-0 ghc-shell-for-packages (post)> copying 1 paths... ghc-shell-for-packages (post)> copying path '/nix/store/2ljlk15dfg9xw80xmkxbsmcajhybc5qv-ghc-shell-for-packages-0' to 'ssh-ng://worker.nix-ci.com'... ghc-shell-for-packages (post)> copying 1 paths... ghc-shell-for-packages (post)> copying path '/nix/store/yq46bwj4rrb0v55ks3k1r6bdz35swxxy-ghc-shell-for-packages-0.drv' to 'ssh-ng://worker.nix-ci.com'...