X-Git-Url: https://git.martlubbers.net/?p=cloogle-irc.git;a=blobdiff_plain;f=IRC.dcl;h=d910183c56596a61f2c11a59f59bb340c220a816;hp=ae14b8f625c5effa46a563a2c7e55a95c90c788a;hb=226254ae192a8a5f2a69f3e35a6823fad36f4d0c;hpb=3134ab7e61bcbc84560b4a5d613a92b1a48362c2 diff --git a/IRC.dcl b/IRC.dcl index ae14b8f..d910183 100644 --- a/IRC.dcl +++ b/IRC.dcl @@ -7,8 +7,14 @@ from StdOverloaded import class fromInt, class toInt, class toString, class from from Text.Parsers.Simple.Core import :: Error :: IRCMessage = - { irc_prefix :: Maybe (Either String IRCUser) - , irc_command :: IRCCommand} + { irc_prefix :: Maybe (Either IRCUser String) + , irc_command :: Either IRCNumReply IRCCommand} + +:: IRCNumReply = + { irc_reply :: IRCReplies + , irc_recipient :: String + , irc_message :: String + } :: IRCUser = { irc_nick :: String @@ -16,9 +22,9 @@ from Text.Parsers.Simple.Core import :: Error , irc_host :: Maybe String } -parseIRCMessage :: (String -> Either [Error] IRCMessage) +parseIRCMessage :: String -> Either [Error] IRCMessage -instance toString IRCCommand, IRCReplies, IRCErrors, IRCMessage, IRCUser +instance toString IRCCommand, IRCReplies, IRCErrors, IRCMessage, IRCUser, IRCNumReply instance fromInt IRCReplies, IRCErrors instance toInt IRCReplies, IRCErrors