|
@@ -43,13 +43,13 @@ data Message = Message
|
43
|
43
|
-- | The typeclass for different types of messages.
|
44
|
44
|
class (Typeable msg, Show msg, Eq msg, Ord msg) => MessageC msg where
|
45
|
45
|
toMessage :: msg -> MessageW
|
46
|
|
- toMessage = MessageW
|
|
46
|
+ toMessage !msg = MessageW msg
|
47
|
47
|
|
48
|
48
|
fromMessage :: MessageW -> Maybe msg
|
49
|
49
|
fromMessage (MessageW msg) = cast msg
|
50
|
50
|
|
51
|
51
|
-- | A wrapper over all types of messages.
|
52
|
|
-data MessageW = forall m . MessageC m => MessageW !m deriving (Typeable)
|
|
52
|
+data MessageW = forall m . MessageC m => MessageW m deriving (Typeable)
|
53
|
53
|
|
54
|
54
|
instance Show MessageW where
|
55
|
55
|
show (MessageW m) = show m
|