Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Virtual classes: a powerful mechanism in object-oriented programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Combination of inheritance hierarchies
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
The programming language jigsaw: mixins, modularity and multiple inheritance
The programming language jigsaw: mixins, modularity and multiple inheritance
Annotating objects for transport to other worlds
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Object-oriented programming in the BETA programming language
Object-oriented programming in the BETA programming language
Units: cool modules for HOT languages
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Dynamic class loading in the Java virtual machine
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Modular object-oriented programming with units and mixins
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Semantic analysis of virtual classes and nested classes
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Jiazzi: new-age components for old-fasioned Java
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Modular mixin-based inheritance for application frameworks
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
ACM Transactions on Software Engineering and Methodology (TOSEM)
Recursive structures for standard ML
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Component Software: Beyond Object-Oriented Programming
Component Software: Beyond Object-Oriented Programming
Design Rules: The Power of Modularity Volume 1
Design Rules: The Power of Modularity Volume 1
Object Oriented Software Development Environments: The Mjolner Approach
Object Oriented Software Development Environments: The Mjolner Approach
Inside Java(TM) 2 Platform Security: Architecture, API Design, and Implementation
Inside Java(TM) 2 Platform Security: Architecture, API Design, and Implementation
A type system for higher-order modules
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Import is Not Inheritance - Why We Need Both: Modules and Classes
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
Propagating Class and Method Combination
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Unifying Genericity - Combining the Benefits of Virtual Types and Parameterized Classes
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Modular Internet Programming with Cells
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Type-Safe Prototype-Based Component Evolution
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
MJ: a rational module system for Java and its applications
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Journal of Functional Programming
Mirrors: design principles for meta-level facilities of object-oriented programming languages
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
An expressive language of signatures
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Scalable component abstractions
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Interaction-based programming with classages
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Recursive modules for programming
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
J&: nested intersection for scalable software composition
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
A formal framework for component deployment
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Tribe: a simple virtual class calculus
Proceedings of the 6th international conference on Aspect-oriented software development
Robust composition: towards a unified approach to access control and concurrency control
Robust composition: towards a unified approach to access control and concurrency control
Programming languages for scalable software extension and composition
Programming languages for scalable software extension and composition
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Mirages: behavioral intercession in a mirror-based architecture
Proceedings of the 2007 symposium on Dynamic languages
Mixin' up the ML module system
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Programming in Scala: A Comprehensive Step-by-step Guide
Programming in Scala: A Comprehensive Step-by-step Guide
Classboxes: controlling visibility of class extensions
Computer Languages, Systems and Structures
Mixin modules and computational effects
ICALP'03 Proceedings of the 30th international conference on Automata, languages and programming
Transactions on Aspect-Oriented Software Development I
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Proxies: design principles for robust object-oriented intercession APIs
Proceedings of the 6th symposium on Dynamic languages
Controlling dynamic module composition through an extensible meta-level API
Proceedings of the 6th symposium on Dynamic languages
Seuss: better class responsibilities through language-based dependency injection
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
An approach to modular object-oriented programming in language-driven development framework
Proceedings of the 6th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems
DeepFJig: modular composition of nested classes
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Talents: dynamically composable units of reuse
Proceedings of the International Workshop on Smalltalk Technologies
Ownership, filters and crossing handlers: flexible ownership in dynamic languages
Proceedings of the 8th symposium on Dynamic languages
Transactions on Aspect-Oriented Software Development IX
Challenges in the design of the package template mechanism
Transactions on Aspect-Oriented Software Development IX
Mixin’ Up the ML Module System
ACM Transactions on Programming Languages and Systems (TOPLAS)
L: context-oriented programming with only layers
Proceedings of the 5th International Workshop on Context-Oriented Programming
Modules as gradually-typed objects
Proceedings of the 7th Workshop on Dynamic Languages and Applications
Wyvern: a simple, typed, and pure object-oriented language
Proceedings of the 5th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance
Polymorphic identifiers: uniform resource access in objective-smalltalk
Proceedings of the 9th symposium on Dynamic languages
Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity
The power of interoperability: why objects are inevitable
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
The billion-dollar fix: safe modular circular initialisation
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Object-oriented programming: Some history, and challenges for the next fifty years
Information and Computation
Confined roles and decapsulation in object teams: contradiction or synergy?
Aliasing in Object-Oriented Programming
Join point interfaces for safe and flexible decoupling of aspects
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
We describe support for modularity in Newspeak, a programming language descended from Smalltalk [33] and Self [69]. Like Self, all computation -- even an object's own access to its internal structure -- is performed by invoking methods on objects. However, like Smalltalk, Newspeak is class-based. Classes can be nested arbitrarily, as in Beta [44]. Since all names denote method invocations, all classes are virtual; in particular, superclasses are virtual, so all classes act as mixins. Unlike its predecessors, there is no static state in Newspeak, nor is there a global namespace. Modularity in Newspeak is based exclusively on class nesting. There are no separate modularity constructs such as packages. Top level classes act as module definitions, which are independent, immutable, self-contained parametric namespaces. They can be instantiated into modules which may be stateful and mutually recursive.