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" Nothing
- ,USER "cloogle" "0" "Cloogle bot"
- ,JOIN (CSepList ["#cloogle"]) Nothing
- ,PRIVMSG (CSepList ["#cloogle"]) "Hello world"
- ,QUIT Nothing
- ]
+pParsePrint :: IRCMessage -> Bool
+pParsePrint a
+# str = toString a
+= either (const False) ((==)str o toString) $ parseIRCMessage str