X-Git-Url: https://git.martlubbers.net/?p=cloogle-irc.git;a=blobdiff_plain;f=IRC.dcl;fp=IRC.dcl;h=afb7a747682257173be7cdacc06560f6b5f7238d;hp=d88205b379dc0e0963f6ff3d1fc0da88bac976fc;hb=f828f3a79cfcfb21c6c7a7773905cc210a739f75;hpb=e044cfaa625c5b38ab18a481c20eb743fccb285d diff --git a/IRC.dcl b/IRC.dcl index d88205b..afb7a74 100644 --- a/IRC.dcl +++ b/IRC.dcl @@ -1,7 +1,22 @@ definition module IRC from Data.Maybe import :: Maybe -from StdOverloaded import class fromInt, class toInt, class toString +from Data.Either import :: Either +from StdOverloaded import class fromInt, class toInt, class toString, class fromString + +:: IRCMessage = + { irc_prefix :: Maybe (Either String IRCUser) + , irc_command :: IRCCommands} + +:: IRCUser = + { irc_nick :: String + , irc_user :: Maybe String + , irc_host :: Maybe String + } + +instance toString IRCCommands, IRCReplies, IRCErrors, IRCMessage, IRCUser +instance fromInt IRCReplies, IRCErrors +instance toInt IRCReplies, IRCErrors :: IRCCommands = ADMIN (Maybe String) @@ -90,7 +105,3 @@ from StdOverloaded import class fromInt, class toInt, class toString ERR_NOPRIVILEGES | ERR_CHANOPRIVSNEEDED | ERR_CANTKILLSERVER | ERR_RESTRICTED | ERR_UNIQOPPRIVSNEEDED | ERR_NOOPERHOST | ERR_UMODEUNKNOWNFLAG | ERR_USERSDONTMATCH - -instance toString IRCCommands, IRCReplies, IRCErrors -instance fromInt IRCReplies, IRCErrors -instance toInt IRCReplies, IRCErrors