From the NannyMUD documentation
2001-09-29
toss_program - toss program - a memory saver
GENERAL
The 'toss program' mechanism is the biggest memory saving mechanism
available to the driver; uptimes would be very much shorter without
it. You should strive to write objects that can be tossed wherever
it is possible to have such an object.
DETAILS
When the driver loads an object, it will check whether the object
will only be setup, or if it will change later on. If it will
only be setup, the driver will remove any program code in the
object: it 'tosses' the code. This is known as 'toss program'.
Any object with the following characteristics is a candidate for
tossing:
+ it has at most one function, and that is 'reset'.
+ it has no global variables.
+ it does not execute any code in reset() when arg is 1.
INHERITING A TOSSED OBJECT
If you inherit a tossed program, you basically inherit an empty
object, which is perfectly legal but probably not what you want.
In this case you should define an extra function:
int query_no_toss_program() { return 1; }
and the program won't be tossed and your inheriting objects will
be happy.