Compared to other programming languages, LISP offers certain unsurpassed features that are especially useful for the task level of a CAD system. These are symbolic manipulation, dynamic types and polymorphism, the enormous flexibility of lists as generic structured data type for rapid prototyping, and, most importantly, the indistinguishability of data and program.