(European Lisp), is a modern object-oriented dialect of the Lisp programming language whose design is less minimalist than that of Scheme but less constrained by compatibility reasons than Common Lisp. In particular, it has a single namespace for variables and functions (like Scheme, and unlike Common Lisp, ie a Lisp-1) and its type system is perfectly integrated with the object system. Furthermore, the language pervasively uses the module system, so that every program may import only those parts of the language that it needs.