module test
-from Data.Func import $
-import Data.Either
-import Data.Maybe
-import StdEnv
+import Gast
import IRC
+import GenBimap
+import Data.Func
+import Data.Either
+
+import Text
+
+derive ggen IRCMessage, Either, IRCUser, IRCCommand, Maybe, CSepList, IRCNumReply, IRCReplies
+derive genShow IRCMessage, Either, IRCUser, IRCCommand, Maybe, CSepList, IRCNumReply, IRCReplies
+
+//Doesn't work, generates illegal irc commands with spaces in recipients
+Start = concat $ Test [] pParsePrint
-Start :: [String]
-Start = map toString
- [NICK "clooglebot"
- ,USER "cloogle" 0 "Cloogle bot"
- ,JOIN [("#cloogle", Nothing)]
- ,PRIVMSG "#cloogle" "Hello world"
- ,QUIT Nothing
- ]
+pParsePrint :: IRCMessage -> Bool
+pParsePrint a
+# str = toString a
+= either (const False) ((==)str o toString) $ parseIRCMessage str