Resolving dependencies... Downloading cmonad-0.1.1.1... cabal: Entering directory '/tmp/cabal-tmp-3985/cmonad-0.1.1.1' Configuring cmonad-0.1.1.1... Building cmonad-0.1.1.1... Preprocessing library cmonad-0.1.1.1... src/Language/CMonad/CPrelude.hs:1:16: warning: -fglasgow-exts is deprecated: Use individual extensions instead src/Language/CMonad/Prim.hs:1:16: warning: -fglasgow-exts is deprecated: Use individual extensions instead src/Language/CMonad/Ops.hs:1:16: warning: -fglasgow-exts is deprecated: Use individual extensions instead [1 of 5] Compiling Language.CMonad.MonadRef ( src/Language/CMonad/MonadRef.hs, dist/build/Language/CMonad/MonadRef.o ) [2 of 5] Compiling Language.CMonad.Prim ( src/Language/CMonad/Prim.hs, dist/build/Language/CMonad/Prim.o ) src/Language/CMonad/Prim.hs:29:10: error: • Could not deduce (Applicative (E' RValue m)) arising from the superclasses of an instance declaration from the context: Monad m bound by the instance declaration at src/Language/CMonad/Prim.hs:29:10-41 • In the instance declaration for ‘Monad (E' RValue m)’ src/Language/CMonad/Prim.hs:45:10: error: • Couldn't match type ‘E' v0 m a’ with ‘forall v. E' v m a’ Expected type: E m (forall v. E' v m a) Actual type: E' RValue m (E' v0 m a) • In the expression: E (do { x' <- runE x; r <- newRef x'; return (V (readRef r) (writeRef r)) }) In an equation for ‘auto’: auto x = E (do { x' <- runE x; r <- newRef x'; return (V (readRef r) (writeRef r)) }) • Relevant bindings include x :: E m a (bound at src/Language/CMonad/Prim.hs:45:6) auto :: E m a -> E m (forall v. E' v m a) (bound at src/Language/CMonad/Prim.hs:45:1) src/Language/CMonad/Prim.hs:54:15: error: • Couldn't match type ‘[E m i] -> E' v1 m a’ with ‘forall v. [E m i] -> E' v m a’ Expected type: E m (forall v. [E m i] -> E' v m a) Actual type: E' RValue m ([E m i] -> E' v1 m a) • In the expression: E (do { let ix :: [E m i] -> m i ix [i] = runE i {-# INLINE f #-} ....; return f }) In an equation for ‘liftArray’: liftArray a = E (do { let ix :: [E m i] -> m i ix [i] = runE i ....; return f }) • Relevant bindings include a :: arr i a (bound at src/Language/CMonad/Prim.hs:54:11) liftArray :: arr i a -> E m (forall v. [E m i] -> E' v m a) (bound at src/Language/CMonad/Prim.hs:54:1) src/Language/CMonad/Prim.hs:65:13: error: • Couldn't match type ‘[E m i] -> E' v2 m a’ with ‘forall v. [E m i] -> E' v m a’ Expected type: E m (forall v. [E m i] -> E' v m a) Actual type: E' RValue m ([E m i] -> E' v2 m a) • In the expression: E (do { ss' <- mapM runE ss; let sz = product ss' ix :: [E m i] -> m i ix is = do { ... }; a <- newArray (0, product ss' - 1) undefined :: m (arr i a); return (\ is -> V (ix is >>= readArray a) (\ x -> ix is >>= \ i -> writeArray a i x)) }) In an equation for ‘arrayU’: arrayU ss = E (do { ss' <- mapM runE ss; let sz = product ss' ix :: [E m i] -> m i ....; a <- newArray (0, product ss' - 1) undefined :: m (arr i a); return (\ is -> V (ix is >>= readArray a) (\ x -> ix is >>= \ i -> ...)) }) • Relevant bindings include ss :: [E m i] (bound at src/Language/CMonad/Prim.hs:65:8) arrayU :: [E m i] -> E m (forall v. [E m i] -> E' v m a) (bound at src/Language/CMonad/Prim.hs:65:1) cabal: Leaving directory '/tmp/cabal-tmp-3985/cmonad-0.1.1.1' Failed to install cmonad-0.1.1.1 cabal: Error: some packages failed to install: cmonad-0.1.1.1 failed during the building phase. The exception was: ExitFailure 1