Resolving dependencies... Configuring dlist-0.8.0.2... Configuring names-th-0.2.0.2... Building dlist-0.8.0.2... Building names-th-0.2.0.2... Installed names-th-0.2.0.2 Installed dlist-0.8.0.2 Configuring persistable-record-0.4.0.0... Building persistable-record-0.4.0.0... Failed to install persistable-record-0.4.0.0 Build log ( /home/builder/.cabal/logs/persistable-record-0.4.0.0.log ): cabal: Entering directory '/tmp/cabal-tmp-25855/persistable-record-0.4.0.0' Configuring persistable-record-0.4.0.0... Building persistable-record-0.4.0.0... Preprocessing library persistable-record-0.4.0.0... [1 of 7] Compiling Database.Record.Persistable ( src/Database/Record/Persistable.hs, dist/build/Database/Record/Persistable.o ) [2 of 7] Compiling Database.Record.KeyConstraint ( src/Database/Record/KeyConstraint.hs, dist/build/Database/Record/KeyConstraint.o ) [3 of 7] Compiling Database.Record.ToSql ( src/Database/Record/ToSql.hs, dist/build/Database/Record/ToSql.o ) [4 of 7] Compiling Database.Record.FromSql ( src/Database/Record/FromSql.hs, dist/build/Database/Record/FromSql.o ) [5 of 7] Compiling Database.Record ( src/Database/Record.hs, dist/build/Database/Record.o ) [6 of 7] Compiling Database.Record.TH ( src/Database/Record/TH.hs, dist/build/Database/Record/TH.o ) src/Database/Record/TH.hs:226:11: error: • Couldn't match expected type ‘Q Dec’ with actual type ‘Language.Haskell.TH.Lib.CxtQ -> Language.Haskell.TH.Lib.DecQ’ • Probable cause: ‘dataD’ is applied to too few arguments In a stmt of a 'do' block: rec <- dataD (cxt []) typeName [] [recC typeName (map fld columns)] derives In the expression: do { let typeName = conName typeName' fld (n, tq) = varStrictType (varName n) (strictType isStrict tq); rec <- dataD (cxt []) typeName [] [recC typeName (map fld columns)] derives; offs <- defineColumnOffsets typeName' [ty | (_, ty) <- columns]; return $ rec : offs } In an equation for ‘defineRecordType’: defineRecordType typeName' columns derives = do { let typeName = ... ....; rec <- dataD (cxt []) typeName [] [recC typeName (map fld columns)] derives; offs <- defineColumnOffsets typeName' [ty | (_, ty) <- columns]; .... } src/Database/Record/TH.hs:226:38: error: • Couldn't match expected type ‘Maybe Language.Haskell.TH.Syntax.Kind’ with actual type ‘[Language.Haskell.TH.Lib.ConQ]’ • In the fourth argument of ‘dataD’, namely ‘[recC typeName (map fld columns)]’ In a stmt of a 'do' block: rec <- dataD (cxt []) typeName [] [recC typeName (map fld columns)] derives In the expression: do { let typeName = conName typeName' fld (n, tq) = varStrictType (varName n) (strictType isStrict tq); rec <- dataD (cxt []) typeName [] [recC typeName (map fld columns)] derives; offs <- defineColumnOffsets typeName' [ty | (_, ty) <- columns]; return $ rec : offs } src/Database/Record/TH.hs:226:72: error: • Couldn't match type ‘Name’ with ‘Q Con’ Expected type: [Language.Haskell.TH.Lib.ConQ] Actual type: [Name] • In the fifth argument of ‘dataD’, namely ‘derives’ In a stmt of a 'do' block: rec <- dataD (cxt []) typeName [] [recC typeName (map fld columns)] derives In the expression: do { let typeName = conName typeName' fld (n, tq) = varStrictType (varName n) (strictType isStrict tq); rec <- dataD (cxt []) typeName [] [recC typeName (map fld columns)] derives; offs <- defineColumnOffsets typeName' [ty | (_, ty) <- columns]; return $ rec : offs } src/Database/Record/TH.hs:348:14: error: • The constructor ‘DataD’ should have 6 arguments, but has been given 5 • In the pattern: DataD _cxt tcn _bs [r] _ds In the pattern: TyConI (DataD _cxt tcn _bs [r] _ds) In an equation for ‘d’: d (TyConI (DataD _cxt tcn _bs [r] _ds)) = case r of { NormalC dcn ts -> Just ((conT tcn, conE dcn), (Nothing, [return t | (_, t) <- ts])) RecC dcn vts -> Just ((conT tcn, conE dcn), (Just ns, ts)) where (ns, ts) = unzip ... _ -> Nothing } cabal: Leaving directory '/tmp/cabal-tmp-25855/persistable-record-0.4.0.0' cabal: Error: some packages failed to install: persistable-record-0.4.0.0 failed during the building phase. The exception was: ExitFailure 1