dev'
[cloogle-irc.git] / IRC.dcl
diff --git a/IRC.dcl b/IRC.dcl
index ae14b8f..59a342b 100644 (file)
--- a/IRC.dcl
+++ b/IRC.dcl
@@ -8,7 +8,13 @@ from Text.Parsers.Simple.Core import :: Error
 
 :: IRCMessage =
        { irc_prefix :: Maybe (Either String IRCUser)
 
 :: IRCMessage =
        { irc_prefix :: Maybe (Either String IRCUser)
-       , irc_command :: IRCCommand}
+       , irc_command :: Either IRCNumReply IRCCommand}
+
+:: IRCNumReply =
+       { irc_reply :: IRCReplies
+       , irc_recipient :: String
+       , irc_message :: String
+       }
 
 :: IRCUser = 
        { irc_nick :: String
 
 :: IRCUser = 
        { irc_nick :: String
@@ -16,9 +22,9 @@ from Text.Parsers.Simple.Core import :: Error
        , irc_host :: Maybe String
        }
 
        , 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
 
 instance fromInt IRCReplies, IRCErrors
 instance toInt IRCReplies, IRCErrors