Designing the user interface for a Common Lisp generic library



Climb is a generic image processing library. It is implemented in Common Lisp and aims at maximal dynamism and ease of use. To achieve such a goal, the user interface must be at the same time powerful enough to avoid hiding some functionality of the underlying design, and intuitive for the user. The difficulty is to design an interface which makes as few trade-offs as possible between these characteristics, while staying extensible in order to keep them as the library grows. After a few reminders about the generic design of Climb, we present the modifications we made to its existing front-end to improve its usability without restraining its capabilities.