úÎ RN¿:      !"#$%&'()*+,-./0123456789:;<=:;<=>>"1Variables hold temporary, updatable, typed data. 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. #Provides a way to output messages. Run a Mud computation in IO. (The Mud monad is a state monad over IO. $The initial state of the Mud monad. 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. *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 . ?Executes 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. "@  %     !   "Interval in milliseconds. #The abstract Time type. $Ž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. &mkAlias 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. 'Like &, 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. (Like &B, but instead of substituting the command, a program is executed. )mkTimer interval prog creates a timer that executes prog every interval milliseconds. *&Creates a timer that fires only once. +Disables the timer. ,<Checks whether a timer is active. A timer is deactivated by +. -3Sends a message to the terminal, triggering hooks. .PSends a message appended with a newline character to the MUD, triggering hooks. /;Sends a message to the terminal, without triggering hooks. 0]Sends a message appended with a newline character to the terminal, without triggering hooks. 1XSends a message appended with a newline character to the MUD, without triggering hooks. 2(Sends a bell character to the terminal. 3startLogging name3 causes all messages to be logged in a file called name-yyyymmdd-hhmm.log$. The used hooks have priority 100. 4Stops the logger. 54When called from a hook body, gives hooks that haven't been considered yet N a chance to match on the currently triggering message. 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. 6Like 5=, but allows specification of the message that is passed on. 7Like 6F, but also makes the currently firing hook eligible for firing again. !"#$%&'()*+,-./01234567$%&'(#")*+,-./012!34567!"#$%&'()*+,-./012345678connect hostname port programJ connects to a MUD and executes the specified program. Input is read from stdin, and output is written to stdout. 9|Runs a Mud computation, executes the results (such as sending messages to the screen or the MUD) and returns the computation's result. The MVar is updated. 898989;@  !"#$%&'()*+,-./0123456789A      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ Yogurt-0.3Network.Yogurt.MudNetwork.Yogurt.UtilsNetwork.Yogurt.EngineNetwork.Yogurt.IONetwork.Yogurt.AnsiNetwork.YogurtVarPattern DestinationRemoteLocalHook hPriority hDestinationhPatternhActionMudStateOutputRunMudMudemptyMudmkHook mkPrioHooksetHookrmHookallHooks triggeredHook matchedLinebeforegroupaftermkVarsetVarreadVar modifyVartrigger triggerJustioforkWithCallbackLoggerIntervalTimer mkTrigger mkTriggerOncemkAlias mkArgAlias mkCommandmkTimer mkTimerOncermTimer isTimerActivereceivesendlnechoecholnechorlnbell startLogging stopLogging matchMore matchMoreOn matchMoreOn'connectrunMud writeToTTY splitAtPrompt maybeInputhGetImpatientLinermAnsifire mtl-1.1.0.2Control.Monad.TransliftIO