ScriptX was an object oriented scripting language, which used design elements from "Smalltalk, Dylan, Hypertalk, Lisp, Object Logo, C++, and Pascal". With Smalltalk, it shared the concept of classes, objects, and inheritance, but also featured multiple inheritance in both classes and objects, and dynamic binding of objects at runtime. ScriptX had no primitive data types; even integers were defined as objects. All objects were instances of a class, and classes themselves were instances of a MetaClass object. As in LISP, there were no statements, and every line in a ScriptX program was an expression that returned a value.