Mmucl is a mud client written in tcl/tk. Tcl is a scripting language and Tk is its toolkit for building graphical interfaces.
The two executables Winmmucl and Xmmucl create a graphical interface for the Mmucl library. The procedures defined in the Mmucl library take care of connecting to muds, checking mud output for actions, etc. Winmmucl and Xmmucl just provide nice interfaces for using those procedures.
If the first character of the input string is a #, then the string, with # removed is executed as a Tcl/Tk command. Use #command to execute Mmucl library procedures and procedures you define in mmuclrc file. For example #alias executes the alias procedure which is defined in the mmucl library.
Prepend a \ to the input string to have it sent to the mud without being modified in any way. If the input doesn't have a # or a \ in front of it, it is treated as a series of commands broken up by ;'s.
The first word of each command is checked to see if it matches an alias. If it does the commands associated with the alias are executed. not, then the command is sent to the mud. For example if you have an alias named targ, typing "e;e;e;targ" will move you three east then execute the alias targ. Note that arguements to an alias should be valid tcl lists.
If you have a file called mmuclrc located in your Mmucl(rc_dir), it will be treated as a file containing tcl commands and be loaded. Type #echo $Mmucl(rc_dir) to figure out where the directory is. Use mmuclrc to set up procedures you want to have available to your charaters. Look at the default mmuclrc in the examples directory for an example. When making your own procdures keep in mind that you could adversely effect Mmucl by redifining core procedures or variables.