[MUD-Dev] Introduction

Chris Gray cg at ami-cg.GraySage.Edmonton.AB.CA
Mon May 12 08:26:27 New Zealand Standard Time 1997

[Dan R:]

:I'm still mixed on how this will work.  Part of me wants all programs
:to be 'special' and live in their own little space.  Part of me wants
:the model of attaching code to objects, and the rest of me wants
:*everything* to be coded functions.  (For example, my description can
:be a function that just returns a string, or actually does a bunch of
:work and returns the string based on calculation and lookups).

So do both! Can you have conditional code at run time based on whether
or not a property is present on an object? If so, just do something
like (excuse the AmigaMUD syntax):

    action := object at descFunc;
    if action ~= nil then
	description := call(action)(object);
	description := object at descString;

That way you can have special funcs when you need them, otherwise just
have straight strings, which will take up less space.

:(FWIW, someone mentioned that process context switching was
:expensive.  This is true, but your server is going to be switched out
:anyways, as it's unlikely that nothing else is running on the machine
:at all.)

Yes it is true. It will also make quite a lot of difference. It is an
*added* overhead over other work the machine is doing.

Also, all the commercial UNIXes I've worked with have SysV semaphores
and shared-memory segments, so you can probably safely use those.

Chris Gray   cg at ami-cg.GraySage.Edmonton.AB.CA

More information about the MUD-Dev mailing list