Smalltalk-80: bits of history, words of advice
Smalltalk-80: bits of history, words of advice
Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Object-oriented programming with flavors
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
CommonLoops: merging Lisp and object-oriented programming
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Deltatalk: an empirically and aesthetically motivated simplification of the Smalltalk-80 language
European conference on object-oriented programming on ECOOP '87
The Formes system: a musical application of object-oriented concurrent programming
Object-oriented concurrent programming
The Smalltalk-76 programming system design and implementation
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Godel, Escher, Bach: An Eternal Golden Braid
Godel, Escher, Bach: An Eternal Golden Braid
An open-ended data representation model for EU_LISP
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Designing families of data types using exemplars
ACM Transactions on Programming Languages and Systems (TOPLAS)
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Computational reflection in class based object-oriented languages
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Programming with explicit metaclasses in Smalltalk-80
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
PCLOS: stress testing CLOS experiencing the metaobject protocol
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Exception handling and object-oriented programming: towards a synthesis
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
ACM SIGPLAN Notices
CLOStrophobia: its etiology and treatment
ACM SIGPLAN OOPS Messenger
ObjVProlog-D: a reflexive object-oriented logic language for distributed computing
OOPSLA/ECOOP '90 Proceedings of the workshop on Object-based concurrent programming
Efficient handling of multiple inheritance hierarchies
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
A framework for programming and formalizing concurrent objects
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
Composition of before/after metaclasses in SOM
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
A reflective model for first class dependencies
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Towards a methodology for explicit composition of metaobjects
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Release-to-release binary compatibility in SOM
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Maintaining the consistency of class libraries during their evolution
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Executable connectors: towards reusable design elements
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Dynamic Adaptation and Deployment of Distributed Components In Hadas
IEEE Transactions on Software Engineering
A Generic Reification Technique for Object-Oriented Reflective Languages
Higher-Order and Symbolic Computation
Tigukat: a uniform behavioral objectbase management system
The VLDB Journal — The International Journal on Very Large Data Bases - Persistent object systems
The Metamodelling Language Calculus: Foundation Semantics for UML
FASE '01 Proceedings of the 4th International Conference on Fundamental Approaches to Software Engineering
Materialization: A Powerful and Ubiquitous Abstraction Pattern
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
Reflexive Architecture: From ObjVLisp to CLOS
ECOOP '88 Proceedings of the European Conference on Object-Oriented Programming
MetaFlex: A Flexible Metaclass Generator
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Load-Time Structural Reflection in Java
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
OpenCorba: A Reflective Open Broker
Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
OpenJava: A Class-Based Macro System for Java
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
Interoperable Databases: A Programming Language Approach
IDEAS '99 Proceedings of the 1999 International Symposium on Database Engineering & Applications
A role model and its metaclass implementation
Information Systems
Traits: A mechanism for fine-grained reuse
ACM Transactions on Programming Languages and Systems (TOPLAS)
Multiple dispatch in reflective runtime environment
Computer Languages, Systems and Structures
Content-based publish/subscribe with structural reflection
COOTS'01 Proceedings of the 6th conference on USENIX Conference on Object-Oriented Technologies and Systems - Volume 6
Can programming be liberated from the two-level style: multi-level programming with deepjava
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Domain specific language implementation via compile-time meta-programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Zero-a blend of static typing and dynamic metaprogramming
Computer Languages, Systems and Structures
The Green language type system
Computer Languages, Systems and Structures
Computer Languages, Systems and Structures
Language support for adaptive object-models using metaclasses
Computer Languages, Systems and Structures
Uniform and safe metaclass composition
Computer Languages, Systems and Structures
SPLGraph: towards a graph-based formalism for software product lines
Proceedings of the 2010 ICSE Workshop on Product Line Approaches in Software Engineering
Metamodeling semantics of multiple inheritance
Science of Computer Programming
From (meta) objects to aspects: a java and AspectJ point of view
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
Towards generative programming
UPP'04 Proceedings of the 2004 international conference on Unconventional Programming Paradigms
Towards structural decomposition of reflection with mirrors
Proceedings of the International Workshop on Smalltalk Technologies
Exploiting model driven technology: a tale of two startups
Software and Systems Modeling (SoSyM)
Wringing out objects for programming and modeling component-based systems
Proceedings of the Second International Workshop on Combined Object-Oriented Modelling and Programming Languages
On the search for a level-agnostic modelling language
CAiSE'13 Proceedings of the 25th international conference on Advanced Information Systems Engineering
Hi-index | 0.00 |
This paper shows how an attempt at a uniform and reflective definition resulted in an open-ended system supporting ObjVlisp, which we use to simulate object-oriented language extensions.We propose to unify Smalltalk classes and their terminal instances. This unification allows us to treat a class as a “first class citizen”, to give a circular definition of the first metaclass, to access to the metaclass level and finally to control the instantiation link. Because each object is an instance of another one and because a metaclass is a real class inheriting from another one, the metaclass links can be created indefinitely.This uniformity allows us to define the class variables at the metalevel thus suppressing the Smalltalk-80 ambiguity between class variables and instance variables: in our model the instance variables of a class are the class variables of its instances.