Differences between POO and MOO

POO was modeled closely after its predecessor and inspriation, MOO. As such, we've mostly followed the conventions described in the LambdaMOO Programmer's Manual. However, there are some differences (besides the language itself), which are described here.

Parsing (important!) : in MOO, all functions are verbs, each of which has a defined grammar. In POO, functions are just functions, and they are invoked via special "command" structures. In short, POO's parsing system is completely different from MOO's, and (we think) a bit more sophisticated.

Directories. POO includes a special type of object, the Directory, which makes its contents look like properties. We use this extensively to keep basic objects organized, and to avoid using object numbers. For example, $pub is a Directory which contains several others, including one called "rooms"; if "rooms" contains a particular object called "standard", we can refer to it as $pub.rooms.standard. (Pretty neat, eh?)

Extra Preposition : in addition to the standard MOO prepositions, POO includes the equals sign ("=" or " = "). This is handy for constructions such as @set self.age=42, a little quicker than s@et self.age to 42.

Last Updated: 2/14/97 (Happy Valentine's Day!) . . . . . . Joe Strout