Visual Lisp Programming: Principles and Techniques