Why aren't modules prefixed their package name?
ashokkimmel:
What problems?
This kind of breakage, for example:
github.com/yesodweb/yesod
yesod-static 1.6.1.2 build failure: Could not deduce ‘ByteArray.ByteArrayAccess (Digest MD5)’
opened 08:17AM - 28 Apr 26 UTC
simonmichael
Building library for yesod-static-1.6.1.2... [1 of 7] Compiling Yesod.Embedd…edStatic.Types ( Yesod/EmbeddedStatic/Types.hs, dist/build/Yesod/EmbeddedStatic/Types.o, dist/build/Yesod/EmbeddedStatic/Types.dyn_o ) [2 of 7] Compiling Yesod.EmbeddedStatic.Generators ( Yesod/EmbeddedStatic/Generators.hs, dist/build/Yesod/EmbeddedStatic/Generators.o, dist/build/Yesod/EmbeddedStatic/Generators.dyn_o ) [3 of 7] Compiling Yesod.Static ( Yesod/Static.hs, dist/build/Yesod/Static.o, dist/build/Yesod/Static.dyn_o ) Yesod/Static.hs:414:22: error: [GHC-39999] • Could not deduce ‘ByteArray.ByteArrayAccess (Digest MD5)’ arising from a use of ‘ByteArray.convert’ from the context: ByteArray.ByteArray bout bound by the inferred type of encode :: ByteArray.ByteArray bout => Digest MD5 -> bout at Yesod/Static.hs:414:11-56 • In the expression: ByteArray.convert (d :: Digest MD5) In an equation for ‘encode’: encode d = ByteArray.convert (d :: Digest MD5) In an equation for ‘base64md5File’: base64md5File = fmap (base64 . encode) . hashFile where encode d = ByteArray.convert (d :: Digest MD5) | 414 | where encode d = ByteArray.convert (d :: Digest MD5) | ^^^^^^^^^^^^^^^^^ Yesod/Static.hs:422:16: error: [GHC-39999] • Could not deduce ‘ByteArray.ByteArrayAccess (Digest MD5)’ arising from a use of ‘ByteArray.convert’ from the context: ByteArray.ByteArray bout bound by the inferred type of encode :: ByteArray.ByteArray bout => Digest MD5 -> bout at Yesod/Static.hs:422:5-50 • In the expression: ByteArray.convert (d :: Digest MD5) In an equation for ‘encode’: encode d = ByteArray.convert (d :: Digest MD5) In an equation for ‘base64md5’: base64md5 lbs = base64 $ encode $ runConduitPure $ Conduit.sourceLazy lbs .| sinkHash where encode d = ByteArray.convert (d :: Digest MD5) | 422 | encode d = ByteArray.convert (d :: Digest MD5) Error: [Cabal-7125] Dependencies: - Decimal-0.5.2 (lib) (requires download & build) - Diff-1.0.2 (lib) (requires download & build) - OneTuple-0.4.2.1 (lib) (requires download & build) - Only-0.1 (lib) (requires download & build) - SHA-1.6.4.4 (lib) (requires download & build) - StateVar-1.2.2 (lib) (requires download & build) - appar-0.1.8 (lib:appar) (requires download & build) - assoc-1.1.1 (lib) (requires download & build) - attoparsec-0.14.4 (lib:attoparsec-internal) (requires download & build) - base-compat-0.15.0 (lib) (requires download & build) - base-orphans-0.9.4 (lib) (requires download & build) - base16-bytestring-1.0.2.0 (lib) (requires download & build) - base64-bytestring-1.2.1.0 (lib) (requires download & build) - basement-0.0.16 (lib) (requires download & build) - blaze-builder-0.4.4.1 (lib) (requires download & build) - byteorder-1.0.4 (lib:byteorder) (requires download & build) - call-stack-0.4.0 (lib) (requires download & build) - cereal-0.5.8.3 (lib) (requires download & build) - character-ps-0.1 (lib) (requires download & build) - clock-0.8.4 (lib) (requires download & build) - cmdargs-0.10.22 (lib) (requires download & build) - colour-2.3.7 (lib) (requires download & build) - control-monad-free-0.6.2 (lib) (requires download & build) - cryptohash-md5-0.11.101.0 (lib) (requires download & build) - csv-0.1.2 (lib:csv) (requires download & build) - data-default-0.8.0.2 (lib) (requires download & build) - dlist-1.0 (lib) (requires download & build) - emojis-0.1.4.1 (lib) (requires download & build) - entropy-0.4.1.11 (lib:entropy) (requires download & build) - extensible-exceptions-0.1.1.4 (lib:extensible-exceptions) (requires download & build) - file-embed-0.0.16.0 (lib) (requires download & build) - half-0.3.3 (lib) (requires download & build) - hashable-1.5.1.0 (lib) (requires download & build) - haskeline-0.8.4.1 (lib) (requires download & build) - hourglass-0.2.12 (lib) (requires download & build) - hsc2hs-0.68.10 (exe:hsc2hs) (requires download & build) - html-1.0.1.2 (lib:html) (requires download & build) - indexed-traversable-0.1.4 (lib) (requires download & build) - integer-logarithms-1.0.5 (lib) (requires download & build) - microlens-0.5.0.0 (lib) (requires download & build) - mime-types-0.1.2.2 (lib) (requires download & build) - mtl-compat-0.2.2 (lib) (requires download & build) - network-byte-order-0.1.8 (lib) (requires download & build) - old-locale-1.0.0.7 (lib) (requires download & build) - parser-combinators-1.3.1 (lib) (requires download & build) - prettyprinter-1.7.1 (lib) (requires download & build) - primitive-0.9.1.0 (lib) (requires download & build) - quote-quot-0.2.1.0 (lib) (requires download & build) - ram-0.22.0 (lib) (requires download & build) - reflection-2.1.9 (lib) (requires download & build) - regex-base-0.94.0.3 (lib) (requires download & build) - safe-0.3.21 (lib) (requires download & build) - split-0.2.5 (lib) (requires download & build) - splitmix-0.1.3.2 (lib) (requires download & build) - tagged-0.8.10 (lib) (requires download & build) - th-abstraction-0.7.2.0 (lib) (requires download & build) - th-compat-0.1.7 (lib) (requires download & build) - time-hourglass-0.3.0 (lib) (requires download & build) - timeit-2.0 (lib) (requires download & build) - transformers-compat-0.7.2 (lib) (requires download & build) - uglymemo-0.1.0.1 (lib:uglymemo) (requires download & build) - unliftio-core-0.2.1.0 (lib) (requires download & build) - utf8-string-1.0.2 (lib) (requires download & build) - utility-ht-0.0.17.2 (lib) (requires download & build) - vector-stream-0.1.0.1 (lib) (requires download & build) - contravariant-1.5.6 (lib) (requires download & build) - memory-0.18.0 (lib) (requires download & build) - blaze-markup-0.8.3.0 (lib) (requires download & build) - extra-1.8.1 (lib) (requires download & build) - ansi-terminal-types-1.1.3 (lib) (requires download & build) - data-default-class-0.2.0.0 (lib) (requires download & build) - unordered-containers-0.2.21 (lib) (requires download & build) - time-compat-1.9.9 (lib) (requires download & build) - these-1.2.1 (lib) (requires download & build) - text-short-0.1.6.1 (lib) (requires download & build) - data-fix-0.3.4 (lib) (requires download & build) - case-insensitive-1.2.1.0 (lib) (requires download & build) - wizards-1.0.3 (lib) (requires download & build) - zlib-0.7.1.1 (lib) (requires download & build) - terminal-size-0.3.4 (lib) (requires download & build) - network-3.2.8.0 (lib:network) (requires download & build) - tabular-0.2.2.8 (lib) (requires download & build) - ech-config-0.0.1 (lib) (requires download & build) - old-time-1.1.1.0 (lib:old-time) (requires download & build) - scientific-0.3.8.1 (lib) (requires download & build) - integer-conversion-0.1.1 (lib) (requires download & build) - cborg-0.2.10.0 (lib) (requires download & build) - text-builder-linear-0.1.3 (lib) (requires download & build) - regex-tdfa-1.3.2.5 (lib) (requires download & build) - regex-posix-0.96.0.2 (lib) (requires download & build) - doclayout-0.5.0.1 (lib) (requires download & build) - random-1.3.1 (lib) (requires download & build) - distributive-0.6.3 (lib) (requires download & build) - crypto-api-0.13.3 (lib:crypto-api) (requires download & build) - th-lift-0.8.7 (lib) (requires download & build) - microlens-th-0.4.3.18 (lib) (requires download & build) - network-uri-2.6.4.2 (lib) (requires download & build) - githash-0.1.7.0 (lib) (requires download & build) - transformers-base-0.4.6.1 (lib) (requires download & build) - mmorph-1.2.2 (lib) (requires download & build) - Glob-0.10.2 (lib) (requires download & build) - vector-0.13.2.0 (lib) (requires download & build) - asn1-types-0.3.4 (lib:asn1-types) (requires download & build) - blaze-html-0.9.2.0 (lib) (requires download & build) - ansi-terminal-1.1.5 (lib) (requires download & build) - cookie-0.5.1 (lib) (requires download & build) - async-2.2.6 (lib) (requires download & build) - strict-0.5.1 (lib) (requires download & build) - base64-1.0 (lib) (requires download & build) - base16-1.0 (lib) (requires download & build) - http-types-0.12.4 (lib) (requires download & build) - iproute-1.7.15 (lib) (requires download & build) - crypton-socks-0.6.2 (lib) (requires download & build) - unix-time-0.4.17 (lib:unix-time) (requires download & build) - megaparsec-9.7.0 (lib) (requires download & build) - attoparsec-0.14.4 (lib) (requires download & build) - text-iso8601-0.1.1.1 (lib) (requires download & build) - text-ansi-0.3.0.1 (lib) (requires download & build) - regex-compat-0.95.2.2 (lib) (requires download & build) - uuid-types-1.0.6.1 (lib) (requires download & build) - temporary-1.3 (lib) (requires download & build) - retry-0.9.3.1 (lib) (requires download & build) - QuickCheck-2.18.0.0 (lib) (requires download & build) - comonad-5.0.10 (lib) (requires download & build) - monad-control-1.0.3.1 (lib) (requires download & build) - lucid-2.11.20250303 (lib) (requires download & build) - math-functions-0.3.4.4 (lib) (requires download & build) - indexed-traversable-instances-0.1.2.1 (lib) (requires download & build) - hashtables-1.4.2 (lib) (requires download & build) - asn1-encoding-0.9.6 (lib) (requires download & build) - prettyprinter-ansi-terminal-1.1.3 (lib) (requires download & build) - streaming-commons-0.2.3.1 (lib) (requires download & build) - serialise-0.2.6.1 (lib) (requires download & build) - crypton-pem-0.3.0 (lib) (requires download & build) - crypton-asn1-types-0.4.1 (lib) (requires download & build) - crypton-1.1.2 (lib) (requires download & build) - cassava-0.5.4.1 (lib) (requires download & build) - encoding-0.10.2 (lib) (requires download & build) - http-api-data-0.7 (lib) (requires download & build) - bifunctors-5.6.3 (lib) (requires download & build) - witherable-0.5 (lib) (requires download & build) - crypto-pubkey-types-0.4.3 (lib:crypto-pubkey-types) (requires download & build) - pretty-simple-4.1.4.0 (lib) (requires download & build) - optparse-applicative-0.19.0.0 (lib) (requires download & build) - http-client-0.7.19 (lib) (requires download & build) - crypton-asn1-parse-0.10.0 (lib) (requires download & build) - crypton-asn1-encoding-0.10.0 (lib) (requires download & build) - mlkem-0.2.0.0 (lib) (requires download & build) - hpke-0.1.0 (lib) (requires download & build) - cassava-megaparsec-2.1.1 (lib) (requires download & build) - semigroupoids-6.0.2 (lib) (requires download & build) - profunctors-5.6.3 (lib) (requires download & build) - RSA-2.4.1 (lib) (requires download & build) - tasty-1.5.4 (lib) (requires download & build) - crypton-x509-1.9.0 (lib) (requires download & build) - semialign-1.3.1.1 (lib) (requires download & build) - modern-uri-0.3.6.1 (lib) (requires download & build) - authenticate-oauth-1.7 (lib) (requires download & build) - tasty-hunit-0.10.2 (lib) (requires download & build) - crypton-x509-store-1.9.0 (lib) (requires download & build) - aeson-2.2.4.1 (lib) (requires download & build) - crypton-x509-validation-1.9.0 (lib) (requires download & build) - crypton-x509-system-1.9.0 (lib) (requires download & build) - shakespeare-2.2.0 (lib) (requires download & build) - aeson-pretty-0.8.10 (lib) (requires download & build) - tls-2.4.1 (lib) (requires download & build) - hledger-lib-1.99 (lib) (first run) - crypton-connection-0.4.6 (lib) (requires download & build) - http-client-tls-0.4.0 (lib) (requires download & build) - req-3.13.4 (lib) (requires download & build) - hledger-1.99 (lib) (first run) - hledger-1.99 (exe:hledger) (first run) - HUnit-1.6.2.0 (lib) (requires download & build) - alex-3.5.4.2 (exe:alex) (requires download & build) - attoparsec-aeson-2.2.2.0 (lib) (requires download & build) - auto-update-0.2.6 (lib) (requires download & build) - base-unicode-symbols-0.2.4.2 (lib:base-unicode-symbols) (requires download & build) - bitvec-1.1.6.0 (lib) (requires download & build) - bsb-http-chunked-0.0.0.4 (lib) (requires download & build) - byteable-0.1.1 (lib) (requires download & build) - cabal-doctest-1.0.12 (lib) (requires download & build) - css-text-0.1.3.0 (lib) (requires download & build) - easy-file-0.2.5 (lib) (requires download & build) - email-validate-2.3.2.21 (lib) (requires download & build) - happy-lib-2.2 (lib:grammar) (requires download & build) - haskell-lexer-1.2.1 (lib) (requires download & build) - hspec-discover-2.11.17 (lib) (requires download & build) - http-date-0.0.11 (lib) (requires download & build) - libyaml-clib-0.2.5 (lib) (requires download & build) - lift-type-0.1.2.0 (lib) (requires download & build) - lifted-base-0.2.3.12 (lib) (requires download & build) - monad-loops-0.4.3 (lib) (requires download & build) - path-pieces-0.2.1 (lib) (requires download & build) - persistent-template-2.12.0.0 (lib) (requires download & build) - psqueues-0.2.8.3 (lib) (requires download & build) - recv-0.1.1 (lib) (requires download & build) - replace-megaparsec-1.5.0.1 (lib) (requires download & build) - resource-pool-0.5.0.0 (lib) (requires download & build) - resourcet-1.3.0 (lib) (requires download & build) - setenv-0.1.1.3 (lib) (requires download & build) - silently-1.2.5.4 (lib) (requires download & build) - simple-sendfile-0.2.32 (lib) (requires download & build) - skein-1.0.9.4 (lib) (requires download & build) - stm-chans-3.0.0.11 (lib) (requires download & build) - tagsoup-0.14.8 (lib) (requires download & build) - th-lift-instances-0.1.20 (lib) (requires download & build) - time-manager-0.3.2 (lib) (requires download & build) - typed-process-0.2.13.0 (lib) (requires download & build) - unliftio-0.2.25.1 (lib) (requires download & build) - vault-0.3.1.6 (lib) (requires download & build) - word8-0.1.3 (lib) (requires download & build) - xml-types-0.3.8 (lib) (requires download & build) - quickcheck-io-0.2.0 (lib) (requires download & build) - hspec-expectations-0.8.4 (lib) (requires download & build) - vector-algorithms-0.9.1.0 (lib) (requires download & build) - fast-logger-3.2.6 (lib) (requires download & build) - happy-lib-2.2 (lib:tabular) (requires download & build) - happy-lib-2.2 (lib:frontend) (requires download & build) - network-control-0.1.7 (lib) (requires download & build) - clientsession-0.9.3.0 (lib) (requires download & build) - xss-sanitize-0.3.7.2 (lib) (requires download & build) - http-semantics-0.4.0 (lib) (requires download & build) - wai-3.2.4 (lib) (requires download & build) - hspec-core-2.11.17 (lib) (requires download & build) - mono-traversable-1.0.21.0 (lib) (requires download & build) - happy-lib-2.2 (lib:backend-lalr) (requires download & build) - happy-lib-2.2 (lib:backend-glr) (requires download & build) - http2-5.4.0 (lib) (requires download & build) - wai-logger-2.5.0 (lib) (requires download & build) - wai-cors-0.2.7 (lib) (requires download & build) - hspec-2.11.17 (lib) (requires download & build) - conduit-1.3.6.1 (lib) (requires download & build) - happy-lib-2.2 (lib) (requires download & build) - warp-3.4.13 (lib) (requires download & build) - libyaml-0.1.4 (lib) (requires download & build) - conduit-extra-1.3.8 (lib) (requires download & build) - happy-2.2 (exe:happy) (requires download & build) - wai-handler-launch-3.0.3.1 (lib:wai-handler-launch) (requires download & build) - wai-extra-3.1.18 (lib) (requires download & build) - yaml-0.11.11.2 (lib) (requires download & build) - xml-conduit-1.10.1.0 (lib:xml-conduit) (requires download & build) - monad-logger-0.3.42 (lib) (requires download & build) - http-conduit-2.3.9.1 (lib) (requires download & build) - crypton-conduit-0.3.0 (lib) (requires download & build) - pretty-show-1.10 (lib) (requires download & build) - language-javascript-0.7.1.0 (lib) (requires download & build) - wai-app-static-3.2.1 (lib) (requires download & build) - html-conduit-1.3.2.2 (lib) (requires download & build) - yesod-core-1.6.29.1 (lib) (requires download & build) - persistent-2.18.1.0 (lib) (requires download & build) - hjsmin-0.2.1 (lib) (requires download & build) - yesod-test-1.7.0.1 (lib) (requires download & build) - yesod-persistent-1.6.0.8 (lib) (requires download & build) - yesod-static-1.6.1.2 (lib) (requires download & build) - yesod-form-1.7.9.2 (lib) (requires download & build) - yesod-1.6.2.1 (lib) (requires download & build) - hledger-web-1.99 (lib) (first run) - hledger-web-1.99 (exe:hledger-web) (first run) Both memory and its replacement ram are in this set, and both provide ByteArrayAccess. Perhaps yesod-static needs to specify ram (or memory) explicitly when importing, with PackageImports ?
Discussion in the ATmosphere