- (Nothing, w) = (Nothing, (), w)
- (Just cs, w) = (Just $ map toPrefix cs, (), w)
+ (Nothing, w) = (Nothing, io, w)
+ (Just cs, w)
+ # msgs = map toPrefix cs
+ # (io, w) = foldr (log strf " (s): ") (io, w) msgs
+ = (Just msgs, io, w)
+
+ log :: String String IRCMessage (*File, *World) -> (*File, *World)
+ log strf pref m (io, w) = (io, w)
+// # (t, w) = localTime w
+// = (io <<< strfTime strf t <<< pref <<< toString m, w)