Resolving dependencies... Configuring mtl-2.2.1... Building mtl-2.2.1... Preprocessing library mtl-2.2.1... [ 1 of 22] Compiling Control.Monad.Writer.Class ( Control/Monad/Writer/Class.hs, dist/build/Control/Monad/Writer/Class.o ) [ 2 of 22] Compiling Control.Monad.State.Class ( Control/Monad/State/Class.hs, dist/build/Control/Monad/State/Class.o ) [ 3 of 22] Compiling Control.Monad.Reader.Class ( Control/Monad/Reader/Class.hs, dist/build/Control/Monad/Reader/Class.o ) [ 4 of 22] Compiling Control.Monad.RWS.Class ( Control/Monad/RWS/Class.hs, dist/build/Control/Monad/RWS/Class.o ) [ 5 of 22] Compiling Control.Monad.Identity ( Control/Monad/Identity.hs, dist/build/Control/Monad/Identity.o ) [ 6 of 22] Compiling Control.Monad.Error.Class ( Control/Monad/Error/Class.hs, dist/build/Control/Monad/Error/Class.o ) [ 7 of 22] Compiling Control.Monad.Cont.Class ( Control/Monad/Cont/Class.hs, dist/build/Control/Monad/Cont/Class.o ) [ 8 of 22] Compiling Control.Monad.Trans ( Control/Monad/Trans.hs, dist/build/Control/Monad/Trans.o ) [ 9 of 22] Compiling Control.Monad.Error ( Control/Monad/Error.hs, dist/build/Control/Monad/Error.o ) [10 of 22] Compiling Control.Monad.Except ( Control/Monad/Except.hs, dist/build/Control/Monad/Except.o ) [11 of 22] Compiling Control.Monad.List ( Control/Monad/List.hs, dist/build/Control/Monad/List.o ) [12 of 22] Compiling Control.Monad.RWS.Lazy ( Control/Monad/RWS/Lazy.hs, dist/build/Control/Monad/RWS/Lazy.o ) [13 of 22] Compiling Control.Monad.RWS ( Control/Monad/RWS.hs, dist/build/Control/Monad/RWS.o ) [14 of 22] Compiling Control.Monad.Reader ( Control/Monad/Reader.hs, dist/build/Control/Monad/Reader.o ) [15 of 22] Compiling Control.Monad.RWS.Strict ( Control/Monad/RWS/Strict.hs, dist/build/Control/Monad/RWS/Strict.o ) [16 of 22] Compiling Control.Monad.State.Lazy ( Control/Monad/State/Lazy.hs, dist/build/Control/Monad/State/Lazy.o ) [17 of 22] Compiling Control.Monad.State ( Control/Monad/State.hs, dist/build/Control/Monad/State.o ) [18 of 22] Compiling Control.Monad.State.Strict ( Control/Monad/State/Strict.hs, dist/build/Control/Monad/State/Strict.o ) [19 of 22] Compiling Control.Monad.Writer.Lazy ( Control/Monad/Writer/Lazy.hs, dist/build/Control/Monad/Writer/Lazy.o ) [20 of 22] Compiling Control.Monad.Writer ( Control/Monad/Writer.hs, dist/build/Control/Monad/Writer.o ) [21 of 22] Compiling Control.Monad.Writer.Strict ( Control/Monad/Writer/Strict.hs, dist/build/Control/Monad/Writer/Strict.o ) [22 of 22] Compiling Control.Monad.Cont ( Control/Monad/Cont.hs, dist/build/Control/Monad/Cont.o ) In-place registering mtl-2.2.1... Running Haddock for mtl-2.2.1... Running hscolour for mtl-2.2.1... Preprocessing library mtl-2.2.1... Preprocessing library mtl-2.2.1... Haddock coverage: 75% ( 3 / 4) in 'Control.Monad.Writer.Class' Missing documentation for: MonadWriter (Control/Monad/Writer/Class.hs:62) 100% ( 5 / 5) in 'Control.Monad.State.Class' 100% ( 3 / 3) in 'Control.Monad.Reader.Class' 80% ( 4 / 5) in 'Control.Monad.RWS.Class' Missing documentation for: MonadRWS (Control/Monad/RWS/Class.hs:44) 100% ( 4 / 4) in 'Control.Monad.Identity' 100% ( 3 / 3) in 'Control.Monad.Error.Class' 50% ( 1 / 2) in 'Control.Monad.Cont.Class' Missing documentation for: MonadCont (Control/Monad/Cont/Class.hs:73) 100% ( 3 / 3) in 'Control.Monad.Trans' 93% ( 14 / 15) in 'Control.Monad.Error' Missing documentation for: runErrorT 100% ( 19 / 19) in 'Control.Monad.Except' 100% ( 5 / 5) in 'Control.Monad.List' 95% ( 21 / 22) in 'Control.Monad.RWS.Lazy' Missing documentation for: runRWST 100% ( 2 / 2) in 'Control.Monad.RWS' 96% ( 22 / 23) in 'Control.Monad.Reader' Missing documentation for: runReaderT 95% ( 21 / 22) in 'Control.Monad.RWS.Strict' Missing documentation for: runRWST 96% ( 24 / 25) in 'Control.Monad.State.Lazy' Missing documentation for: runStateT 100% ( 2 / 2) in 'Control.Monad.State' 96% ( 24 / 25) in 'Control.Monad.State.Strict' Missing documentation for: runStateT 89% ( 17 / 19) in 'Control.Monad.Writer.Lazy' Missing documentation for: MonadWriter (Control/Monad/Writer/Class.hs:62) runWriterT 100% ( 2 / 2) in 'Control.Monad.Writer' 94% ( 17 / 18) in 'Control.Monad.Writer.Strict' Missing documentation for: MonadWriter (Control/Monad/Writer/Class.hs:62) 91% ( 20 / 22) in 'Control.Monad.Cont' Missing documentation for: MonadCont (Control/Monad/Cont/Class.hs:73) runContT Documentation created: dist/doc/html/mtl/index.html, dist/doc/html/mtl/mtl.txt Creating package registration file: /tmp/pkgConf-mtl-2.2278722862233665123.1 Installing library in /home/builder/hackage-server/build-cache/tmp-install/lib/x86_64-linux-ghc-7.10.2/mtl-2.2.1-KMpng31YRYc5JfMWFZ3FCU Registering mtl-2.2.1... Installed mtl-2.2.1 Configuring CC-delcont-cxe-0.1.0.2... Building CC-delcont-cxe-0.1.0.2... Preprocessing library CC-delcont-cxe-0.1.0.2... [1 of 1] Compiling Control.Monad.CC.CCCxe ( Control/Monad/CC/CCCxe.hs, dist/build/Control/Monad/CC/CCCxe.o ) Control/Monad/CC/CCCxe.hs:95:10: Could not deduce (Applicative (CC p m)) arising from the superclasses of an instance declaration from the context (Monad m) bound by the instance declaration at Control/Monad/CC/CCCxe.hs:95:10-34 In the instance declaration for ‘Monad (CC p m)’ Control/Monad/CC/CCCxe.hs:105:10: Could not deduce (Applicative (CC p m)) arising from the superclasses of an instance declaration from the context (MonadIO m) bound by the instance declaration at Control/Monad/CC/CCCxe.hs:105:10-38 In the instance declaration for ‘MonadIO (CC p m)’ Control/Monad/CC/CCCxe.hs:145:49: Could not deduce (Applicative (CC p m)) arising from a use of ‘return’ from the context (Monad m) bound by the type signature for shiftP :: Monad m => Prompt p m w -> ((a -> CC p m w) -> CC p m w) -> CC p m a at Control/Monad/CC/CCCxe.hs:(141,11)-(142,67) In the second argument of ‘pushSubCont’, namely ‘(return c)’ In the second argument of ‘pushPrompt’, namely ‘(pushSubCont sk (return c))’ In the expression: pushPrompt p (pushSubCont sk (return c)) Control/Monad/CC/CCCxe.hs:151:49: Could not deduce (Applicative (CC p m)) arising from a use of ‘return’ from the context (Monad m) bound by the type signature for shift0P :: Monad m => Prompt p m w -> ((a -> CC p m w) -> CC p m w) -> CC p m a at Control/Monad/CC/CCCxe.hs:(147,12)-(148,67) In the second argument of ‘pushSubCont’, namely ‘(return c)’ In the second argument of ‘pushPrompt’, namely ‘(pushSubCont sk (return c))’ In the expression: pushPrompt p (pushSubCont sk (return c)) Control/Monad/CC/CCCxe.hs:157:35: Could not deduce (Applicative (CC p m)) arising from a use of ‘return’ from the context (Monad m) bound by the type signature for controlP :: Monad m => Prompt p m w -> ((a -> CC p m w) -> CC p m w) -> CC p m a at Control/Monad/CC/CCCxe.hs:(153,13)-(154,67) In the second argument of ‘pushSubCont’, namely ‘(return c)’ In the expression: pushSubCont sk (return c) In the first argument of ‘f’, namely ‘(\ c -> pushSubCont sk (return c))’ Failed to install CC-delcont-cxe-0.1.0.2 Configuring CC-delcont-exc-0.1.0.0... Building CC-delcont-exc-0.1.0.0... Preprocessing library CC-delcont-exc-0.1.0.0... [1 of 1] Compiling Control.Monad.CC.CCExc ( Control/Monad/CC/CCExc.hs, dist/build/Control/Monad/CC/CCExc.o ) Control/Monad/CC/CCExc.hs:100:10: Could not deduce (Applicative (CC p m)) arising from the superclasses of an instance declaration from the context (Monad m) bound by the instance declaration at Control/Monad/CC/CCExc.hs:100:10-34 In the instance declaration for ‘Monad (CC p m)’ Control/Monad/CC/CCExc.hs:111:10: Could not deduce (Applicative (CC p m)) arising from the superclasses of an instance declaration from the context (MonadIO m) bound by the instance declaration at Control/Monad/CC/CCExc.hs:111:10-38 In the instance declaration for ‘MonadIO (CC p m)’ Control/Monad/CC/CCExc.hs:153:49: Could not deduce (Applicative (CC p m)) arising from a use of ‘return’ from the context (Monad m) bound by the type signature for shiftP :: Monad m => Prompt p m w -> ((a -> CC p m w) -> CC p m w) -> CC p m a at Control/Monad/CC/CCExc.hs:(149,11)-(150,67) In the second argument of ‘pushSubCont’, namely ‘(return c)’ In the second argument of ‘pushPrompt’, namely ‘(pushSubCont sk (return c))’ In the expression: pushPrompt p (pushSubCont sk (return c)) Control/Monad/CC/CCExc.hs:159:49: Could not deduce (Applicative (CC p m)) arising from a use of ‘return’ from the context (Monad m) bound by the type signature for shift0P :: Monad m => Prompt p m w -> ((a -> CC p m w) -> CC p m w) -> CC p m a at Control/Monad/CC/CCExc.hs:(155,12)-(156,67) In the second argument of ‘pushSubCont’, namely ‘(return c)’ In the second argument of ‘pushPrompt’, namely ‘(pushSubCont sk (return c))’ In the expression: pushPrompt p (pushSubCont sk (return c)) Control/Monad/CC/CCExc.hs:165:35: Could not deduce (Applicative (CC p m)) arising from a use of ‘return’ from the context (Monad m) bound by the type signature for controlP :: Monad m => Prompt p m w -> ((a -> CC p m w) -> CC p m w) -> CC p m a at Control/Monad/CC/CCExc.hs:(161,13)-(162,67) In the second argument of ‘pushSubCont’, namely ‘(return c)’ In the expression: pushSubCont sk (return c) In the first argument of ‘f’, namely ‘(\ c -> pushSubCont sk (return c))’ Failed to install CC-delcont-exc-0.1.0.0 Configuring CC-delcont-ref-0.1.0.0... Building CC-delcont-ref-0.1.0.0... Preprocessing library CC-delcont-ref-0.1.0.0... [1 of 2] Compiling Mutation ( Mutation.hs, dist/build/Mutation.o ) [2 of 2] Compiling Control.Monad.CC.CCRef ( Control/Monad/CC/CCRef.hs, dist/build/Control/Monad/CC/CCRef.o ) Control/Monad/CC/CCRef.hs:147:10: Could not deduce (Applicative (CC m)) arising from the superclasses of an instance declaration from the context (Monad m) bound by the instance declaration at Control/Monad/CC/CCRef.hs:147:10-32 In the instance declaration for ‘Monad (CC m)’ Control/Monad/CC/CCRef.hs:154:10: Could not deduce (Applicative (CC m)) arising from the superclasses of an instance declaration from the context (MonadIO m) bound by the instance declaration at Control/Monad/CC/CCRef.hs:154:10-36 In the instance declaration for ‘MonadIO (CC m)’ Control/Monad/CC/CCRef.hs:198:3: Could not deduce (Applicative (CC m)) arising from a do statement from the context (Monad m, Mutation m) bound by the type signature for mbox_receive :: (Monad m, Mutation m) => Prompt m a -> CC m a at Control/Monad/CC/CCRef.hs:196:17-61 In a stmt of a 'do' block: k <- readRef (mbox p) In the expression: do { k <- readRef (mbox p); writeRef (mbox p) mbox_empty; k } In an equation for ‘mbox_receive’: mbox_receive p = do { k <- readRef (mbox p); writeRef (mbox p) mbox_empty; k } Control/Monad/CC/CCRef.hs:231:2: Illegal equational constraint Ref m ~ Ref m (Use GADTs or TypeFamilies to permit this) When checking that ‘loop’ has the inferred type loop :: forall (m :: * -> *) (m1 :: * -> *). (Monad m, Mutation m, Ref m1 ~ Ref m) => [PFrame m1] -> [PFrame m1] -> m (PFrame m1, [PFrame m1], [PFrame m1]) In an equation for ‘unwind’: unwind acc mark stack = with_marked_mark mark (loop acc stack) where loop acc [] = error "No prompt was set" loop acc s@(h : t) = do { marked <- is_marked (pfr_mark h); .... } Control/Monad/CC/CCRef.hs:241:2: Illegal equational constraint Ref m ~ Ref m (Use GADTs or TypeFamilies to permit this) When checking that ‘loop’ has the inferred type loop :: forall (m :: * -> *) (m1 :: * -> *). (Monad m, Mutation m, Ref m1 ~ Ref m) => [PFrame m1] -> m (PFrame m1, [PFrame m1]) In an equation for ‘unwind_abort’: unwind_abort mark stack = with_marked_mark mark (loop stack) where loop [] = error "No prompt was set" loop s@(h : t) = do { marked <- is_marked (pfr_mark h); .... } Control/Monad/CC/CCRef.hs:275:41: Could not deduce (Applicative (CC m)) arising from a use of ‘return’ from the context (Monad m, Mutation m) bound by the type signature for pushPrompt :: (Monad m, Mutation m) => Prompt m w -> CC m w -> CC m w at Control/Monad/CC/CCRef.hs:(267,15)-(268,44) In the second argument of ‘writeRef’, namely ‘(return res)’ In the first argument of ‘(>>)’, namely ‘writeRef (mbox p) (return res)’ In the expression: writeRef (mbox p) (return res) >> raise Control/Monad/CC/CCRef.hs:280:29: Could not deduce (Applicative (CC m)) arising from a use of ‘>>=’ from the context (Monad m, Mutation m) bound by the type signature for takeSubCont :: (Monad m, Mutation m) => Prompt m b -> (SubCont m a b -> CC m b) -> CC m a at Control/Monad/CC/CCRef.hs:(278,16)-(279,64) In the expression: newPrompt >>= \ pa -> CC $ \ k ptop -> do { ... } In an equation for ‘takeSubCont’: takeSubCont p f = newPrompt >>= \ pa -> CC $ \ k ptop -> ... Control/Monad/CC/CCRef.hs:340:3: Could not deduce (Applicative (CC m)) arising from a do statement from the context (Monad m, Mutation m) bound by the type signature for isPromptSet :: (Monad m, Mutation m) => Prompt m w -> CC m Bool at Control/Monad/CC/CCRef.hs:(337,16)-(338,38) In a stmt of a 'do' block: stack <- get_pstack In the expression: do { stack <- get_pstack; with_marked_mark (mark p) (loop stack) } In an equation for ‘isPromptSet’: isPromptSet p = do { stack <- get_pstack; with_marked_mark (mark p) (loop stack) } where loop [] = return False loop s@(h : t) = do { marked <- is_marked (pfr_mark h); .... } Control/Monad/CC/CCRef.hs:343:2: Illegal equational constraint Ref m ~ Ref m (Use GADTs or TypeFamilies to permit this) When checking that ‘loop’ has the inferred type loop :: forall (m :: * -> *) (m1 :: * -> *). (Monad m, Mutation m, Ref m1 ~ Ref m) => [PFrame m1] -> m Bool In an equation for ‘isPromptSet’: isPromptSet p = do { stack <- get_pstack; with_marked_mark (mark p) (loop stack) } where loop [] = return False loop s@(h : t) = do { marked <- is_marked (pfr_mark h); .... } Control/Monad/CC/CCRef.hs:360:40: Could not deduce (Applicative (CC m)) arising from a use of ‘return’ from the context (Monad m, Mutation m) bound by the type signature for shiftP :: (Monad m, Mutation m) => Prompt m w -> ((a -> CC m w) -> CC m w) -> CC m a at Control/Monad/CC/CCRef.hs:(356,11)-(357,59) In the second argument of ‘pushDelimSubCont’, namely ‘(return c)’ In the expression: pushDelimSubCont sk (return c) In the first argument of ‘f’, namely ‘(\ c -> pushDelimSubCont sk (return c))’ Control/Monad/CC/CCRef.hs:366:40: Could not deduce (Applicative (CC m)) arising from a use of ‘return’ from the context (Monad m, Mutation m) bound by the type signature for shift0P :: (Monad m, Mutation m) => Prompt m w -> ((a -> CC m w) -> CC m w) -> CC m a at Control/Monad/CC/CCRef.hs:(362,12)-(363,60) In the second argument of ‘pushDelimSubCont’, namely ‘(return c)’ In the expression: pushDelimSubCont sk (return c) In the first argument of ‘f’, namely ‘(\ c -> pushDelimSubCont sk (return c))’ Control/Monad/CC/CCRef.hs:372:35: Could not deduce (Applicative (CC m)) arising from a use of ‘return’ from the context (Monad m, Mutation m) bound by the type signature for controlP :: (Monad m, Mutation m) => Prompt m w -> ((a -> CC m w) -> CC m w) -> CC m a at Control/Monad/CC/CCRef.hs:(368,13)-(369,61) In the second argument of ‘pushSubCont’, namely ‘(return c)’ In the expression: pushSubCont sk (return c) In the first argument of ‘f’, namely ‘(\ c -> pushSubCont sk (return c))’ Control/Monad/CC/CCRef.hs:383:3: Could not deduce (Applicative (CC m)) arising from a do statement from the context (Monad m) bound by the type signature for assure :: Monad m => CC m Bool -> CC m () at Control/Monad/CC/CCRef.hs:381:11-41 In a stmt of a 'do' block: v <- m In the expression: do { v <- m; if v then return () else error "assertion failed" } In an equation for ‘assure’: assure m = do { v <- m; if v then return () else error "assertion failed" } Control/Monad/CC/CCRef.hs:387:25: No instance for (Applicative (CC IO)) arising from a use of ‘>>=’ In the first argument of ‘runCC’, namely ‘(return 1 >>= (return . (+ 4)))’ In the first argument of ‘(>>=)’, namely ‘runCC (return 1 >>= (return . (+ 4)))’ In the expression: runCC (return 1 >>= (return . (+ 4))) >>= expect 5 Control/Monad/CC/CCRef.hs:391:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; assure (isPromptSet p >>= return . not); pushPrompt p $ (assure (isPromptSet p) >> return 1) }’ In the expression: (expect 1 =<<) . runCC $ do { p <- newPrompt; assure (isPromptSet p >>= return . not); pushPrompt p $ (assure (isPromptSet p) >> return 1) } Control/Monad/CC/CCRef.hs:399:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; incr 4 . pushPrompt p $ pushPrompt p (return 5) }’ In the expression: (expect 9 =<<) . runCC $ do { p <- newPrompt; incr 4 . pushPrompt p $ pushPrompt p (return 5) } Control/Monad/CC/CCRef.hs:403:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; incr 4 . pushPrompt p $ (incr 6 $ abortP p (return 5)) }’ In the expression: (expect 9 =<<) . runCC $ do { p <- newPrompt; incr 4 . pushPrompt p $ (incr 6 $ abortP p (return 5)) } Control/Monad/CC/CCRef.hs:407:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; incr 4 . pushPrompt p . pushPrompt p $ (incr 6 $ abortP p (return 5)) }’ In the expression: (expect 9 =<<) . runCC $ do { p <- newPrompt; incr 4 . pushPrompt p . pushPrompt p $ (incr 6 $ abortP p (return 5)) } Control/Monad/CC/CCRef.hs:412:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; incr 4 . pushPrompt p . pushPrompt p $ (incr 6 $ takeSubCont p (\ _ -> (return 5))) }’ In the expression: (expect 9 =<<) . runCC $ do { p <- newPrompt; incr 4 . pushPrompt p . pushPrompt p $ (incr 6 $ takeSubCont p (\ _ -> (return 5))) } Control/Monad/CC/CCRef.hs:417:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; incr 20 . pushPrompt p $ do { v1 <- pushPrompt p (incr 6 $ abortP p (return 5)); v2 <- abortP p (return 7); .... } }’ In the expression: (expect 27 =<<) . runCC $ do { p <- newPrompt; incr 20 . pushPrompt p $ do { v1 <- pushPrompt p (incr 6 $ abortP p (return 5)); v2 <- abortP p (return 7); .... } } Control/Monad/CC/CCRef.hs:425:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; incr 20 . pushPrompt p $ do { v1 <- pushPrompt p (incr 6 $ takeSubCont p (\ _ -> return 5)); v2 <- takeSubCont p (\ _ -> return 7); .... } }’ In the expression: (expect 27 =<<) . runCC $ do { p <- newPrompt; incr 20 . pushPrompt p $ do { v1 <- pushPrompt p (incr 6 $ takeSubCont p (\ _ -> return 5)); v2 <- takeSubCont p (\ _ -> return 7); .... } } Control/Monad/CC/CCRef.hs:433:16: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; v <- pushPrompt p $ do { v1 <- pushPrompt p (incr 6 $ abortP p (return 5)); v2 <- abortP p (return 7); .... }; assure (isPromptSet p >>= return . not); v <- abortP p (return 9); .... }’ In the expression: (print =<<) . runCC $ do { p <- newPrompt; v <- pushPrompt p $ do { v1 <- pushPrompt p (incr 6 $ abortP p (return 5)); v2 <- abortP p (return 7); .... }; assure (isPromptSet p >>= return . not); v <- abortP p (return 9); .... } Control/Monad/CC/CCRef.hs:446:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; incr 20 . pushPrompt p $ incr 10 . takeSubCont p $ \ sk -> pushPrompt p (pushSubCont sk (return 5)) }’ In the expression: (expect 35 =<<) . runCC $ do { p <- newPrompt; incr 20 . pushPrompt p $ incr 10 . takeSubCont p $ \ sk -> pushPrompt p (pushSubCont sk (return 5)) } Control/Monad/CC/CCRef.hs:452:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; incr 20 . pushPrompt p $ incr 10 . takeSubCont p $ \ sk -> pushSubCont sk (pushPrompt p (pushSubCont sk (abortP p (return 5)))) }’ In the expression: (expect 35 =<<) . runCC $ do { p <- newPrompt; incr 20 . pushPrompt p $ incr 10 . takeSubCont p $ \ sk -> pushSubCont sk (pushPrompt p (pushSubCont sk (abortP p (return 5)))) } Control/Monad/CC/CCRef.hs:463:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; incr 10 . pushPrompt p $ incr 2 . shiftP p $ \ sk -> incr 100 $ sk =<< (sk 3) }’ In the expression: (expect 117 =<<) . runCC $ do { p <- newPrompt; incr 10 . pushPrompt p $ incr 2 . shiftP p $ \ sk -> incr 100 $ sk =<< (sk 3) } Control/Monad/CC/CCRef.hs:469:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p0 <- newPrompt In the second argument of ‘($)’, namely ‘do { p0 <- newPrompt; p1 <- newPrompt; incr 10 . pushPrompt p0 $ incr 2 . shiftP p0 $ \ sk -> incr 100 $ sk =<< (pushPrompt p1 (incr 9 $ sk =<< (abortP p1 (return 3)))) }’ In the expression: (expect 115 =<<) . runCC $ do { p0 <- newPrompt; p1 <- newPrompt; incr 10 . pushPrompt p0 $ incr 2 . shiftP p0 $ \ sk -> incr 100 $ sk =<< (pushPrompt p1 (incr 9 $ sk =<< (abortP p1 (return 3)))) } Control/Monad/CC/CCRef.hs:477:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p0 <- newPrompt In the second argument of ‘($)’, namely ‘do { p0 <- newPrompt; p1 <- newPrompt; incr 10 . pushPrompt p0 $ incr 2 . (id =<<) . shiftP p0 $ \ sk -> incr 100 $ sk (pushPrompt p1 (incr 9 $ sk (abortP p1 (return 3)))) }’ In the expression: (expect 115 =<<) . runCC $ do { p0 <- newPrompt; p1 <- newPrompt; incr 10 . pushPrompt p0 $ incr 2 . (id =<<) . shiftP p0 $ \ sk -> incr 100 $ sk (pushPrompt p1 (incr 9 $ sk (abortP p1 (return 3)))) } Control/Monad/CC/CCRef.hs:485:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p0 <- newPrompt In the second argument of ‘($)’, namely ‘do { p0 <- newPrompt; p1 <- newPrompt; incr 10 . pushPrompt p0 $ incr 2 . (id =<<) . shiftP p0 $ \ sk -> incr 100 $ sk (pushPrompt p1 (incr 9 $ sk (abortP p0 (return 3)))) }’ In the expression: (expect 124 =<<) . runCC $ do { p0 <- newPrompt; p1 <- newPrompt; incr 10 . pushPrompt p0 $ incr 2 . (id =<<) . shiftP p0 $ \ sk -> incr 100 $ sk (pushPrompt p1 (incr 9 $ sk (abortP p0 (return 3)))) } Control/Monad/CC/CCRef.hs:493:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p1 <- newPrompt In the second argument of ‘($)’, namely ‘do { p1 <- newPrompt; p2 <- newPrompt; let pushtwice sk = pushSubCont sk (pushSubCont sk (return 3)); incr 10 . pushPrompt p1 $ incr 1 . pushPrompt p2 $ takeSubCont p1 pushtwice }’ In the expression: (expect 15 =<<) . runCC $ do { p1 <- newPrompt; p2 <- newPrompt; let pushtwice sk = pushSubCont sk (pushSubCont sk (return 3)); incr 10 . pushPrompt p1 $ incr 1 . pushPrompt p2 $ takeSubCont p1 pushtwice } Control/Monad/CC/CCRef.hs:495:7: Non type-variable argument in the constraint: Applicative (CC m) (Use FlexibleContexts to permit this) When checking that ‘pushtwice’ has the inferred type pushtwice :: forall (m :: * -> *) a. (Monad m, Num a, Applicative (CC m), Mutation m) => SubCont m a a -> CC m a In the second argument of ‘($)’, namely ‘do { p1 <- newPrompt; p2 <- newPrompt; let pushtwice sk = pushSubCont sk (pushSubCont sk (return 3)); incr 10 . pushPrompt p1 $ incr 1 . pushPrompt p2 $ takeSubCont p1 pushtwice }’ In the expression: (expect 15 =<<) . runCC $ do { p1 <- newPrompt; p2 <- newPrompt; let pushtwice sk = pushSubCont sk (pushSubCont sk (return 3)); incr 10 . pushPrompt p1 $ incr 1 . pushPrompt p2 $ takeSubCont p1 pushtwice } Control/Monad/CC/CCRef.hs:502:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p1 <- newPrompt In the second argument of ‘($)’, namely ‘do { p1 <- newPrompt; p2 <- newPrompt; p3 <- newPrompt; let pushtwice sk = pushSubCont sk (pushSubCont sk (takeSubCont p2 (\ sk2 -> ...))); .... }’ In the expression: (expect 135 =<<) . runCC $ do { p1 <- newPrompt; p2 <- newPrompt; p3 <- newPrompt; let pushtwice sk = pushSubCont sk (pushSubCont sk (takeSubCont p2 (\ sk2 -> ...))); .... } Control/Monad/CC/CCRef.hs:508:67: No instance for (Applicative (CC IO)) arising from a use of ‘return’ In the second argument of ‘pushSubCont’, namely ‘(return 3)’ In the second argument of ‘pushSubCont’, namely ‘(pushSubCont sk2 (return 3))’ In the expression: pushSubCont sk2 (pushSubCont sk2 (return 3)) Control/Monad/CC/CCRef.hs:515:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p1 <- newPrompt In the second argument of ‘($)’, namely ‘do { p1 <- newPrompt; p2 <- newPrompt; p3 <- newPrompt; let pushtwice f = f (f (shiftP p2 (\ f2 -> ...))); .... }’ In the expression: (expect 135 =<<) . runCC $ do { p1 <- newPrompt; p2 <- newPrompt; p3 <- newPrompt; let pushtwice f = f (f (shiftP p2 (\ f2 -> ...))); .... } Control/Monad/CC/CCRef.hs:518:48: No instance for (Applicative (CC IO)) arising from a use of ‘=<<’ In the expression: f2 =<< (f2 3) In the second argument of ‘shiftP’, namely ‘(\ f2 -> f2 =<< (f2 3))’ In the first argument of ‘f’, namely ‘(shiftP p2 (\ f2 -> f2 =<< (f2 3)))’ Control/Monad/CC/CCRef.hs:525:3: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p1 <- newPrompt In the second argument of ‘($)’, namely ‘do { p1 <- newPrompt; p2 <- newPrompt; p3 <- newPrompt; let pushtwice f = f (f (shift0P p2 (\ f2 -> ...))); .... }’ In the expression: (expect 135 =<<) . runCC $ do { p1 <- newPrompt; p2 <- newPrompt; p3 <- newPrompt; let pushtwice f = f (f (shift0P p2 (\ f2 -> ...))); .... } Control/Monad/CC/CCRef.hs:528:49: No instance for (Applicative (CC IO)) arising from a use of ‘=<<’ In the expression: f2 =<< (f2 3) In the second argument of ‘shift0P’, namely ‘(\ f2 -> f2 =<< (f2 3))’ In the first argument of ‘f’, namely ‘(shift0P p2 (\ f2 -> f2 =<< (f2 3)))’ Control/Monad/CC/CCRef.hs:536:3: No instance for (Applicative (CC (ST s))) arising from a do statement In a stmt of a 'do' block: p1 <- newPrompt In the second argument of ‘($)’, namely ‘do { p1 <- newPrompt; p2 <- newPrompt; p3 <- newPrompt; let pushtwice sk = pushSubCont sk (pushSubCont sk (takeSubCont p2 (\ sk2 -> ...))); .... }’ In the first argument of ‘runST’, namely ‘(runCC $ do { p1 <- newPrompt; p2 <- newPrompt; p3 <- newPrompt; let pushtwice sk = pushSubCont sk (pushSubCont sk (takeSubCont p2 (\ sk2 -> ...))); .... })’ Control/Monad/CC/CCRef.hs:542:67: No instance for (Applicative (CC (ST s))) arising from a use of ‘return’ In the second argument of ‘pushSubCont’, namely ‘(return 3)’ In the second argument of ‘pushSubCont’, namely ‘(pushSubCont sk2 (return 3))’ In the expression: pushSubCont sk2 (pushSubCont sk2 (return 3)) Control/Monad/CC/CCRef.hs:554:5: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; pushPrompt p (do { let x = ...; xv <- x; shiftP p (\ _ -> return xv) }) }’ In the expression: (expect ["a"] =<<) . runCC $ do { p <- newPrompt; pushPrompt p (do { let x = ...; xv <- x; shiftP p (\ _ -> return xv) }) } Control/Monad/CC/CCRef.hs:557:48: No instance for (Applicative (CC IO)) arising from a use of ‘>>=’ In the expression: f [] >>= (return . ("a" :)) In the second argument of ‘shiftP’, namely ‘(\ f -> f [] >>= (return . ("a" :)))’ In the expression: shiftP p (\ f -> f [] >>= (return . ("a" :))) Control/Monad/CC/CCRef.hs:564:5: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; pushPrompt p ((return . ("a" :)) =<< (pushPrompt p (shift0P p (\ _ -> (shift0P p (\ _ -> return [])))))) }’ In the expression: (expect [] =<<) . runCC $ do { p <- newPrompt; pushPrompt p ((return . ("a" :)) =<< (pushPrompt p (shift0P p (\ _ -> (shift0P p (\ _ -> return [])))))) } Control/Monad/CC/CCRef.hs:570:5: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; pushPrompt p ((return . ("a" :)) =<< (pushPrompt p (shift0P p (\ f -> f (shift0P p (\ _ -> return []))) >>= id))) }’ In the expression: (expect ["a"] =<<) . runCC $ do { p <- newPrompt; pushPrompt p ((return . ("a" :)) =<< (pushPrompt p (shift0P p (\ f -> f (shift0P p (\ _ -> return []))) >>= id))) } Control/Monad/CC/CCRef.hs:578:5: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; pushPrompt p (do { let x = ...; xv <- x; controlP p (\ _ -> return xv) }) }’ In the expression: (expect [] =<<) . runCC $ do { p <- newPrompt; pushPrompt p (do { let x = ...; xv <- x; controlP p (\ _ -> return xv) }) } Control/Monad/CC/CCRef.hs:581:50: No instance for (Applicative (CC IO)) arising from a use of ‘>>=’ In the expression: f [] >>= (return . ("a" :)) In the second argument of ‘controlP’, namely ‘(\ f -> f [] >>= (return . ("a" :)))’ In the expression: controlP p (\ f -> f [] >>= (return . ("a" :))) Control/Monad/CC/CCRef.hs:587:5: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; pushPrompt p (do { let x = ...; xv <- x; controlP p (\ g -> g xv) }) }’ In the expression: (expect ["a"] =<<) . runCC $ do { p <- newPrompt; pushPrompt p (do { let x = ...; xv <- x; controlP p (\ g -> g xv) }) } Control/Monad/CC/CCRef.hs:590:50: No instance for (Applicative (CC IO)) arising from a use of ‘>>=’ In the expression: f [] >>= (return . ("a" :)) In the second argument of ‘controlP’, namely ‘(\ f -> f [] >>= (return . ("a" :)))’ In the expression: controlP p (\ f -> f [] >>= (return . ("a" :))) Control/Monad/CC/CCRef.hs:596:5: No instance for (Applicative (CC IO)) arising from a do statement In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; pushPrompt p (do { takeSubCont p (\ sk -> pushPrompt p (pushSubCont sk (return 1))); takeSubCont p (\ sk -> pushSubCont sk (return 2)) }) }’ In the expression: (expect 2 =<<) . runCC $ do { p <- newPrompt; pushPrompt p (do { takeSubCont p (\ sk -> pushPrompt p (pushSubCont sk (return 1))); takeSubCont p (\ sk -> pushSubCont sk (return 2)) }) } Control/Monad/CC/CCRef.hs:610:3: Could not deduce (Applicative (CC IO)) arising from a do statement from the context (Show a) bound by the type signature for Control.Monad.CC.CCRef.traverse :: Show a => DelimControl IO [a] [a] -> [a] -> IO () at Control/Monad/CC/CCRef.hs:608:13-61 In a stmt of a 'do' block: p <- newPrompt In the second argument of ‘($)’, namely ‘do { p <- newPrompt; let visit [] = return ... visit (h : t) = ...; pushPrompt p (visit lst) }’ In the expression: (print =<<) . runCC $ do { p <- newPrompt; let visit [] = return ... visit (h : t) = ...; pushPrompt p (visit lst) } Control/Monad/CC/CCRef.hs:611:18: Could not deduce (Applicative (CC IO)) arising from a use of ‘return’ from the context (Show a) bound by the type signature for Control.Monad.CC.CCRef.traverse :: Show a => DelimControl IO [a] [a] -> [a] -> IO () at Control/Monad/CC/CCRef.hs:608:13-61 In the expression: return [] In an equation for ‘visit’: visit [] = return [] In the second argument of ‘($)’, namely ‘do { p <- newPrompt; let visit [] = return ... visit (h : t) = ...; pushPrompt p (visit lst) }’ Failed to install CC-delcont-ref-0.1.0.0 cabal: Error: some packages failed to install: CC-delcont-alt-0.1.1.0 depends on CC-delcont-ref-0.1.0.0 which failed to install. CC-delcont-cxe-0.1.0.2 failed during the building phase. The exception was: ExitFailure 1 CC-delcont-exc-0.1.0.0 failed during the building phase. The exception was: ExitFailure 1 CC-delcont-ref-0.1.0.0 failed during the building phase. The exception was: ExitFailure 1