Resolving dependencies... Starting composition-prelude-3.0.0.2 Starting microlens-0.4.12.0 Starting colour-2.3.6 Starting prettyprinter-1.7.1 Building composition-prelude-3.0.0.2 Building microlens-0.4.12.0 Building colour-2.3.6 Building prettyprinter-1.7.1 Completed composition-prelude-3.0.0.2 Starting splitmix-0.1.0.4 Building splitmix-0.1.0.4 Completed microlens-0.4.12.0 Starting transformers-compat-0.7.1 Building transformers-compat-0.7.1 Completed splitmix-0.1.0.4 Starting random-1.2.1 Building random-1.2.1 Completed prettyprinter-1.7.1 Completed colour-2.3.6 Starting ansi-terminal-0.11 Completed transformers-compat-0.7.1 Starting microlens-mtl-0.2.0.1 Building ansi-terminal-0.11 Building microlens-mtl-0.2.0.1 Completed microlens-mtl-0.2.0.1 Completed ansi-terminal-0.11 Starting ansi-wl-pprint-0.6.9 Building ansi-wl-pprint-0.6.9 Completed ansi-wl-pprint-0.6.9 Starting optparse-applicative-0.16.1.0 Completed random-1.2.1 Starting temporary-1.3 Building optparse-applicative-0.16.1.0 Building temporary-1.3 Completed temporary-1.3 Completed optparse-applicative-0.16.1.0 Downloading kempe-0.2.0.9 Downloaded kempe-0.2.0.9 Starting kempe-0.2.0.9 Building kempe-0.2.0.9 Failed to install kempe-0.2.0.9 Build log ( /home/builder/.cabal/logs/ghc-8.10.2/kempe-0.2.0.9-JZnYYj8HUwBJLohGK1ZQ7c.log ): cabal: Entering directory '/tmp/cabal-tmp-30389/kempe-0.2.0.9' Configuring kempe-0.2.0.9... Preprocessing library 'kempe-modules' for kempe-0.2.0.9.. Building library 'kempe-modules' for kempe-0.2.0.9.. [ 1 of 45] Compiling Data.Copointed ( src/Data/Copointed.hs, dist/build/kempe-modules/Data/Copointed.o, dist/build/kempe-modules/Data/Copointed.dyn_o ) [ 2 of 45] Compiling Data.Foldable.Ext ( src/Data/Foldable/Ext.hs, dist/build/kempe-modules/Data/Foldable/Ext.o, dist/build/kempe-modules/Data/Foldable/Ext.dyn_o ) [ 3 of 45] Compiling Data.Tuple.Ext ( src/Data/Tuple/Ext.hs, dist/build/kempe-modules/Data/Tuple/Ext.o, dist/build/kempe-modules/Data/Tuple/Ext.dyn_o ) src/Data/Tuple/Ext.hs:16:1: warning: [-Wmissing-signatures] Top-level binding with no type signature: third3 :: (t -> c) -> (a, b, t) -> (a, b, c) | 16 | third3 f (x, y, z) = (x, y, f z) | ^^^^^^ [ 4 of 45] Compiling Kempe.Asm.Pretty ( src/Kempe/Asm/Pretty.hs, dist/build/kempe-modules/Kempe/Asm/Pretty.o, dist/build/kempe-modules/Kempe/Asm/Pretty.dyn_o ) src/Kempe/Asm/Pretty.hs:7:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 7 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [ 5 of 45] Compiling Kempe.Asm.Type ( src/Kempe/Asm/Type.hs, dist/build/kempe-modules/Kempe/Asm/Type.o, dist/build/kempe-modules/Kempe/Asm/Type.dyn_o ) src/Kempe/Asm/Type.hs:11:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 11 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [ 6 of 45] Compiling Kempe.Asm.Liveness ( src/Kempe/Asm/Liveness.hs, dist/build/kempe-modules/Kempe/Asm/Liveness.o, dist/build/kempe-modules/Kempe/Asm/Liveness.dyn_o ) src/Kempe/Asm/Liveness.hs:12:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 12 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [ 7 of 45] Compiling Kempe.Proc.As ( src/Kempe/Proc/As.hs, dist/build/kempe-modules/Kempe/Proc/As.o, dist/build/kempe-modules/Kempe/Proc/As.dyn_o ) [ 8 of 45] Compiling Kempe.Proc.Nasm ( src/Kempe/Proc/Nasm.hs, dist/build/kempe-modules/Kempe/Proc/Nasm.o, dist/build/kempe-modules/Kempe/Proc/Nasm.dyn_o ) [ 9 of 45] Compiling Kempe.Unique ( src/Kempe/Unique.hs, dist/build/kempe-modules/Kempe/Unique.o, dist/build/kempe-modules/Kempe/Unique.dyn_o ) [10 of 45] Compiling Kempe.Name ( src/Kempe/Name.hs, dist/build/kempe-modules/Kempe/Name.o, dist/build/kempe-modules/Kempe/Name.dyn_o ) src/Kempe/Name.hs:11:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 11 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [11 of 45] Compiling Kempe.Lexer ( dist/build/kempe-modules/Kempe/Lexer.hs, dist/build/kempe-modules/Kempe/Lexer.o, dist/build/kempe-modules/Kempe/Lexer.dyn_o ) src/Kempe/Lexer.x:30:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 30 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ templates/wrappers.hs:16:1: warning: [-Wunused-imports] The qualified import of Data.Char is redundant except perhaps to import instances from Data.Char To import instances alone, use: import Data.Char() [12 of 45] Compiling Kempe.AST.Size ( src/Kempe/AST/Size.hs, dist/build/kempe-modules/Kempe/AST/Size.o, dist/build/kempe-modules/Kempe/AST/Size.dyn_o ) [13 of 45] Compiling Kempe.Error ( src/Kempe/Error.hs, dist/build/kempe-modules/Kempe/Error.o, dist/build/kempe-modules/Kempe/Error.dyn_o ) src/Kempe/Error.hs:11:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 11 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [14 of 45] Compiling Prettyprinter.Debug ( src/Prettyprinter/Debug.hs, dist/build/kempe-modules/Prettyprinter/Debug.o, dist/build/kempe-modules/Prettyprinter/Debug.dyn_o ) src/Prettyprinter/Debug.hs:8:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 8 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [15 of 45] Compiling Prettyprinter.Ext ( src/Prettyprinter/Ext.hs, dist/build/kempe-modules/Prettyprinter/Ext.o, dist/build/kempe-modules/Prettyprinter/Ext.dyn_o ) [16 of 45] Compiling Language.C.AST ( src/Language/C/AST.hs, dist/build/kempe-modules/Language/C/AST.o, dist/build/kempe-modules/Language/C/AST.dyn_o ) src/Language/C/AST.hs:9:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 9 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [17 of 45] Compiling Kempe.IR.Type ( src/Kempe/IR/Type.hs, dist/build/kempe-modules/Kempe/IR/Type.o, dist/build/kempe-modules/Kempe/IR/Type.dyn_o ) src/Kempe/IR/Type.hs:17:1: warning: [-Wunused-imports] The import of Control.Monad.State.Strict is redundant except perhaps to import instances from Control.Monad.State.Strict To import instances alone, use: import Control.Monad.State.Strict() | 17 | import Control.Monad.State.Strict (State) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/IR/Type.hs:21:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 21 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [18 of 45] Compiling Kempe.IR.Opt ( src/Kempe/IR/Opt.hs, dist/build/kempe-modules/Kempe/IR/Opt.o, dist/build/kempe-modules/Kempe/IR/Opt.dyn_o ) [19 of 45] Compiling Kempe.IR.Monad ( src/Kempe/IR/Monad.hs, dist/build/kempe-modules/Kempe/IR/Monad.o, dist/build/kempe-modules/Kempe/IR/Monad.dyn_o ) [20 of 45] Compiling Kempe.Asm.X86.Type ( src/Kempe/Asm/X86/Type.hs, dist/build/kempe-modules/Kempe/Asm/X86/Type.o, dist/build/kempe-modules/Kempe/Asm/X86/Type.dyn_o ) src/Kempe/Asm/X86/Type.hs:20:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 20 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [21 of 45] Compiling Kempe.Asm.X86.Trans ( src/Kempe/Asm/X86/Trans.hs, dist/build/kempe-modules/Kempe/Asm/X86/Trans.o, dist/build/kempe-modules/Kempe/Asm/X86/Trans.dyn_o ) src/Kempe/Asm/X86/Trans.hs:33:1: warning: Pattern match checker ran into -fmax-pmcheck-models=100 limit, so " Redundant clauses might not be reported at all " Redundant clauses might be reported as inaccessible " Patterns reported as unmatched might actually be matched Increase the limit or resolve the warnings to suppress this message. | 33 | irEmit _ (IR.Jump l) = pure [Jump () l] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^... src/Kempe/Asm/X86/Trans.hs:33:1: warning: [-Wincomplete-patterns] Pattern match(es) are non-exhaustive In an equation for irEmit: Patterns not matched: (Data.IntMap.Internal.Bin _ _ _ _) (IR.MovMem (IR.Reg (IR.Temp64 _)) p (IR.ExprIntBinOp IR.IntMinusIR (IR.Reg (IR.Temp64 _)) (IR.ConstInt _))) where p is not one of {1, 8} (Data.IntMap.Internal.Bin _ _ _ _) (IR.MovMem (IR.Reg (IR.Temp64 _)) p (IR.ExprIntBinOp IR.IntMinusIR (IR.Reg (IR.Temp64 _)) (IR.ConstInt8 _))) where p is not one of {1, 8} (Data.IntMap.Internal.Bin _ _ _ _) (IR.MovMem (IR.Reg (IR.Temp64 _)) p (IR.ExprIntBinOp IR.IntMinusIR (IR.Reg (IR.Temp64 _)) (IR.ConstTag _))) where p is not one of {1, 8} (Data.IntMap.Internal.Bin _ _ _ _) (IR.MovMem (IR.Reg (IR.Temp64 _)) p (IR.ExprIntBinOp IR.IntMinusIR (IR.Reg (IR.Temp64 _)) (IR.ConstWord _))) where p is not one of {1, 8} ... | 33 | irEmit _ (IR.Jump l) = pure [Jump () l] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^... src/Kempe/Asm/X86/Trans.hs:218:1: warning: [-Wincomplete-patterns] Pattern match(es) are non-exhaustive In an equation for evalE: Patterns not matched: (IR.ExprIntBinOp IR.WordShiftLIR (IR.Reg (IR.Temp64 _)) (IR.ConstInt _)) (IR.Temp64 _) (IR.ExprIntBinOp IR.WordShiftLIR (IR.Reg (IR.Temp64 _)) (IR.ConstInt _)) (IR.Temp8 _) (IR.ExprIntBinOp IR.WordShiftLIR (IR.Reg (IR.Temp64 _)) (IR.ConstInt _)) IR.DataPointer (IR.ExprIntBinOp IR.WordShiftLIR (IR.Reg (IR.Temp64 _)) (IR.ConstInt8 _)) (IR.Temp64 _) ... | 218 | evalE (IR.ConstInt i) r = pure [MovRC () (toAbsReg r) i] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^... [22 of 45] Compiling Kempe.Asm.X86.Linear ( src/Kempe/Asm/X86/Linear.hs, dist/build/kempe-modules/Kempe/Asm/X86/Linear.o, dist/build/kempe-modules/Kempe/Asm/X86/Linear.dyn_o ) src/Kempe/Asm/X86/Linear.hs:16:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 16 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Asm/X86/Linear.hs:65:1: warning: [-Wincomplete-patterns] Pattern match(es) are non-exhaustive In an equation for assoc: Patterns not matched: Rsp Rbp Rbx | 65 | assoc Rax = S.fromList [AH, AL] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^... src/Kempe/Asm/X86/Linear.hs:112:5: warning: [-Wincomplete-patterns] Pattern match(es) are non-exhaustive In a case alternative: Patterns not matched: Rdi Rsi Sil Dil ... | 112 | case xR of | ^^^^^^^^^^... [23 of 45] Compiling Kempe.Asm.X86.ControlFlow ( src/Kempe/Asm/X86/ControlFlow.hs, dist/build/kempe-modules/Kempe/Asm/X86/ControlFlow.o, dist/build/kempe-modules/Kempe/Asm/X86/ControlFlow.dyn_o ) src/Kempe/Asm/X86/ControlFlow.hs:11:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 11 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [24 of 45] Compiling Kempe.Asm.Arm.Type ( src/Kempe/Asm/Arm/Type.hs, dist/build/kempe-modules/Kempe/Asm/Arm/Type.o, dist/build/kempe-modules/Kempe/Asm/Arm/Type.dyn_o ) src/Kempe/Asm/Arm/Type.hs:20:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 20 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Asm/Arm/Type.hs:193:5: warning: [-Wincomplete-patterns] Pattern match(es) are non-exhaustive In an equation for pretty: Patterns not matched: UnsignedGeq | 193 | pretty Eq = "EQ" | ^^^^^^^^^^^^^^^^^^^^^^^^^... [25 of 45] Compiling Kempe.Asm.Arm.Trans ( src/Kempe/Asm/Arm/Trans.hs, dist/build/kempe-modules/Kempe/Asm/Arm/Trans.o, dist/build/kempe-modules/Kempe/Asm/Arm/Trans.dyn_o ) src/Kempe/Asm/Arm/Trans.hs:11:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 11 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Asm/Arm/Trans.hs:49:1: warning: [-Wincomplete-patterns] Pattern match(es) are non-exhaustive In an equation for irEmit: Patterns not matched: (Data.IntMap.Internal.Bin _ _ _ _) (IR.WrapKCall Cabi ([], [(TyBuiltin _ _)]) (Data.ByteString.Internal.PS _ _ _) _) (Data.IntMap.Internal.Bin _ _ _ _) (IR.WrapKCall Cabi ([], [(TyNamed _ _)]) (Data.ByteString.Internal.PS _ _ _) _) (Data.IntMap.Internal.Bin _ _ _ _) (IR.WrapKCall Cabi ([], [(TyVar _ _)]) (Data.ByteString.Internal.PS _ _ _) _) (Data.IntMap.Internal.Bin _ _ _ _) (IR.WrapKCall Cabi ([], [(TyApp _ _ _)]) (Data.ByteString.Internal.PS _ _ _) _) ... | 49 | irEmit _ (IR.Jump l) = pure [Branch () l] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^... src/Kempe/Asm/Arm/Trans.hs:133:1: warning: Pattern match checker ran into -fmax-pmcheck-models=100 limit, so " Redundant clauses might not be reported at all " Redundant clauses might be reported as inaccessible " Patterns reported as unmatched might actually be matched Increase the limit or resolve the warnings to suppress this message. | 133 | evalE (IR.ConstInt i) r = pure [MovRC () (toAbsReg r) i] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^... src/Kempe/Asm/Arm/Trans.hs:133:1: warning: [-Wincomplete-patterns] Pattern match(es) are non-exhaustive In an equation for evalE: Patterns not matched: (IR.ExprIntBinOp IR.IntPlusIR (IR.Reg (IR.Temp64 _)) (IR.ConstInt8 _)) (IR.Temp64 _) (IR.ExprIntBinOp IR.IntPlusIR (IR.Reg (IR.Temp64 _)) (IR.ConstInt8 _)) (IR.Temp8 _) (IR.ExprIntBinOp IR.IntPlusIR (IR.Reg (IR.Temp64 _)) (IR.ConstInt8 _)) IR.DataPointer (IR.ExprIntBinOp IR.IntPlusIR (IR.Reg (IR.Temp64 _)) (IR.ConstTag _)) (IR.Temp64 _) ... | 133 | evalE (IR.ConstInt i) r = pure [MovRC () (toAbsReg r) i] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^... [26 of 45] Compiling Kempe.Asm.Arm.Opt ( src/Kempe/Asm/Arm/Opt.hs, dist/build/kempe-modules/Kempe/Asm/Arm/Opt.o, dist/build/kempe-modules/Kempe/Asm/Arm/Opt.dyn_o ) [27 of 45] Compiling Kempe.Asm.Arm.Linear ( src/Kempe/Asm/Arm/Linear.hs, dist/build/kempe-modules/Kempe/Asm/Arm/Linear.o, dist/build/kempe-modules/Kempe/Asm/Arm/Linear.dyn_o ) src/Kempe/Asm/Arm/Linear.hs:13:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 13 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [28 of 45] Compiling Kempe.Asm.Arm.ControlFlow ( src/Kempe/Asm/Arm/ControlFlow.hs, dist/build/kempe-modules/Kempe/Asm/Arm/ControlFlow.o, dist/build/kempe-modules/Kempe/Asm/Arm/ControlFlow.dyn_o ) src/Kempe/Asm/Arm/ControlFlow.hs:10:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 10 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [29 of 45] Compiling Kempe.AST ( src/Kempe/AST.hs, dist/build/kempe-modules/Kempe/AST.o, dist/build/kempe-modules/Kempe/AST.dyn_o ) src/Kempe/AST.hs:41:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 41 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/AST.hs:245:1: warning: [-Wunused-top-binds] Defined but not used: prettyDecls | 245 | prettyDecls = prettyDeclarationsGeneral pretty | ^^^^^^^^^^^ [30 of 45] Compiling Kempe.TyAssign ( src/Kempe/TyAssign.hs, dist/build/kempe-modules/Kempe/TyAssign.o, dist/build/kempe-modules/Kempe/TyAssign.dyn_o ) src/Kempe/TyAssign.hs:21:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 21 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [31 of 45] Compiling Kempe.Parser ( dist/build/kempe-modules/Kempe/Parser.hs, dist/build/kempe-modules/Kempe/Parser.o, dist/build/kempe-modules/Kempe/Parser.dyn_o ) [32 of 45] Compiling Kempe.Monomorphize ( src/Kempe/Monomorphize.hs, dist/build/kempe-modules/Kempe/Monomorphize.o, dist/build/kempe-modules/Kempe/Monomorphize.dyn_o ) src/Kempe/Monomorphize.hs:31:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 31 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Monomorphize.hs:58:1: warning: [-Wunused-top-binds] Defined but not used: prettyDumpBinds | 58 | prettyDumpBinds b = vsep (prettyBind <$> M.toList b) | ^^^^^^^^^^^^^^^ [33 of 45] Compiling Kempe.Module ( src/Kempe/Module.hs, dist/build/kempe-modules/Kempe/Module.o, dist/build/kempe-modules/Kempe/Module.dyn_o ) [34 of 45] Compiling Kempe.Inline ( src/Kempe/Inline.hs, dist/build/kempe-modules/Kempe/Inline.o, dist/build/kempe-modules/Kempe/Inline.dyn_o ) src/Kempe/Inline.hs:11:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 11 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [35 of 45] Compiling Kempe.IR ( src/Kempe/IR.hs, dist/build/kempe-modules/Kempe/IR.o, dist/build/kempe-modules/Kempe/IR.dyn_o ) [36 of 45] Compiling Kempe.Error.Warning ( src/Kempe/Error/Warning.hs, dist/build/kempe-modules/Kempe/Error/Warning.o, dist/build/kempe-modules/Kempe/Error/Warning.dyn_o ) src/Kempe/Error/Warning.hs:7:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 7 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [37 of 45] Compiling Kempe.Check.TopLevel ( src/Kempe/Check/TopLevel.hs, dist/build/kempe-modules/Kempe/Check/TopLevel.o, dist/build/kempe-modules/Kempe/Check/TopLevel.dyn_o ) [38 of 45] Compiling Kempe.Check.Restrict ( src/Kempe/Check/Restrict.hs, dist/build/kempe-modules/Kempe/Check/Restrict.o, dist/build/kempe-modules/Kempe/Check/Restrict.dyn_o ) [39 of 45] Compiling Kempe.Check.Pattern ( src/Kempe/Check/Pattern.hs, dist/build/kempe-modules/Kempe/Check/Pattern.o, dist/build/kempe-modules/Kempe/Check/Pattern.dyn_o ) [40 of 45] Compiling Kempe.Shuttle ( src/Kempe/Shuttle.hs, dist/build/kempe-modules/Kempe/Shuttle.o, dist/build/kempe-modules/Kempe/Shuttle.dyn_o ) [41 of 45] Compiling Kempe.Pipeline ( src/Kempe/Pipeline.hs, dist/build/kempe-modules/Kempe/Pipeline.o, dist/build/kempe-modules/Kempe/Pipeline.dyn_o ) [42 of 45] Compiling Kempe.Debug ( src/Kempe/Debug.hs, dist/build/kempe-modules/Kempe/Debug.o, dist/build/kempe-modules/Kempe/Debug.dyn_o ) [43 of 45] Compiling Kempe.Check.Lint ( src/Kempe/Check/Lint.hs, dist/build/kempe-modules/Kempe/Check/Lint.o, dist/build/kempe-modules/Kempe/Check/Lint.dyn_o ) [44 of 45] Compiling Kempe.CGen ( src/Kempe/CGen.hs, dist/build/kempe-modules/Kempe/CGen.o, dist/build/kempe-modules/Kempe/CGen.dyn_o ) [45 of 45] Compiling Kempe.File ( src/Kempe/File.hs, dist/build/kempe-modules/Kempe/File.o, dist/build/kempe-modules/Kempe/File.dyn_o ) src/Kempe/File.hs:24:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 24 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Preprocessing executable 'kc' for kempe-0.2.0.9.. Building executable 'kc' for kempe-0.2.0.9.. [1 of 2] Compiling Paths_kempe ( dist/build/kc/autogen/Paths_kempe.hs, dist/build/kc/kc-tmp/Paths_kempe.o ) [2 of 2] Compiling Main ( run/Main.hs, dist/build/kc/kc-tmp/Main.o ) run/Main.hs:6:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 6 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Linking dist/build/kc/kc ... Preprocessing library 'kempe-modules' for kempe-0.2.0.9.. Running Haddock on library 'kempe-modules' for kempe-0.2.0.9.. Warning: --source-* options are ignored when --hyperlinked-source is enabled. src/Data/Tuple/Ext.hs:16:1: warning: [-Wmissing-signatures] Top-level binding with no type signature: third3 :: (t -> c) -> (a, b, t) -> (a, b, c) | 16 | third3 f (x, y, z) = (x, y, f z) | ^^^^^^ src/Kempe/Asm/Pretty.hs:7:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 7 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Asm/Type.hs:11:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 11 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Asm/Liveness.hs:12:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 12 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Name.hs:11:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 11 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Lexer.x:30:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 30 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ templates/wrappers.hs:16:1: warning: [-Wunused-imports] The qualified import of Data.Char is redundant except perhaps to import instances from Data.Char To import instances alone, use: import Data.Char() src/Kempe/Error.hs:11:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 11 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Prettyprinter/Debug.hs:8:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 8 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Language/C/AST.hs:9:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 9 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/IR/Type.hs:17:1: warning: [-Wunused-imports] The import of Control.Monad.State.Strict is redundant except perhaps to import instances from Control.Monad.State.Strict To import instances alone, use: import Control.Monad.State.Strict() | 17 | import Control.Monad.State.Strict (State) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/IR/Type.hs:21:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 21 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Asm/X86/Type.hs:20:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 20 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Asm/X86/Linear.hs:16:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 16 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Asm/X86/ControlFlow.hs:11:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 11 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Asm/Arm/Type.hs:20:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 20 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Asm/Arm/Trans.hs:11:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 11 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Asm/Arm/Linear.hs:13:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 13 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Asm/Arm/ControlFlow.hs:10:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 10 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/AST.hs:41:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 41 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/AST.hs:245:1: warning: [-Wunused-top-binds] Defined but not used: prettyDecls | 245 | prettyDecls = prettyDeclarationsGeneral pretty | ^^^^^^^^^^^ src/Kempe/TyAssign.hs:21:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 21 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Monomorphize.hs:31:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 31 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Monomorphize.hs:58:1: warning: [-Wunused-top-binds] Defined but not used: prettyDumpBinds | 58 | prettyDumpBinds b = vsep (prettyBind <$> M.toList b) | ^^^^^^^^^^^^^^^ src/Kempe/Inline.hs:11:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 11 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/Error/Warning.hs:7:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 7 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Kempe/File.hs:24:1: warning: [-Wunused-imports] The import of Data.Semigroup is redundant except perhaps to import instances from Data.Semigroup To import instances alone, use: import Data.Semigroup() | 24 | import Data.Semigroup ((<>)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Haddock coverage: 33% ( 1 / 3) in 'Kempe.Asm.Liveness' Missing documentation for: Liveness (src/Kempe/Asm/Type.hs:15) reconstruct (src/Kempe/Asm/Liveness.hs:41) 0% ( 0 / 14) in 'Kempe.Lexer' Missing documentation for: Module header alexMonadScan (templates/wrappers.hs:342) alexInitUserState (src/Kempe/Lexer.x:189) runAlex (templates/wrappers.hs:293) runAlexSt (src/Kempe/Lexer.x:389) withAlexSt (src/Kempe/Lexer.x:392) lexKempe (src/Kempe/Lexer.x:386) AlexPosn (templates/wrappers.hs:150) Alex (templates/wrappers.hs:305) Token (src/Kempe/Lexer.x:339) Keyword (src/Kempe/Lexer.x:285) Sym (src/Kempe/Lexer.x:207) Builtin (src/Kempe/Lexer.x:309) AlexUserState (src/Kempe/Lexer.x:187) Warning: 'AST' is out of scope. If you qualify the identifier, haddock can try to link it anyway. 0% ( 0 / 5) in 'Language.C.AST' Missing documentation for: Module header CType (src/Language/C/AST.hs:26) CFunc (src/Language/C/AST.hs:34) prettyHeaders (src/Language/C/AST.hs:36) cSettings (src/Language/C/AST.hs:15) 0% ( 0 / 2) in 'Kempe.IR.Opt' Missing documentation for: Module header optimize (src/Kempe/IR/Opt.hs:6) Warning: 'MovMem' is out of scope. If you qualify the identifier, haddock can try to link it anyway. Warning: 'Temp' is out of scope. If you qualify the identifier, haddock can try to link it anyway. 50% ( 1 / 2) in 'Kempe.Asm.X86.Trans' Missing documentation for: irToX86 (src/Kempe/Asm/X86/Trans.hs:21) 33% ( 1 / 3) in 'Kempe.Asm.X86.Linear' Missing documentation for: X86Reg (src/Kempe/Asm/X86/Type.hs:54) allocRegs (src/Kempe/Asm/X86/Linear.hs:95) Warning: 'IntSet' is out of scope. If you qualify the identifier, haddock can try to link it anyway. 33% ( 1 / 3) in 'Kempe.Asm.X86.ControlFlow' Missing documentation for: Module header mkControlFlow (src/Kempe/Asm/X86/ControlFlow.hs:21) 0% ( 0 / 2) in 'Kempe.Asm.Arm.Trans' Missing documentation for: Module header irToAarch64 (src/Kempe/Asm/Arm/Trans.hs:18) 50% ( 1 / 2) in 'Kempe.Asm.Arm.Linear' Missing documentation for: allocRegs (src/Kempe/Asm/Arm/Linear.hs:42) Warning: 'IntSet' is out of scope. If you qualify the identifier, haddock can try to link it anyway. 33% ( 1 / 3) in 'Kempe.Asm.Arm.ControlFlow' Missing documentation for: Module header mkControlFlow (src/Kempe/Asm/Arm/ControlFlow.hs:20) 17% ( 4 / 23) in 'Kempe.AST' Missing documentation for: Atom (src/Kempe/AST.hs:117) BuiltinFn (src/Kempe/AST.hs:144) KempeDecl (src/Kempe/AST.hs:221) Pattern (src/Kempe/AST.hs:64) Declarations (src/Kempe/AST.hs:259) Module (src/Kempe/AST.hs:261) ABI (src/Kempe/AST/Size.hs:70) BuiltinTy (src/Kempe/AST/Size.hs:49) KempeTy (src/Kempe/AST/Size.hs:33) StackType (src/Kempe/AST/Size.hs:39) MonoStackType (src/Kempe/AST/Size.hs:44) prettyMonoStackType (src/Kempe/AST/Size.hs:46) freeVars (src/Kempe/AST.hs:271) prettyTyped (src/Kempe/AST.hs:105) prettyTypedModule (src/Kempe/AST.hs:253) prettyFancyModule (src/Kempe/AST.hs:247) prettyModule (src/Kempe/AST.hs:256) prettyTypedDecl (src/Kempe/AST.hs:250) voidStackType (src/Kempe/AST.hs:61) 20% ( 1 / 5) in 'Kempe.TyAssign' Missing documentation for: TypeM (src/Kempe/TyAssign.hs:91) runTypeM (src/Kempe/TyAssign.hs:149) checkModule (src/Kempe/TyAssign.hs:425) assignModule (src/Kempe/TyAssign.hs:428) 0% ( 0 / 6) in 'Kempe.Parser' Missing documentation for: Module header parse (dist/build/kempe-modules/Kempe/Parser.hs:1391) parseWithMax (dist/build/kempe-modules/Kempe/Parser.hs:1394) parseWithCtx (dist/build/kempe-modules/Kempe/Parser.hs:1400) parseWithInitCtx (dist/build/kempe-modules/Kempe/Parser.hs:1397) ParseError (dist/build/kempe-modules/Kempe/Parser.hs:1374) 50% ( 5 / 10) in 'Kempe.Monomorphize' Missing documentation for: MonoM (src/Kempe/Monomorphize.hs:55) runMonoM (src/Kempe/Monomorphize.hs:72) tryMono (src/Kempe/Monomorphize.hs:81) closure (src/Kempe/Monomorphize.hs:266) mkModuleMap (src/Kempe/Monomorphize.hs:89) 50% ( 1 / 2) in 'Kempe.Module' Missing documentation for: parseProcess (src/Kempe/Module.hs:17) Warning: 'Atoms' is out of scope. If you qualify the identifier, haddock can try to link it anyway. 50% ( 1 / 2) in 'Kempe.Inline' Missing documentation for: inline (src/Kempe/Inline.hs:21) 14% ( 1 / 7) in 'Kempe.IR' Missing documentation for: Module header writeModule (src/Kempe/IR.hs:78) runTempM (src/Kempe/IR.hs:39) TempM (src/Kempe/IR.hs:51) prettyIR (src/Kempe/IR.hs:75) WriteSt (src/Kempe/IR/Type.hs:29) 50% ( 1 / 2) in 'Kempe.Check.Pattern' Missing documentation for: checkModuleExhaustive (src/Kempe/Check/Pattern.hs:42) 0% ( 0 / 2) in 'Kempe.Shuttle' Missing documentation for: Module header monomorphize (src/Kempe/Shuttle.hs:28) 0% ( 0 / 6) in 'Kempe.Pipeline' Missing documentation for: Module header irGen (src/Kempe/Pipeline.hs:30) x86Parsed (src/Kempe/Pipeline.hs:44) x86Alloc (src/Kempe/Pipeline.hs:47) armParsed (src/Kempe/Pipeline.hs:38) armAlloc (src/Kempe/Pipeline.hs:41) 0% ( 0 / 15) in 'Kempe.File' Missing documentation for: Module header tcFile (src/Kempe/File.hs:48) warnFile (src/Kempe/File.hs:55) dumpMono (src/Kempe/File.hs:78) dumpTyped (src/Kempe/File.hs:72) dumpCDecl (src/Kempe/File.hs:69) cDeclFile (src/Kempe/File.hs:63) irFile (src/Kempe/File.hs:95) x86File (src/Kempe/File.hs:100) armFile (src/Kempe/File.hs:105) dumpX86 (src/Kempe/File.hs:89) dumpArm (src/Kempe/File.hs:92) compile (src/Kempe/File.hs:110) armCompile (src/Kempe/File.hs:118) dumpIR (src/Kempe/File.hs:86) Warning: Kempe.Asm.Liveness: could not find link destinations for: Copointed Warning: Kempe.Lexer: could not find link destinations for: AlexState Name TyName Warning: Kempe.IR.Opt: could not find link destinations for: Stmt Warning: Kempe.Asm.X86.Trans: could not find link destinations for: SizeEnv Stmt X86 AbsReg Warning: Kempe.Asm.X86.Linear: could not find link destinations for: X86 AbsReg Warning: Kempe.Asm.X86.ControlFlow: could not find link destinations for: X86 AbsReg Warning: Kempe.Asm.Arm.Trans: could not find link destinations for: SizeEnv Stmt Arm AbsReg Warning: Kempe.Asm.Arm.Linear: could not find link destinations for: Arm AbsReg ArmReg Warning: Kempe.Asm.Arm.ControlFlow: could not find link destinations for: Arm AbsReg Warning: Kempe.AST: could not find link destinations for: Name TyName Warning: Kempe.TyAssign: could not find link destinations for: TyState Error Warning: Kempe.Parser: could not find link destinations for: Name Warning: Kempe.Monomorphize: could not find link destinations for: RenameEnv Error SizeEnv ModuleMap Name Warning: Kempe.IR: could not find link destinations for: SizeEnv Stmt TempSt Label Size Warning: Kempe.Check.Pattern: could not find link destinations for: Error Warning: Kempe.Shuttle: could not find link destinations for: Error SizeEnv Warning: Kempe.Pipeline: could not find link destinations for: Stmt SizeEnv X86 AbsReg Arm AbsReg ArmReg Warning: Kempe.File: could not find link destinations for: Error Warning Documentation created: dist/doc/html/kempe/index.html, dist/doc/html/kempe/kempe.txt Preprocessing executable 'kc' for kempe-0.2.0.9.. Installing internal library kempe-modules in /home/builder/hackage-server/build-cache/tmp-install/lib/x86_64-linux-ghc-8.10.2/kempe-0.2.0.9-JZnYYj8HUwBJLohGK1ZQ7c Installing executable kc in /home/builder/hackage-server/build-cache/tmp-install/bin Warning: The directory /home/builder/hackage-server/build-cache/tmp-install/bin is not in the system search path. cabal: Leaving directory '/tmp/cabal-tmp-30389/kempe-0.2.0.9' cabal: Error: some packages failed to install: kempe-0.2.0.9-JZnYYj8HUwBJLohGK1ZQ7c failed during the final install step. The exception was: dieVerbatim: user error (cabal: '/opt/ghc/bin/ghc-pkg' exited with an error: z-kempe-z-kempe-modules-0.2.0.9: installed package info from too old version of Cabal (key field does not match id field) )