Resolving dependencies... Configuring dlist-0.8.0.2... Configuring base-compat-0.9.1... Building base-compat-0.9.1... Building dlist-0.8.0.2... Installed dlist-0.8.0.2 Configuring old-locale-1.0.0.7... Building old-locale-1.0.0.7... Configuring mtl-2.2.1... Installed base-compat-0.9.1 Building mtl-2.2.1... Configuring safe-0.3.10... Installed old-locale-1.0.0.7 Building safe-0.3.10... Configuring primitive-0.6.1.0... Installed safe-0.3.10 Building primitive-0.6.1.0... Configuring stm-2.4.4.1... Installed mtl-2.2.1 Building stm-2.4.4.1... Configuring split-0.2.3.1... Installed stm-2.4.4.1 Building split-0.2.3.1... Configuring syb-0.6... Installed primitive-0.6.1.0 Building syb-0.6... Configuring th-lift-0.7.6... Installed split-0.2.3.1 Building th-lift-0.7.6... Configuring text-1.2.2.1... Installed syb-0.6 Configuring time-locale-compat-0.1.1.3... Installed th-lift-0.7.6 Building text-1.2.2.1... Building time-locale-compat-0.1.1.3... Configuring transformers-compat-0.5.1.4... Installed time-locale-compat-0.1.1.3 Building transformers-compat-0.5.1.4... Installed transformers-compat-0.5.1.4 Configuring old-time-1.1.0.3... Building old-time-1.1.0.3... Configuring th-expand-syns-0.4.1.0... Installed old-time-1.1.0.3 Building th-expand-syns-0.4.1.0... Configuring vector-0.11.0.0... Installed th-expand-syns-0.4.1.0 Building vector-0.11.0.0... Configuring tagged-0.8.5... Installed text-1.2.2.1 Building tagged-0.8.5... Configuring exceptions-0.8.3... Installed tagged-0.8.5 Building exceptions-0.8.3... Installed exceptions-0.8.3 Configuring hashable-1.2.4.0... Building hashable-1.2.4.0... Configuring th-reify-many-0.1.6... Installed hashable-1.2.4.0 Building th-reify-many-0.1.6... Configuring polyparse-1.12... Installed th-reify-many-0.1.6 Building polyparse-1.12... Configuring parsec-3.1.11... Installed vector-0.11.0.0 Building parsec-3.1.11... Configuring temporary-1.2.0.4... Installed polyparse-1.12 Building temporary-1.2.0.4... Installed temporary-1.2.0.4 Configuring scientific-0.3.4.9... Building scientific-0.3.4.9... Configuring unordered-containers-0.2.7.1... Installed parsec-3.1.11 Building unordered-containers-0.2.7.1... Configuring th-lift-instances-0.1.11... Installed scientific-0.3.4.9 Building th-lift-instances-0.1.11... Configuring cpphs-1.20.2... Installed th-lift-instances-0.1.11 Building cpphs-1.20.2... Installed unordered-containers-0.2.7.1 Configuring attoparsec-0.13.1.0... Building attoparsec-0.13.1.0... Configuring th-orphans-0.13.3... Installed cpphs-1.20.2 Building th-orphans-0.13.3... Installed attoparsec-0.13.1.0 Configuring haskell-src-exts-1.18.2... Building haskell-src-exts-1.18.2... Configuring aeson-1.0.2.1... Installed th-orphans-0.13.3 Building aeson-1.0.2.1... Installed aeson-1.0.2.1 Configuring th-desugar-1.6... Building th-desugar-1.6... Installed th-desugar-1.6 Installed haskell-src-exts-1.18.2 Configuring haskell-src-meta-0.7.0... Building haskell-src-meta-0.7.0... Installed haskell-src-meta-0.7.0 Downloading haskelm-0.0.5... Configuring haskelm-0.0.5... Building haskelm-0.0.5... Failed to install haskelm-0.0.5 Build log ( /home/builder/.cabal/logs/haskelm-0.0.5.log ): cabal: Entering directory '/tmp/cabal-tmp-2425/haskelm-0.0.5' Configuring haskelm-0.0.5... Building haskelm-0.0.5... Preprocessing library haskelm-0.0.5... [ 1 of 14] Compiling SourceSyntax.Helpers ( src/SourceSyntax/Helpers.hs, dist/build/SourceSyntax/Helpers.o ) [ 2 of 14] Compiling SourceSyntax.PrettyPrint ( src/SourceSyntax/PrettyPrint.hs, dist/build/SourceSyntax/PrettyPrint.o ) [ 3 of 14] Compiling SourceSyntax.Literal ( src/SourceSyntax/Literal.hs, dist/build/SourceSyntax/Literal.o ) [ 4 of 14] Compiling SourceSyntax.Location ( src/SourceSyntax/Location.hs, dist/build/SourceSyntax/Location.o ) [ 5 of 14] Compiling SourceSyntax.Pattern ( src/SourceSyntax/Pattern.hs, dist/build/SourceSyntax/Pattern.o ) [ 6 of 14] Compiling SourceSyntax.Type ( src/SourceSyntax/Type.hs, dist/build/SourceSyntax/Type.o ) [ 7 of 14] Compiling SourceSyntax.Expression ( src/SourceSyntax/Expression.hs, dist/build/SourceSyntax/Expression.o ) [ 8 of 14] Compiling SourceSyntax.Declaration ( src/SourceSyntax/Declaration.hs, dist/build/SourceSyntax/Declaration.o ) [ 9 of 14] Compiling SourceSyntax.Module ( src/SourceSyntax/Module.hs, dist/build/SourceSyntax/Module.o ) src/SourceSyntax/Module.hs:4:1: warning: [-Wunused-imports] The import of ‘Data.Binary’ is redundant except perhaps to import instances from ‘Data.Binary’ To import instances alone, use: import Data.Binary() src/SourceSyntax/Module.hs:5:1: warning: [-Wunused-imports] The qualified import of ‘Data.Map’ is redundant except perhaps to import instances from ‘Data.Map’ To import instances alone, use: import Data.Map() src/SourceSyntax/Module.hs:6:1: warning: [-Wunused-imports] The import of ‘Control.Applicative’ is redundant except perhaps to import instances from ‘Control.Applicative’ To import instances alone, use: import Control.Applicative() src/SourceSyntax/Module.hs:8:1: warning: [-Wunused-imports] The import of ‘SourceSyntax.Expression’ is redundant except perhaps to import instances from ‘SourceSyntax.Expression’ To import instances alone, use: import SourceSyntax.Expression() src/SourceSyntax/Module.hs:9:1: warning: [-Wunused-imports] The import of ‘SourceSyntax.Declaration’ is redundant except perhaps to import instances from ‘SourceSyntax.Declaration’ To import instances alone, use: import SourceSyntax.Declaration() src/SourceSyntax/Module.hs:10:1: warning: [-Wunused-imports] The import of ‘SourceSyntax.Type’ is redundant except perhaps to import instances from ‘SourceSyntax.Type’ To import instances alone, use: import SourceSyntax.Type() [10 of 14] Compiling Language.Elm.TH.Util ( src/Language/Elm/TH/Util.hs, dist/build/Language/Elm/TH/Util.o ) [11 of 14] Compiling Language.Elm.TH.Json ( src/Language/Elm/TH/Json.hs, dist/build/Language/Elm/TH/Json.o ) src/Language/Elm/TH/Json.hs:91:16: error: • The constructor ‘DataD’ should have 6 arguments, but has been given 5 • In the pattern: DataD _ _ _ ctors _ In an equation for ‘canSerial’: canSerial (DataD _ _ _ ctors _) = all canSerialCtor ctors In an equation for ‘isData’: isData dec = (isData' dec) && (canSerial dec) where isData' (DataD {}) = True isData' (NewtypeD {}) = True isData' (TySynD {}) = True isData' _ = False canSerial (DataD _ _ _ ctors _) = all canSerialCtor ctors canSerial (NewtypeD _ _ _ ctor _) = canSerialCtor ctor canSerial (TySynD _ _ ty) = canSerialType ty canSerial _ = False canSerialCtor (NormalC _ types) = all (canSerialType) (map snd types) canSerialCtor (RecC _ types) = all (canSerialType) (map (\ (_, _, c) -> c) types) canSerialType (ArrowT) = False canSerialType t = all canSerialType (subTypes t) src/Language/Elm/TH/Json.hs:270:23: error: • The constructor ‘DataD’ should have 6 arguments, but has been given 5 • In the pattern: DataD _ name _ ctors _deriving In an equation for ‘fromMatchForType’: fromMatchForType dec@(DataD _ name _ ctors _deriving) = do { let matchPat = ...; ctorMatches <- mapM fromMatchForCtor ctors; let typeBody = ...; .... } src/Language/Elm/TH/Json.hs:370:21: error: • The constructor ‘DataD’ should have 6 arguments, but has been given 5 • In the pattern: DataD _ name _ ctors _derive In an equation for ‘toMatchForType’: toMatchForType dec@(DataD _ name _ ctors _derive) = do { varName <- liftNewName "adt"; matchPat <- unJsonPat name varName; ctorMatches <- mapM (toMatchForCtor name) ctors; .... } src/Language/Elm/TH/Json.hs:461:65: error: Data constructor not in scope: NotStrict :: Bang src/Language/Elm/TH/Json.hs:462:65: error: Data constructor not in scope: NotStrict :: Bang src/Language/Elm/TH/Json.hs:463:3: error: • Couldn't match type ‘Cxt -> Dec’ with ‘Dec’ Expected type: StateT TranslationState Q [Dec] Actual type: StateT TranslationState Q [Cxt -> Dec] • In a stmt of a 'do' block: return [DataD [] (mkName sumTypePrefix) [] (ctors ++ [nullCtor, listCtor]) []] In the expression: do { let decs = filter isData allDecs; let typeNames = map getTypeName decs ++ map mkName ...; ctorStrings <- mapM typeString typeNames; let ctorNames = zip typeNames (map mkName ctorStrings); .... } In an equation for ‘giantSumType’: giantSumType allDecs = do { let decs = ...; let typeNames = ...; ctorStrings <- mapM typeString typeNames; .... } where getTypeName :: Dec -> Name getTypeName (DataD _ name _ _ _) = name getTypeName (NewtypeD _ name _tyBindings _ctor _nameList) = name getTypeName (TySynD name _ _) = name src/Language/Elm/TH/Json.hs:463:48: error: • Couldn't match expected type ‘Maybe Kind’ with actual type ‘[Con]’ • In the fourth argument of ‘DataD’, namely ‘(ctors ++ [nullCtor, listCtor])’ In the expression: DataD [] (mkName sumTypePrefix) [] (ctors ++ [nullCtor, listCtor]) [] In the first argument of ‘return’, namely ‘[DataD [] (mkName sumTypePrefix) [] (ctors ++ [nullCtor, listCtor]) []]’ src/Language/Elm/TH/Json.hs:466:20: error: • The constructor ‘DataD’ should have 6 arguments, but has been given 5 • In the pattern: DataD _ name _ _ _ In an equation for ‘getTypeName’: getTypeName (DataD _ name _ _ _) = name In an equation for ‘giantSumType’: giantSumType allDecs = do { let decs = ...; let typeNames = ...; ctorStrings <- mapM typeString typeNames; .... } where getTypeName :: Dec -> Name getTypeName (DataD _ name _ _ _) = name getTypeName (NewtypeD _ name _tyBindings _ctor _nameList) = name getTypeName (TySynD name _ _) = name cabal: Leaving directory '/tmp/cabal-tmp-2425/haskelm-0.0.5' cabal: Error: some packages failed to install: haskelm-0.0.5 failed during the building phase. The exception was: ExitFailure 1