Enough to be dangerous: Conceptual models for MUSHcode
by Alan "Javelin" Schwartz
August 2002, draft 1.0.2
This document is intended for the novice to intermediate PennMUSH softcoder who can usually write the code they need, with some help, but often find themselves confused about why their commands run out of order, why they can't combine functions and commands as they'd like, why they can't write a $command that can access its arguments with no evaluation, etc. The PennMUSH FAQ-o-matic gives answers to specific questions, but this document tries to instill the right conceptual model for thinking about PennMUSH code execution in general - a framework from which the coder can hopefully work out solutions to problems themselves.
In all the below, "mushcode" and "softcode" refer to the PennMUSH 1.7.4-1.7.7 in-server programming language. Because the game internals differ for PennMUSH, TinyMUSH, and TinyMUX servers, none of the below is necessarily right for any other MUSH server.
Comments and suggestions for other topics to explore that would fit with the purpose of this document are welcome!