úÎicZD      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEDD FGHIJKLMNOFKLMNOFKLMNOPQRSPQRSPQRS8T&Variables hold updatable, typed data. UVWXYZ[\A Pattern is a regular expression. +The direction in which a message is going. 5The message is headed towards the remote MUD server. &The message is headed towards the user' s terminal.  The abstract Hook type. For every pair of hooks (h1, h2):  h1 == h2+ iff they were created by the same call to .  h1 < h2 iff h1 will match earlier than h2. ]^Yields the hook' s priority. *Yields the destination this hook watches. =Yields the pattern messages must have for this hook to fire. 7Yields the Mud program to execute when the hook fires. !State internal to the Mud monad. _`abcd #Provides a way to output messages. IRun a Mud computation in IO. A common implementation of this function is  vState. (The Mud monad is a state monad over IO. ef(The initial state of the Mud monad. The  ) argument is stored in the state to make " possible; the   argument is used by / computations for messages leaving the engine. Runs a r computation, executes the results (such as sending messages to the screen or the MUD) and returns the computation's result. The g is updated. Calls  with priority 0. wCreates and installs a hook that watches messages headed to the specified destination and match the specified pattern. )Saves a changed hook, or reactivates it. Disables a hook. 4Yields all current hooks in preferred firing order. hi*Yields the hook that is currently firing. =Yields the message that triggered the currently firing hook. QYields the part of the triggering message that comes before the matched pattern. 1Yields the regex group from the matched pattern. group 0S yields the complete match; higher indices correspond to the parenthesized groups. PYields the part of the triggering message that comes after the matched pattern. *Creates a variable with an initial value. #Updates a variable to a new value. Yields the variable's current value. 0Updates the variable using the update function.  Short for   (const True). ‰If the message triggers a hook that passes the specified test, it is fired. Otherwise, the message is passed on to the destination using !. jExecutes the hook'(s action based on the matching message. !HImmediately write a message to a destination, without triggering hooks. "DUsed when you want a forked thread to be able to call back into the Mud monad.  Note that when using the RunMud2 argument, the forked thread will have to contend E with the threads for the user input and MUD input, because only one Mud computation E can run at any given time. The id of the forked thread is returned. #  !"'    !""   !"#fWhen executed, reloads the session from disk without interrupting the MUD connection. If the reloaded i session contains no errors, all hooks are uninstalled before the reloaded program is executed. Timers  are notY stopped and previous variables will still be reachable if you hang on to their handles. $Describes a MUD session. %&The hostname to connect to. 'The port to connect to. ( The initial program to run. The # argument provides a way to > reload the plugin without interrupting the MUD connection. ))Starting value for sessions. The default ( is  return ()". There are no default values for & and '. #$%&'()$%&'(#)#$%&'(%&'()*+Interval in milliseconds. ,The abstract Timer type. k-ŽCreates a hook that watches messages headed to the terminal. When fired, the message is passed on to the terminal and the action is executed. .Like -, but fires at most once. /For each pair (pattern, action)y a hook is installed. As soon as one of the hooks fires, the hooks are removed and the corresponding action is executed. 0mkAlias command substj creates a hook that watches messages headed to the remote MUD. If the message is or starts with the word command, the command is replaced by subst before being sent to the MUD. 1Like 0, mkArgAlias command subst½ creates a hook that watches messages headed to the remote MUD. But here the whole message is substituted instead of just the first command word, and the substitution depends on the command' s arguments. 2Like 0M, but instead of substituting the command, a program is executed. The command's arguments are available as  1. 3mkTimer interval prog creates a timer that executes prog every interval milliseconds. 4&Creates a timer that fires only once. 5Disables the timer. 6<Checks whether a timer is active. A timer is deactivated by 5. l73Sends a message to the terminal, triggering hooks. 8PSends a message appended with a newline character to the MUD, triggering hooks. 9;Sends a message to the terminal, without triggering hooks. :]Sends a message appended with a newline character to the terminal, without triggering hooks. ;XSends a message appended with a newline character to the MUD, without triggering hooks. <(Sends a bell character to the terminal. =startLogging name3 causes all messages to be logged in a file called name-yyyymmdd-hhmm.log$. The used hooks have priority 100. >Stops the logger. ?4When called from a hook body, gives hooks that haven't been considered yet Q a chance to match on the currently triggering message. If no other hooks match, B the message is sent on to its destination. Useful if you want to 3 build a hook that only has a side-effect and doesn't want to directly affect  the other active hooks. @Like ?=, but allows specification of the message that is passed on. ALike @F, but also makes the currently firing hook eligible for firing again. *+,-./0123456789:;<=>?@A-./012,+3456789:;<*=>?@A*+,-./0123456789:;<=>?@ABconnect hostname port programX connects to a MUD and executes the specified program on connecting. Input is read from stdin and output is written to stdout. mnoBBBC3The version number of this version of the library. C  !"#$%&'()*+,-./0123456789:;<=>?@ACCCp    !"#$%&'()*+,-.//0123456789:;<=>?@ABCDEFGHIJKLMNOMPQRSTUVWXYZ[\] ^^_`abcdefghijklmnopq6rstuv Yogurt-0.4Network.Yogurt.MudNetwork.Yogurt.SessionNetwork.Yogurt.UtilsNetwork.Yogurt.ReadlineNetwork.YogurtNetwork.Yogurt.Ansi Paths_YogurtNetwork.Yogurt.IOtransformers-0.2.2.0Control.Monad.IO.ClassliftIOVarPattern DestinationRemoteLocalHook hPriority hDestinationhPatternhActionMudStateOutputRunMudMudemptyMudrunMudmkHook mkPrioHooksetHookrmHookallHooks triggeredHook matchedLinebeforegroupaftermkVarsetVarreadVar modifyVartrigger triggerJustioforkWithCallbackReloadSessionhostName portNumber mudProgramsessionLoggerIntervalTimer mkTrigger mkTriggerOnce triggerOneOfmkAlias mkArgAlias mkCommandmkTimer mkTimerOncermTimer isTimerActivereceivesendlnechoecholnechorlnbell startLogging stopLogging matchMore matchMoreOn matchMoreOn'connectversionrmAnsitail'bindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileName writeToTTY splitAtPrompt maybeInputhGetImpatientLineId MatchInfomTriggeredHook mMatchedLinemBeforemGroupsmAfterhIdhookssupply matchInfomRunMudmOutputmkId updateHooksbaseGHC.MVarMVar setMatchInfo getMatchInfofire withNewline handleSource localInput remoteInput