<html><head><title>
POO vs. MOO
</title></head><body><center><h2>
Differences between POO and MOO
</h2></center>

POO was modeled closely after its predecessor and inspriation, MOO.  As
such, we've mostly followed the conventions described in the
<a href="ftp://parcftp.xerox.com/pub/MOO/html/ProgrammersManual_toc.html">LambdaMOO
Programmer's Manual</a>.  However, there are some differences (besides the
language itself), which are described here. 

<P>

<hr><strong>Parsing</strong> (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.

<p>
<hr><strong>Directories</strong>.  POO includes a special type of object,
the <a href="dirs.html">Directory</a>, 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?)

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


<p><hr>
<address>
http://www.strout.net/python/poo/poovsmoo.html
<br>Last Updated:
2/14/97 (Happy Valentine's Day!)
. . . . . . <a href="http://www.strout.net/">Joe Strout</a>
</address>
</body></html>