Resolving dependencies... Configuring cmdargs-0.10.14... Configuring mtl-2.2.1... Building mtl-2.2.1... Building cmdargs-0.10.14... Installed mtl-2.2.1 Configuring text-1.2.2.1... Building text-1.2.2.1... Installed cmdargs-0.10.14 Installed text-1.2.2.1 Configuring parsec-3.1.11... Building parsec-3.1.11... Installed parsec-3.1.11 Configuring language-slice-0.3.0.0... Building language-slice-0.3.0.0... Installed language-slice-0.3.0.0 Downloading slice-cpp-gen-0.1.0.0... Configuring slice-cpp-gen-0.1.0.0... Building slice-cpp-gen-0.1.0.0... Failed to install slice-cpp-gen-0.1.0.0 Build log ( /home/builder/.cabal/logs/slice-cpp-gen-0.1.0.0.log ): cabal: Entering directory '/tmp/cabal-tmp-1675/slice-cpp-gen-0.1.0.0' Configuring slice-cpp-gen-0.1.0.0... Building slice-cpp-gen-0.1.0.0... Preprocessing executable 'slice-cpp-gen' for slice-cpp-gen-0.1.0.0... [1 of 1] Compiling Main ( src/slice-cpp-gen.hs, dist/build/slice-cpp-gen/slice-cpp-gen-tmp/Main.o ) src/slice-cpp-gen.hs:34:57: error: • Couldn't match expected type ‘[Char]’ with actual type ‘Ident’ • In the first argument of ‘(++)’, namely ‘nm’ In the second argument of ‘()’, namely ‘nm ++ "I.h"’ In the expression: trgtdir nm ++ "I.h" src/slice-cpp-gen.hs:34:102: error: • Couldn't match type ‘Ident’ with ‘[Char]’ Expected type: [String] Actual type: [Ident] • In the first argument of ‘genH’, namely ‘ns’ In the second argument of ‘($)’, namely ‘genH ns nm mthds’ In the expression: BLB.toLazyByteString $ genH ns nm mthds src/slice-cpp-gen.hs:34:105: error: • Couldn't match type ‘Ident’ with ‘[Char]’ Expected type: String Actual type: Ident • In the second argument of ‘genH’, namely ‘nm’ In the second argument of ‘($)’, namely ‘genH ns nm mthds’ In the expression: BLB.toLazyByteString $ genH ns nm mthds src/slice-cpp-gen.hs:35:57: error: • Couldn't match expected type ‘[Char]’ with actual type ‘Ident’ • In the first argument of ‘(++)’, namely ‘nm’ In the second argument of ‘()’, namely ‘nm ++ "I.cpp"’ In the expression: trgtdir nm ++ "I.cpp" src/slice-cpp-gen.hs:35:102: error: • Couldn't match type ‘Ident’ with ‘[Char]’ Expected type: [String] Actual type: [Ident] • In the first argument of ‘genCpp’, namely ‘ns’ In the second argument of ‘($)’, namely ‘genCpp ns nm mthds’ In the expression: BLB.toLazyByteString $ genCpp ns nm mthds src/slice-cpp-gen.hs:35:105: error: • Couldn't match expected type ‘[Char]’ with actual type ‘Ident’ • In the second argument of ‘genCpp’, namely ‘nm’ In the second argument of ‘($)’, namely ‘genCpp ns nm mthds’ In the expression: BLB.toLazyByteString $ genCpp ns nm mthds src/slice-cpp-gen.hs:76:26: error: • The constructor ‘MethodDecl’ should have 5 arguments, but has been given 4 • In the pattern: MethodDecl tp nm flds _ In an equation for ‘genMethodHead’: genMethodHead scope (MethodDecl tp nm flds _) = genType tp <> " " <> scope <> fromString nm <> "(" <> genFields flds <> (if null flds then "" else ", ") <> "const Ice::Current& current)" In an equation for ‘sliceCppGen’: sliceCppGen icefile trgtdir decl = go [] decl where go ns (ModuleDecl mName decls) = concatMap (go (ns ++ [mName])) decls go ns (InterfaceDecl nm ext mthds) = [(trgtdir nm ++ "I.h", BLB.toLazyByteString $ genH ns nm mthds), ....] go ns _ = [] genH :: [String] -> String -> [MethodDecl] -> BLB.Builder genH ns nm mthds = let ... in genIfDef (ns ++ [...]) ctnt genCpp ns nm mthds = let ... in genInclds [...] <> genNs "" ns mthdsCont .... src/slice-cpp-gen.hs:78:15: error: • The constructor ‘FieldDecl’ should have 3 arguments, but has been given 2 • In the pattern: FieldDecl tp nm In an equation for ‘genField’: genField (FieldDecl tp nm) = passRefOrVal tp <> " " <> fromString nm In an equation for ‘sliceCppGen’: sliceCppGen icefile trgtdir decl = go [] decl where go ns (ModuleDecl mName decls) = concatMap (go (ns ++ [mName])) decls go ns (InterfaceDecl nm ext mthds) = [(trgtdir nm ++ "I.h", BLB.toLazyByteString $ genH ns nm mthds), ....] go ns _ = [] genH :: [String] -> String -> [MethodDecl] -> BLB.Builder genH ns nm mthds = let ... in genIfDef (ns ++ [...]) ctnt genCpp ns nm mthds = let ... in genInclds [...] <> genNs "" ns mthdsCont .... src/slice-cpp-gen.hs:92:48: error: • Couldn't match type ‘NsQualIdent’ with ‘[Char]’ Expected type: String Actual type: NsQualIdent • In the first argument of ‘fromString’, namely ‘nm’ In the expression: fromString nm In an equation for ‘genType’: genType (STUserDefined nm) = fromString nm src/slice-cpp-gen.hs:93:48: error: • Couldn't match type ‘NsQualIdent’ with ‘[Char]’ Expected type: String Actual type: NsQualIdent • In the first argument of ‘fromString’, namely ‘nm’ In the first argument of ‘(<>)’, namely ‘fromString nm’ In the expression: fromString nm <> "Prx" src/slice-cpp-gen.hs:103:8: error: • Couldn't match expected type ‘BS.ByteString -> Either [Char] (t0 SliceDecl)’ with actual type ‘parsec-3.1.11:Text.Parsec.Prim.ParsecT BS.ByteString () Data.Functor.Identity.Identity SliceDecl’ • The function ‘SlcP.parseSlice’ is applied to one argument, but its type ‘parsec-3.1.11:Text.Parsec.Prim.ParsecT BS.ByteString () Data.Functor.Identity.Identity SliceDecl’ has none In the expression: SlcP.parseSlice slcData In a stmt of a 'do' block: case SlcP.parseSlice slcData of { Left err -> putStrLn (err ++ "\n\ \exiting...") >> exitFailure Right ast -> do { let ...; mapM_ wrtr fileData } } cabal: Leaving directory '/tmp/cabal-tmp-1675/slice-cpp-gen-0.1.0.0' cabal: Error: some packages failed to install: slice-cpp-gen-0.1.0.0 failed during the building phase. The exception was: ExitFailure 1