parent $slate object $dictionary_slate var $root dbref 'dictionary_slate var $root child_index 0 var $root fertile 0 var $root manager $dictionary_slate var $root owned [$dictionary_slate] var $root owners [$dictionary_slate] var $root writable [] var $root readable ['parameters, 'methods, 'code] var $root inited 1 var $has_verbs verbs #[["lookup % in %this", ['lookup_vrb, 'remote]]] var $dictionary_slate listener 0 var $located location $nowhere var $named name ['uniq, "Webseter's Dictionary"] var $named name_aliases [] method receive arg str, status; (> .perms(sender(), .slate_connection()) <); if (status == 'external) { if (str == ".") { (.connection()).close(); .fail_to_find_word(); } if (!str) (.connection()).close(); else received_text = [@received_text, str]; } else { switch (status) { case 'connection_closed: .finished_finding_word(); case 'connection_established: .send((request_method + " ") + word); case 'connection_failed: } } . method finished_finding_word (> .perms(sender(), 'this) <); listener.tell(.received_text()); . method lookup_vrb arg com, aword, [args]; var slate; if (listener) return sender().tell(("Sorry, " + (sender().name())) + " is already reading the dictionary."); slate = $slate_connection.spawn(); listener = sender(); word = aword; sender().tell(("You open " + (.name('def))) + " and begin flipping through it's pages..."); slate.open(remote_host, remote_port); .