- = case parse parseReply rest of
- Left e = case parseCmd rest of
- Left e2 = Left [e2:e]
- Right cmd
- = Right {IRCMessage | irc_prefix=prefix, irc_command=Right cmd}
- Right repl
- = Right {IRCMessage | irc_prefix=prefix, irc_command=Left repl}
- (_, es) = Left ["couldn't parse prefix":es]
+ //Try parsing a numeric reply
+ = case parse parseReply rest of
+ //Try a normal command
+ Left e = case parseCmd rest of
+ Left e2 = Left [e2:e]
+ Right cmd = Right {IRCMessage | irc_prefix=prefix, irc_command=Right cmd}
+ Right repl = Right {IRCMessage | irc_prefix=prefix, irc_command=Left repl}
+ // Error parsing prefix
+ (_, es) = Left ["Error parsing prefix"]