ObjVProlog
   HOME

TheInfoList



OR:

ObjVlisp is a 1984 object-oriented extension of Vlisp–Vincennes LISP, a LISP dialect developed since 1971 at the University of Paris VIII – Vincennes. It is noteworthy as one of the earliest implementations of the concept of metaclasses, and in particular explicit (as opposed to implicit) metaclasses. In the ObjVlisp model, "each entity is an instance of a single class. Classes are instances of other classes, called metaclasses. This model allows for extension of the static part of OOL, i.e. the structural aspects of objects considered as implementation of abstract data types" ObjVlisp provided a far more flexible metaclass model than that provided by earlier object-oriented languages, especially
Smalltalk Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan Ka ...
. In Smalltalk-80, whenever a new class is created, a corresponding metaclass is created automatically; it does not have a name independent of that of the metaclass for which it was created–metaclasses are implicit rather than explicit. By contrast, in ObjVlisp, it is possible to define named metaclasses, and when defining a class one must specify which named metaclass it will instantiate. The explicit metaclass support in ObjVlisp influenced the provision of the same capability in the
Common Lisp Object System The Common Lisp Object System (CLOS) is the facility for object-oriented programming which is part of ANSI Common Lisp. CLOS is a powerful dynamic object system which differs radically from the OOP facilities found in more static languages such as ...
. The ObjVlisp object model was later implemented in Prolog to produce ObjVProlog. Both
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
and Converge implement a meta-class system that is equivalent of that of ObjVLisp.


References

Object-oriented programming languages Lisp programming language family {{Compu-lang-stub