mapover, and define a mapover method for lists.
make-cursor-for, cursor-next and
cursor-finished-p. Define methods for each of them for lists.
Note: it is possible, and rather natural in Lisp, to
define cursors as functions. This saves the proliferation of classes
that are often seen in other languages - list-iterator,
hashtable-iterator. See if you can work out how to do this.
Remember that you can define methods for built-in types in Lisp,
including functions.
simple-childed-mixin. Implement its children as a list in
its children slot.
add-child, delete-child and
delete-children-if. Define methods for these for
simple-childed-mixin. Ensure when defining add-child that your
method ensures that children within a given collection (instance of
simple-childed-mixin) are unique when compared using eql.
Authors: Gail Anderson (ga@cley.com),
Tim Bradshaw(tfb@cley.com), Cley Limited.
Copyright 1999–2003 Cley Ltd. & Franz Inc.