Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Research directions in object-oriented programming
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Interfaces for strongly-typed object-oriented programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Typechecking and modules for multimethods
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type inference of SELF: analysis of objects with dynamic and multiple inheritance
Software—Practice & Experience
A lambda calculus of objects with self-inflicted extension
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Theory of Objects
A lambda calculus of objects and method specialization
Nordic Journal of Computing
From Classes to Objects via Subtyping
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Should Superclasses be Abstract?
ECOOP '94 Proceedings of the 8th European Conference on Object-Oriented Programming
Objects with Multiple Most Specific Classes
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Predicate Dispatching: A Unified Theory of Dispatch
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Subtyping Constraints for Incomplete Objects (Extended Abstract)
TAPSOFT '97 Proceedings of the 7th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
Typing Non-uniform Concurrent Objects
CONCUR '00 Proceedings of the 11th International Conference on Concurrency Theory
A Delegation-based Object Calculus with Subtying
FCT '95 Proceedings of the 10th International Symposium on Fundamentals of Computation Theory
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
More dynamic object reclassification: Fickle∥
ACM Transactions on Programming Languages and Systems (TOPLAS)
An Effective Translation of Fickle into Java
ICTCS '01 Proceedings of the 7th Italian Conference on Theoretical Computer Science
Lazy modular upgrades in persistent object stores
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Re-classification and multi-threading: FickleMT
Proceedings of the 2004 ACM symposium on Applied computing
A provenly correct translation of Fickle into Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Modular Pluggable Analyses for Data Structure Consistency
IEEE Transactions on Software Engineering
Calculi, types and applications
Theoretical Computer Science
DLS '08 Proceedings of the 2008 symposium on Dynamic languages
Delegation: a language facility for dynamic software adaptation
ACM SIGSOFT Software Engineering Notes
Efficient virtual machine support of runtime structural reflection
Science of Computer Programming
Types for Proofs and Programs
Three approaches to object evolution
PPPJ '09 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
Semantics, Types and Effects for XML Updates
DBPL '09 Proceedings of the 12th International Symposium on Database Programming Languages
Typestate-oriented programming
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Type Theory and Language Constructs for Objects with States
Electronic Notes in Theoretical Computer Science (ENTCS)
Existential heap abstraction entailment is undecidable
SAS'03 Proceedings of the 10th international conference on Static analysis
A language for role specifications
LCPC'01 Proceedings of the 14th international conference on Languages and compilers for parallel computing
A theory of typestate-oriented programming
Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
Modular composition and state update in Plaid
Proceedings of the 4th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance
Proceedings of the 25th European conference on Object-oriented programming
First-class state change in plaid
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Generalized typestate checking for data structure consistency
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Loosely-separated “sister” namespaces in java
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Chai: traits for Java-like languages
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Talents: dynamically composable units of reuse
Proceedings of the International Workshop on Smalltalk Technologies
Types for dynamic reconfiguration
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Efficient support of dynamic inheritance for class- and prototype-based languages
Journal of Systems and Software
Method slots: supporting methods, events, and advices by a single language construct
Proceedings of the 12th annual international conference on Aspect-oriented software development
A hybrid class- and prototype-based object model to support language-neutral structural intercession
Information and Software Technology
Hi-index | 0.00 |
Re-classification changes at run-time the class membership of an object while retaining its identity. We suggest language features for object re-classification, which could extend an imperative, typed, classbased, object-oriented language.We present our proposal through the language Fickle. The imperative features combined with the requirement for a static and safe type system provided the main challenges. We develop a type and effect system for Fickle and prove its soundness with respect to the operational semantics. In particular, even though objects may be re-classified across classes with different members, they will never attempt to access nonexisting members.