# Ticket #5908: DoesntWorkErrMsg.txt

File DoesntWorkErrMsg.txt, 3.2 KB (added by scooty-puff, 4 years ago) |
---|

Line | |
---|---|

1 | DoesntWork.hs:56:13: |

2 | Could not deduce (ex ~ x) |

3 | from the context (Category w, Prelude.Monad m) |

4 | bound by the instance declaration at DoesntWork.hs:52:10-61 |

5 | `ex' is a rigid type variable bound by |

6 | the type signature for |

7 | >>= :: WriterT w m e ex a |

8 | -> (a -> WriterT w m ex x b) |

9 | -> WriterT w m e x b |

10 | at DoesntWork.hs:56:3 |

11 | `x' is a rigid type variable bound by |

12 | the type signature for |

13 | >>= :: WriterT w m e ex a |

14 | -> (a -> WriterT w m ex x b) |

15 | -> WriterT w m e x b |

16 | at DoesntWork.hs:56:3 |

17 | Expected type: WriterT w m e x b |

18 | Actual type: WriterT w m e ex a |

19 | In the expression: |

20 | WriterT |

21 | $ do { ~(a, w) <- runWriterT m; |

22 | ~(b, w') <- runWriterT (k a); |

23 | return (b, w >>> w') } |

24 | In an equation for `>>=': |

25 | m >>= k |

26 | = WriterT |

27 | $ do { ~(a, w) <- runWriterT m; |

28 | ~(b, w') <- runWriterT (k a); |

29 | return (b, w >>> w') } |

30 | where |

31 | >>= = (Prelude.>>=) |

32 | return = Prelude.return |

33 | |

34 | DoesntWork.hs:56:13: |

35 | Could not deduce (a ~ b) |

36 | from the context (Category w, Prelude.Monad m) |

37 | bound by the instance declaration at DoesntWork.hs:52:10-61 |

38 | `a' is a rigid type variable bound by |

39 | the type signature for |

40 | >>= :: WriterT w m e ex a |

41 | -> (a -> WriterT w m ex x b) |

42 | -> WriterT w m e x b |

43 | at DoesntWork.hs:56:3 |

44 | `b' is a rigid type variable bound by |

45 | the type signature for |

46 | >>= :: WriterT w m e ex a |

47 | -> (a -> WriterT w m ex x b) |

48 | -> WriterT w m e x b |

49 | at DoesntWork.hs:56:3 |

50 | Expected type: WriterT w m e x b |

51 | Actual type: WriterT w m e ex a |

52 | In the expression: |

53 | WriterT |

54 | $ do { ~(a, w) <- runWriterT m; |

55 | ~(b, w') <- runWriterT (k a); |

56 | return (b, w >>> w') } |

57 | In an equation for `>>=': |

58 | m >>= k |

59 | = WriterT |

60 | $ do { ~(a, w) <- runWriterT m; |

61 | ~(b, w') <- runWriterT (k a); |

62 | return (b, w >>> w') } |

63 | where |

64 | >>= = (Prelude.>>=) |

65 | return = Prelude.return |

66 | |

67 | DoesntWork.hs:58:29: |

68 | Could not deduce (e ~ x) |

69 | from the context (Category w, Prelude.Monad m) |

70 | bound by the instance declaration at DoesntWork.hs:52:10-61 |

71 | `e' is a rigid type variable bound by |

72 | the type signature for |

73 | >>= :: WriterT w m e ex a |

74 | -> (a -> WriterT w m ex x b) |

75 | -> WriterT w m e x b |

76 | at DoesntWork.hs:56:3 |

77 | `x' is a rigid type variable bound by |

78 | the type signature for |

79 | >>= :: WriterT w m e ex a |

80 | -> (a -> WriterT w m ex x b) |

81 | -> WriterT w m e x b |

82 | at DoesntWork.hs:56:3 |

83 | Expected type: e |

84 | Actual type: ex |

85 | Expected type: WriterT w m e ex a |

86 | Actual type: WriterT w m ex x b |

87 | In the return type of a call of `k' |

88 | In the first argument of `runWriterT', namely `(k a)' |