Resolving dependencies... Configuring ghc-paths-0.1.0.9... Configuring mtl-2.2.1... Building mtl-2.2.1... Building ghc-paths-0.1.0.9... Installed mtl-2.2.1 Configuring network-2.6.3.1... Configuring random-1.1... Installed ghc-paths-0.1.0.9 Building random-1.1... Building network-2.6.3.1... Configuring stm-2.4.4.1... Installed random-1.1 Building stm-2.4.4.1... Configuring text-1.2.2.1... Installed stm-2.4.4.1 Building text-1.2.2.1... Configuring transformers-compat-0.5.1.4... Installed network-2.6.3.1 Building transformers-compat-0.5.1.4... Configuring utf8-string-1.0.1.1... Installed transformers-compat-0.5.1.4 Building utf8-string-1.0.1.1... Installed utf8-string-1.0.1.1 Configuring exceptions-0.8.3... Building exceptions-0.8.3... Installed exceptions-0.8.3 Configuring hint-0.6.0... Building hint-0.6.0... Installed text-1.2.2.1 Configuring parsec-3.1.11... Building parsec-3.1.11... Installed parsec-3.1.11 Configuring network-uri-2.6.1.0... Building network-uri-2.6.1.0... Configuring multipart-0.1.2... Installed hint-0.6.0 Building multipart-0.1.2... Installed multipart-0.1.2 Installed network-uri-2.6.1.0 Configuring cgi-3001.3.0.2... Building cgi-3001.3.0.2... Installed cgi-3001.3.0.2 Configuring bidirectionalization-combined-0.1... Building bidirectionalization-combined-0.1... Failed to install bidirectionalization-combined-0.1 Build log ( /home/builder/.cabal/logs/bidirectionalization-combined-0.1.log ): cabal: Entering directory '/tmp/cabal-tmp-21727/bidirectionalization-combined-0.1' Configuring bidirectionalization-combined-0.1... Building bidirectionalization-combined-0.1... Preprocessing executable 'b18n-combined' for bidirectionalization-combined-0.1... [1 of 8] Compiling Util ( Util.hs, dist/build/b18n-combined/b18n-combined-tmp/Util.o ) [2 of 8] Compiling AST ( AST.hs, dist/build/b18n-combined/b18n-combined-tmp/AST.o ) [3 of 8] Compiling CodeGen ( CodeGen.hs, dist/build/b18n-combined/b18n-combined-tmp/CodeGen.o ) [4 of 8] Compiling Parser ( Parser.hs, dist/build/b18n-combined/b18n-combined-tmp/Parser.o ) [5 of 8] Compiling Shapify ( Shapify.hs, dist/build/b18n-combined/b18n-combined-tmp/Shapify.o ) [6 of 8] Compiling Type ( Type.hs, dist/build/b18n-combined/b18n-combined-tmp/Type.o ) Type.hs:166:1: error: • Non type-variable argument in the constraint: MonadState ([(Name, FType)], Int) m (Use FlexibleContexts to permit this) • When checking the inferred type makeInitConstr :: forall (m :: * -> *) t. MonadState ([(Name, FType)], Int) m => t -> [Decl] -> m [Decl] Type.hs:188:11: error: • Non type-variable argument in the constraint: MonadState (t1, t) m (Use FlexibleContexts to permit this) • When checking the inferred type putTmpMap :: forall t (m :: * -> *) t1. MonadState (t1, t) m => t1 -> m () In an equation for ‘makeInitConstr’: makeInitConstr tmap decls = do { mapM_ (\ (Decl f t ps e) -> do { ... }) $ (nubBy isSameFunc decls); tmpMap <- getTmpMap; let decls' = ...; .... } where getTmpMap = do { (tmpMap, i) <- get; .... } putTmpMap tm = do { (_, i) <- get; .... } newTypeVar = do { (tm, i) <- get; .... } Type.hs:194:1: error: • Non type-variable argument in the constraint: MonadState (t, Int) m (Use FlexibleContexts to permit this) • When checking the inferred type assignTypeVars :: forall t (m :: * -> *). MonadState (t, Int) m => [(Name, FType)] -> [(Name, FType)] -> Decl -> m Decl Type.hs:215:7: error: • Non type-variable argument in the constraint: MonadState ([(t2, t1)], t) m (Use FlexibleContexts to permit this) • When checking the inferred type addConstr :: forall t (m :: * -> *) t1 t2. MonadState ([(t2, t1)], t) m => t2 -> t1 -> m () In an equation for ‘assignTypeVars’: assignTypeVars tmpMap typeMap (Decl fname ftype ps e) = do { ps' <- mapM assignTypeVarsP ps; e' <- assignTypeVarsE e; unifyFT ftype (TFun [] (map typeofP ps') (typeofE e')); .... } where vtMapP (PVar _ t x) = [(x, t)] vtMapP (PCon _ _ c ps) = concatMap vtMapP ps vtMapE (EVar _ t x) = [(x, t)] vtMapE (ECon _ _ c es) = concatMap vtMapE es vtMapE (EFun _ _ c es) = concatMap vtMapE es newTypeVar = do { (constr, icount) <- get; .... } addConstr s t = do { (constr, icount) <- get; .... } .... cabal: Leaving directory '/tmp/cabal-tmp-21727/bidirectionalization-combined-0.1' cabal: Error: some packages failed to install: bidirectionalization-combined-0.1 failed during the building phase. The exception was: ExitFailure 1