external next up previous contents index
Next: 10.3 Objects and properties Up: Elements of the MOO Previous: 10.1 Introduction to the

10.2 The MOO Programming Manual and Lambda-type databases


The most important source for MOO programmers is the MOO Programmer's Manual. Now note a few things:  

  1. The MOO Programmer's Manuel is not suited for total beginners. Go through chapter 8 on page gif at the same time. Let's quote from the Manual: ``MOO, the programming language, is a relatively small and simple object-oriented language designed to be easy to learn for most non-programmers; most complex systems still require some significant programming ability to accomplish, however''.
  2. If you do know how to program in some C-like language and preferably some lisp-like language too all you need to worry about are things like command parsing (see section 10.4), permissions (see section 10.7) and so on. Regarding those elements, think of the MOO as an operating system of a virtual reality environment.
  3. The MOO programmer's Manual does not contain add-ons (libraries) that are part of the data base. Most data bases are lambda-moo based, though many have a lot of extensions and modifications. The Lambda core user's and programmer's manuals are useful and can be found at in the Xerox archives. Note however, that most MOOs have their core modified and that a few use a REALLY different core. At Tecfa you consult the LambdaCore User's Manual and Programmer's Manual on-line, but they are outdated even for LambdaMOO. You can probably learn more by looking at objects in the MOO you work. Some MOOs do have WWW-based code browsing interfaces. At Tecfa, check out E_WEB. See section 16.3 on gif for details about this interface.

    Below you find a few direct pointers into the MOO Programmer's Manual on-line at our site. It's a short version of its Table of Contents.

Server and Database Basics:

  1. Introduction:
  2. The LambdaMOO Database: Has information about MOO Value Types, Objects in the MOO Database ( Fundamental Object Attributes - Properties on Objects - Verbs on Objects )
  3. The Built-in Command Parser is important reading since it will explain how the MOO parses commands entered by the user.

The MOO Programming Language:


  1. MOO Language Expressions

    1. Errors While Evaluating Expressions
    2. Writing Values Directly in Verbs
    3. Naming Values Within a Verb
    4. Arithmetic Operators
    5. Comparing Values
    6. Values as True and False
    7. Indexing into Lists and Strings

      1. Extracting an Element from a List or String
      2. Replacing an Element of a List or String
      3. Extracting a Subsequence of a List or String
      4. Replacing a Subsequence of a List or String

    8. Other Operations on Lists
    9. Spreading List Elements Among Variables
    10. Getting and Setting the Values of Properties
    11. Calling Built-in Functions and Other Verbs
    12. Catching Errors in Expressions
    13. Parentheses and Operator Precedence


  2. MOO Language Statements

    1. Errors While Executing Statements
    2. Simple Statements
    3. Statements for Testing Conditions
    4. Statements for Looping
    5. Terminating One or All Iterations of a Loop
    6. Returning a Value from a Verb
    7. Handling Errors in Statements
    8. Cleaning Up After Errors
    9. Executing Statements at a Later Time

  3. MOO Tasks
  4. Built-in Functions

    1. Object-Oriented Programming
    2. Manipulating MOO Values

      1. General Operations Applicable to all Values: Read this for conditionals.
      2. Operations on Numbers
      3. Operations on Strings
      4. Operations on Lists

    3. Manipulating Objects

      1. Fundamental Operations on Objects
      2. Object Movement
      3. Operations on Properties
      4. Operations on Verbs
      5. Operations on Player Objects

    4. Operations on Network Connections
    5. Operations Involving Times and Dates
    6. MOO-Code Evaluation and Task Manipulation
    7. Administrative Operations

Server Commands:

  1. Server Commands and Database Assumptions

Builtin Functions and TecfaMOO utilities:

  1. TecfaMOO utilities via our not so finished MOO/WWW Gateway. Our utils are Lambda-core based.
  2. Function Index

next up previous contents index external
Next: 10.3 Objects and properties Up: Elements of the MOO Previous: 10.1 Introduction to the

Daniel K. Schneider
Thu Apr 17 12:43:52 MET DST 1997