X-Git-Url: https://git.martlubbers.net/?p=cloogle-irc.git;a=blobdiff_plain;f=IRC.dcl;fp=IRC.dcl;h=0000000000000000000000000000000000000000;hp=6cca24eea99aafbd60188dbb36c589d9a54de024;hb=c78c6197214262f5332c3cec2f1a1494a95acc33;hpb=f379174bc06f111322df8922c1bc80cfad951dd5 diff --git a/IRC.dcl b/IRC.dcl deleted file mode 100644 index 6cca24e..0000000 --- a/IRC.dcl +++ /dev/null @@ -1,119 +0,0 @@ -definition module IRC - -from StdOverloaded import class fromInt, class toInt, class toString, class fromString - -from Data.Either import :: Either -from Data.Maybe import :: Maybe -from Text.Parsers.Simple.Core import :: Error - -:: IRCMessage = - { 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 - , irc_user :: Maybe String - , irc_host :: Maybe String - } - -parseIRCMessage :: String -> Either [Error] IRCMessage - -instance toString IRCCommand, IRCReplies, IRCErrors, IRCMessage, IRCUser, IRCNumReply -instance fromInt IRCReplies, IRCErrors -instance toInt IRCReplies, IRCErrors - -:: CSepList = CSepList [String] -:: IRCCommand - = ADMIN (Maybe String) - | AWAY String - | CONNECT String (Maybe (Int, Maybe String)) - | DIE - | ERROR String - | INFO (Maybe String) - | INVITE String String - | ISON [String] - | JOIN CSepList (Maybe String) - | KICK String String (Maybe String) - | KILL String String - | LINKS (Maybe (Maybe String, String)) - | LIST (Maybe (CSepList, Maybe String)) - | LUSERS (Maybe (String, Maybe String)) - | MODE String String (Maybe String) (Maybe String) (Maybe String) - | MOTD (Maybe String) - | NAMES CSepList - | NICK String (Maybe String) - | NJOIN - | NOTICE String String - | OPER String String - | PART CSepList - | PASS String - | PING String (Maybe String) - | PONG String (Maybe String) - | PRIVMSG CSepList String - | QUIT (Maybe String) - | REHASH - | RESTART - | SERVER - | SERVICE String String String String - | SERVLIST (Maybe (String, Maybe String)) - | SQUERY String String - | SQUIRT - | SQUIT String String - | STATS (Maybe (String, Maybe String)) - | SUMMON String (Maybe (String, Maybe String)) - | TIME (Maybe String) - | TOPIC String (Maybe String) - | TRACE (Maybe String) - | USER String String String String - | USERHOST CSepList - | USERS (Maybe String) - | VERSION (Maybe String) - | WALLOPS String - | WHO (Maybe String) - | WHOIS (Maybe String) String - | WHOWAS String (Maybe (String, Maybe String)) - -:: IRCReplies = RPL_WELCOME | RPL_YOURHOST | RPL_CREATED | RPL_MYINFO | - RPL_BOUNCE | RPL_TRACELINK | RPL_TRACECONNECTING | RPL_TRACEHANDSHAKE | - RPL_TRACEUNKNOWN | RPL_TRACEOPERATOR | RPL_TRACEUSER | RPL_TRACESERVER | - RPL_TRACESERVICE | RPL_TRACENEWTYPE | RPL_TRACECLASS | RPL_TRACERECONNECT | - RPL_STATSLINKINFO | RPL_STATSCOMMANDS | RPL_ENDOFSTATS | RPL_UMODEIS | - RPL_SERVLIST | RPL_SERVLISTEND | RPL_STATSUPTIME | RPL_STATSOLINE | - RPL_LUSERCLIENT | RPL_LUSEROP | RPL_LUSERUNKNOWN | RPL_LUSERCHANNELS | - RPL_LUSERME | RPL_ADMINME | RPL_ADMINLOC1 | RPL_ADMINLOC2 | RPL_ADMINEMAIL | - RPL_TRACELOG | RPL_TRACEEND | RPL_TRYAGAIN | RPL_AWAY | RPL_USERHOST | - RPL_ISON | RPL_UNAWAY | RPL_NOWAWAY | RPL_WHOISUSER | RPL_WHOISSERVER | - RPL_WHOISOPERATOR | RPL_WHOWASUSER | RPL_ENDOFWHO | RPL_WHOISIDLE | - RPL_ENDOFWHOIS | RPL_WHOISCHANNELS | RPL_LISTSTART | RPL_LIST | - RPL_LISTEND | RPL_CHANNELMODEIS | RPL_UNIQOPIS | RPL_NOTOPIC | RPL_TOPIC | - RPL_INVITING | RPL_SUMMONING | RPL_INVITELIST | RPL_ENDOFINVITELIST | - RPL_EXCEPTLIST | RPL_ENDOFEXCEPTLIST | RPL_VERSION | RPL_WHOREPLY | - RPL_NAMREPLY | RPL_LINKS | RPL_ENDOFLINKS | RPL_ENDOFNAMES | RPL_BANLIST | - RPL_ENDOFBANLIST | RPL_ENDOFWHOWAS | RPL_INFO | RPL_MOTD | RPL_ENDOFINFO | - RPL_MOTDSTART | RPL_ENDOFMOTD | RPL_YOUREOPER | RPL_REHASHING | - RPL_YOURESERVICE | RPL_TIME | RPL_USERSSTART | RPL_USERS | RPL_ENDOFUSERS | - RPL_NOUSERS | RPL_UNKNOWN - -:: IRCErrors = ERR_NOSUCHNICK | ERR_NOSUCHSERVER | ERR_NOSUCHCHANNEL | - ERR_CANNOTSENDTOCHAN | ERR_TOOMANYCHANNELS | ERR_WASNOSUCHNICK | - ERR_TOOMANYTARGETS | ERR_NOSUCHSERVICE | ERR_NOORIGIN | ERR_NORECIPIENT | - ERR_NOTEXTTOSEND | ERR_NOTOPLEVEL | ERR_WILDTOPLEVEL | ERR_BADMASK | - ERR_UNKNOWNCOMMAND | ERR_NOMOTD | ERR_NOADMININFO | ERR_FILEERROR | - ERR_NONICKNAMEGIVEN | ERR_ERRONEUSNICKNAME | ERR_NICKNAMEINUSE | - ERR_NICKCOLLISION | ERR_UNAVAILRESOURCE | ERR_USERNOTINCHANNEL | - ERR_NOTONCHANNEL | ERR_USERONCHANNEL | ERR_NOLOGIN | ERR_SUMMONDISABLED | - ERR_USERSDISABLED | ERR_NOTREGISTERED | ERR_NEEDMOREPARAMS | - ERR_ALREADYREGISTRED | ERR_NOPERMFORHOST | ERR_PASSWDMISMATCH | - ERR_YOUREBANNEDCREEP | ERR_YOUWILLBEBANNED | ERR_KEYSET | - ERR_CHANNELISFULL | ERR_UNKNOWNMODE | ERR_INVITEONLYCHAN | - ERR_BANNEDFROMCHAN | ERR_BADCHANNELKEY | ERR_BADCHANMASK | - ERR_NOCHANMODES | ERR_BANLISTFULL | ERR_NOPRIVILEGES | - ERR_CHANOPRIVSNEEDED | ERR_CANTKILLSERVER | ERR_RESTRICTED | - ERR_UNIQOPPRIVSNEEDED | ERR_NOOPERHOST | ERR_UMODEUNKNOWNFLAG | - ERR_USERSDONTMATCH | ERR_UNKNOWN