The Lisp tool can evaluate simple Lisp expressions. Some mud-specific functions have been implemented: clone (the LPC function "clone_object"), load, destruct, call ("call_other"), move ("move_object"), inv ("all_inventory"), env ("environment"), present, find_living, find_object, find!, say, tell ("tell_object"), write, get_dir, users, creator, and also catch and throw Mortals can use the tool to play with Lisp, but only wizards can use the mud-specific functions. Examples: (car '(a b c d)) (cadr '(a b c d)) eval me (inv me) (env me) (destruct (nth 3 (inv (find_living "harry")))) (move (find! "/room/church") "/room/vill_road2") (call (find! "/room/vill_green") "add_item" '("hole" "big hole") "A big hole") (call OBJ(room/vill_green) "add_item" "spot" "A spot") (call (env me) "query_items") (map 'destruct (inv (find_living "obliterator"))) eval it (map '(lambda (x) (destruct x)) (list (find_living "wing") (find_living "padrone"))) (defun invsize (x) (length (inv (find! x)))) (map 'invsize (inv (env me))) (print version) (defun short (x) (call x "short")) (defun i2 (x) (write (+ (short x) ":\n")) (map (quote (lambda (x) (write (+ " " (short x) "\n")))) (inv x))) (defun i (x) (i2 (find! x))) (i "harry") (map '(lambda (x) (catch (load (+ "/room/" x)))) (get_dir "/room/")) (defun rinv (x) (print x) (write "\n") (if (inv x) (cons x (map 'rinv (inv x))) (call x "query_name"))) (setq persistent '(short i2 i rinv))