Resolving dependencies... Starting auto-update-0.1.6 Starting base-orphans-0.9.1 Starting byteorder-1.0.4 Starting data-array-byte-0.1.0.1 Starting data-default-class-0.1.2.0 Starting bytestring-0.11.5.3 Starting hourglass-0.2.12 Starting old-locale-1.0.0.7 Starting integer-logarithms-1.0.3.1 Starting semigroups-0.20 Starting safe-exceptions-0.1.7.4 Starting split-0.2.4 Starting tagged-0.8.8 Starting th-abstraction-0.6.0.0 Starting syb-0.7.2.4 Starting unliftio-core-0.2.1.0 Starting transformers-compat-0.7.2 Starting word8-0.1.3 Starting safe-0.3.19 Starting splitmix-0.1.0.5 Starting basement-0.0.16 Starting haskell-src-exts-1.23.1 Building byteorder-1.0.4 Building base-orphans-0.9.1 Building auto-update-0.1.6 Building data-default-class-0.1.2.0 Building hourglass-0.2.12 Building bytestring-0.11.5.3 Building split-0.2.4 Building data-array-byte-0.1.0.1 Building word8-0.1.3 Building tagged-0.8.8 Building safe-exceptions-0.1.7.4 Building th-abstraction-0.6.0.0 Building safe-0.3.19 Building transformers-compat-0.7.2 Building old-locale-1.0.0.7 Building splitmix-0.1.0.5 Building integer-logarithms-1.0.3.1 Building unliftio-core-0.2.1.0 Building basement-0.0.16 Building syb-0.7.2.4 Building semigroups-0.20 Building haskell-src-exts-1.23.1 Completed old-locale-1.0.0.7 Starting old-time-1.1.0.4 Completed word8-0.1.3 Completed unliftio-core-0.2.1.0 Completed auto-update-0.1.6 Completed byteorder-1.0.4 Completed semigroups-0.20 Completed data-default-class-0.1.2.0 Completed integer-logarithms-1.0.3.1 Building old-time-1.1.0.4 Completed splitmix-0.1.0.5 Completed split-0.2.4 Starting casing-0.1.4.1 Completed base-orphans-0.9.1 Completed data-array-byte-0.1.0.1 Starting primitive-0.9.0.0 Building casing-0.1.4.1 Completed safe-exceptions-0.1.7.4 Completed safe-0.3.19 Completed syb-0.7.2.4 Building primitive-0.9.0.0 Completed tagged-0.8.8 Completed transformers-compat-0.7.2 Starting transformers-base-0.4.6 Building transformers-base-0.4.6 Completed th-abstraction-0.6.0.0 Starting th-lift-0.8.4 Starting th-expand-syns-0.4.11.0 Building th-lift-0.8.4 Building th-expand-syns-0.4.11.0 Completed hourglass-0.2.12 Completed casing-0.1.4.1 Completed old-time-1.1.0.4 Completed transformers-base-0.4.6 Starting monad-control-1.0.3.1 Building monad-control-1.0.3.1 Completed th-expand-syns-0.4.11.0 Starting th-reify-many-0.1.10 Completed th-lift-0.8.4 Building th-reify-many-0.1.10 Completed monad-control-1.0.3.1 Completed th-reify-many-0.1.10 Completed bytestring-0.11.5.3 Starting zlib-0.6.3.0 Starting network-byte-order-0.1.7 Starting random-1.2.1.1 Starting bsb-http-chunked-0.0.0.4 Starting cryptohash-sha1-0.11.101.0 Starting base16-bytestring-1.0.2.0 Starting base64-bytestring-1.2.1.0 Starting appar-0.1.8 Starting utf8-string-1.0.2 Starting unix-2.7.3 Starting binary-0.8.9.1 Completed primitive-0.9.0.0 Starting effectful-core-2.3.0.1 Building zlib-0.6.3.0 Building bsb-http-chunked-0.0.0.4 Building network-byte-order-0.1.7 Building random-1.2.1.1 Building base64-bytestring-1.2.1.0 Building cryptohash-sha1-0.11.101.0 Building base16-bytestring-1.0.2.0 Building utf8-string-1.0.2 Building appar-0.1.8 Building binary-0.8.9.1 Building effectful-core-2.3.0.1 Completed base16-bytestring-1.0.2.0 Completed bsb-http-chunked-0.0.0.4 Completed appar-0.1.8 Completed base64-bytestring-1.2.1.0 Building unix-2.7.3 Completed network-byte-order-0.1.7 Completed cryptohash-sha1-0.11.101.0 Completed utf8-string-1.0.2 Completed zlib-0.6.3.0 Completed effectful-core-2.3.0.1 Completed binary-0.8.9.1 Starting unix-time-0.4.11 Starting text-2.0.2 Building text-2.0.2 Building unix-time-0.4.11 Completed random-1.2.1.1 Completed basement-0.0.16 Starting memory-0.18.0 Building memory-0.18.0 Completed unix-time-0.4.11 Completed unix-2.7.3 Starting directory-1.3.7.1 Completed memory-0.18.0 Starting pem-0.2.4 Starting asn1-types-0.3.4 Starting crypton-0.34 Building pem-0.2.4 Building asn1-types-0.3.4 Building crypton-0.34 Building directory-1.3.7.1 Completed pem-0.2.4 Completed asn1-types-0.3.4 Starting asn1-encoding-0.9.6 Building asn1-encoding-0.9.6 Completed directory-1.3.7.1 Starting th-compat-0.1.4 Starting file-embed-0.0.15.0 Starting process-1.6.18.0 Starting network-3.1.4.0 Building th-compat-0.1.4 Building file-embed-0.0.15.0 Building process-1.6.18.0 Building network-3.1.4.0 Completed th-compat-0.1.4 Starting th-orphans-0.13.14 Completed asn1-encoding-0.9.6 Starting asn1-parse-0.9.5 Completed file-embed-0.0.15.0 Building th-orphans-0.13.14 Building asn1-parse-0.9.5 Completed process-1.6.18.0 Completed asn1-parse-0.9.5 Completed text-2.0.2 Starting string-conversions-0.4.0.1 Starting text-conversions-0.3.1.1 Starting mime-types-0.1.2.0 Starting integer-conversion-0.1.0.1 Starting cookie-0.4.6 Starting hashable-1.4.3.0 Building text-conversions-0.3.1.1 Building string-conversions-0.4.0.1 Building cookie-0.4.6 Building mime-types-0.1.2.0 Building integer-conversion-0.1.0.1 Building hashable-1.4.3.0 Completed network-3.1.4.0 Starting recv-0.1.0 Starting simple-sendfile-0.2.32 Starting iproute-1.7.12 Completed th-orphans-0.13.14 Building recv-0.1.0 Building iproute-1.7.12 Building simple-sendfile-0.2.32 Completed text-conversions-0.3.1.1 Completed integer-conversion-0.1.0.1 Completed string-conversions-0.4.0.1 Completed cookie-0.4.6 Completed hashable-1.4.3.0 Starting uuid-types-1.0.5.1 Starting scientific-0.3.7.0 Starting psqueues-0.2.8.0 Starting case-insensitive-1.2.1.0 Starting async-2.2.5 Starting unordered-containers-0.2.19.1 Starting time-compat-1.9.6.1 Completed recv-0.1.0 Building scientific-0.3.7.0 Building uuid-types-1.0.5.1 Building case-insensitive-1.2.1.0 Building psqueues-0.2.8.0 Building unordered-containers-0.2.19.1 Completed simple-sendfile-0.2.32 Building async-2.2.5 Building time-compat-1.9.6.1 Completed mime-types-0.1.2.0 Completed iproute-1.7.12 Completed async-2.2.5 Starting unliftio-0.2.25.0 Starting streaming-commons-0.2.2.6 Completed case-insensitive-1.2.1.0 Starting http-types-0.12.4 Building unliftio-0.2.25.0 Building streaming-commons-0.2.2.6 Building http-types-0.12.4 Completed uuid-types-1.0.5.1 Completed scientific-0.3.7.0 Starting attoparsec-0.14.4 Completed time-compat-1.9.6.1 Starting text-iso8601-0.1 Building attoparsec-0.14.4 Building text-iso8601-0.1 Completed psqueues-0.2.8.0 Starting network-control-0.0.2 Building network-control-0.0.2 Completed unordered-containers-0.2.19.1 Starting vault-0.3.1.5 Starting expiring-cache-map-0.0.6.1 Building expiring-cache-map-0.0.6.1 Building vault-0.3.1.5 Completed http-types-0.12.4 Completed text-iso8601-0.1 Starting http-api-data-0.6 Completed network-control-0.0.2 Building http-api-data-0.6 Completed streaming-commons-0.2.2.6 Completed unliftio-0.2.25.0 Starting time-manager-0.0.1 Starting effectful-2.3.0.0 Completed vault-0.3.1.5 Starting wai-3.2.4 Building time-manager-0.0.1 Building effectful-2.3.0.0 Building wai-3.2.4 Completed expiring-cache-map-0.0.6.1 Completed http-api-data-0.6 Completed attoparsec-0.14.4 Starting http-date-0.0.11 Completed time-manager-0.0.1 Completed wai-3.2.4 Starting wai-middleware-static-0.9.2 Building http-date-0.0.11 Starting http2-5.0.0 Building wai-middleware-static-0.9.2 Building http2-5.0.0 Completed haskell-src-exts-1.23.1 Starting haskell-src-meta-0.8.13 Building haskell-src-meta-0.8.13 Completed effectful-2.3.0.0 Completed http-date-0.0.11 Completed wai-middleware-static-0.9.2 Completed haskell-src-meta-0.8.13 Starting string-interpolate-0.3.2.1 Building string-interpolate-0.3.2.1 Completed string-interpolate-0.3.2.1 Completed http2-5.0.0 Completed crypton-0.34 Starting crypton-x509-1.7.6 Building crypton-x509-1.7.6 Completed crypton-x509-1.7.6 Starting warp-3.3.31 Building warp-3.3.31 Completed warp-3.3.31 Starting web-view-0.3.1 Building web-view-0.3.1 Failed to install web-view-0.3.1 Build log ( /home/builder/.cabal/logs/ghc-9.2.4/web-view-0.3.1-JsDutc5qq1n63eLwHKlrV4.log ): cabal: Entering directory '/tmp/cabal-tmp-121550/web-view-0.3.1' Configuring web-view-0.3.1... Preprocessing library for web-view-0.3.1.. Building library for web-view-0.3.1.. [1 of 9] Compiling Paths_web_view ( dist/build/autogen/Paths_web_view.hs, dist/build/Paths_web_view.o, dist/build/Paths_web_view.dyn_o ) [2 of 9] Compiling Web.View.Reset ( src/Web/View/Reset.hs, dist/build/Web/View/Reset.o, dist/build/Web/View/Reset.dyn_o ) [3 of 9] Compiling Web.View.Types ( src/Web/View/Types.hs, dist/build/Web/View/Types.o, dist/build/Web/View/Types.dyn_o ) [4 of 9] Compiling Web.View.Style ( src/Web/View/Style.hs, dist/build/Web/View/Style.o, dist/build/Web/View/Style.dyn_o ) [5 of 9] Compiling Web.View.View ( src/Web/View/View.hs, dist/build/Web/View/View.o, dist/build/Web/View/View.dyn_o ) [6 of 9] Compiling Web.View.Render ( src/Web/View/Render.hs, dist/build/Web/View/Render.o, dist/build/Web/View/Render.dyn_o ) src/Web/View/Render.hs:115:12: error: " Couldn't match type: string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.Builder (string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.IsCustomSink a0) a0 with: string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.Builder (string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.IsCustomSink a0) a0 Expected: string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.B a0 (string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.Builder (string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.IsCustomSink a0) a0) Actual: string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.B a0 (string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.Builder (string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.IsCustomSink a0) a0) NB: string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.Builder is a non-injective type family The type variable a0 is ambiguous " In the second argument of string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.finalize, namely (((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.interpolate Data.Proxy.Proxy) sel)) (((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) " { ")) (((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.interpolate Data.Proxy.Proxy) props)) (((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) " }")) ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) ""))))) In the first argument of (&), namely ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.finalize Data.Proxy.Proxy) (((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.interpolate Data.Proxy.Proxy) sel)) (((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) " { ")) (((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.interpolate Data.Proxy.Proxy) props)) (((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) " }")) ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) "")))))) In the expression: ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.finalize Data.Proxy.Proxy) (((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.interpolate Data.Proxy.Proxy) sel)) (((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) " { ")) (((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.interpolate Data.Proxy.Proxy) props)) (((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) " }")) ((string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) "")))))) & addMedia c.selector.media | 115 | in [i|#{sel} { #{props} }|] & addMedia c.selector.media | ^^^^^^^^^^^^^^^^^^^^^ src/Web/View/Render.hs:117:3: error: " Illegal equational constraint string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.Builder (string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.IsCustomSink src) src ~ string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.Builder (string-interpolate-0.3.2.1:Data.String.Interpolate.Conversion.Classes.IsCustomSink src) src (Use GADTs or TypeFamilies to permit this) " When checking the inferred type addMedia :: forall {src}. (string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.Builder (string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.IsCustomSink src) src ~ string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.Builder (string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.IsCustomSink src) src, string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.Interpolatable (string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.IsCustomSink src) src src, string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.Interpolatable (string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.IsCustomSink src) Text src) => Maybe Media -> src -> src In an equation for renderCSS: renderCSS = map renderClass . M.elems where renderClass :: Class -> Text renderClass c = let ... in ((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.finalize Data.Proxy.Proxy) (((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.interpolate Data.Proxy.Proxy) sel)) (((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) " { ")) (((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.interpolate Data.Proxy.Proxy) props)) (((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) " }")) ((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) "")))))) & addMedia ... addMedia Nothing css = css addMedia (Just m) css = let ... in ((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.finalize Data.Proxy.Proxy) (((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) "@media ")) (((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.interpolate Data.Proxy.Proxy) mc)) (((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) " { ")) (((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.interpolate Data.Proxy.Proxy) css)) (((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.build Data.Proxy.Proxy) ((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) " }")) ((string-interpolate-0.3.2.1-9aOgdrzC2edGVrTzd1Beme:Data.String.Interpolate.Conversion.Classes.ofString Data.Proxy.Proxy) ""))))))) mediaCriteria :: Media -> Text .... | 117 | addMedia Nothing css = css | ^^^^^^^^^^^^^^^^^^^^^^^^^^... cabal: Leaving directory '/tmp/cabal-tmp-121550/web-view-0.3.1' Error: cabal: Some packages failed to install: hyperbole-0.1.1-CPHju0TRRaJKcbh2PiapGF depends on hyperbole-0.1.1 which failed to install. web-view-0.3.1-JsDutc5qq1n63eLwHKlrV4 failed during the building phase. The exception was: ExitFailure 1