Journal Article10.1002/SPE.1025
Integrated implementation of dynamic untyped object-based operator overloading
1
TL;DR: This paper presents an integrated implementation ofUntyped operator overloading which enable users to handle dynamically the full range of operators on objects in classless languages with untyped objects.
read more
Abstract: Operator overloading, a popular mechanism in the C++ language, is a form of ad hoc polymorphism on operator functions, allowing alternative implementations for different argument types Classless languages with untyped objects are languages that lack classes and treat all objects as compliant to a common Object type Languages in this category are flexible, dynamic, and easy-to-use, with popular examples being JavaScript, Lua, and ActionScript (the latter being hybrid by also offering classes) This paper presents an integrated implementation of untyped operator overloading which enable users to handle dynamically the full range of operators on objects The focus is on features not supported by other languages, such as (i) arithmetic and relational operators allowing to separately handle caller lhs and rhs positions; (ii) an assignment operator with an untyped analogy of type casting; (iii) a slot access operator allowing user-defined policies for editing object slots; and (iv) a function-call operator to support functors Operators are treated as first-class object slots, distinguished by reserved indices that match the respective operator lexemes All reported techniques have been applied in implementing the operator overloading features of the Delta language Copyright © 2010 John Wiley & Sons, Ltd
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Book
Ruby: The Programming Language
Jules J. Berman
- 28 Feb 2008
TL;DR: An ideal companion to many introductory computer science courses, as well as an excellent primer, Ruby: The Programming Language offers an accessible introduction to this easy to learn, open-source language.
169
References
•Book
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma,Richard Helm,Ralph E. Johnson,John Vlissides +3 more
- 01 Jan 1994
TL;DR: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns, which most experienced OOP designers will find out they've known about patterns all along.
24.8K
•Book
The C++ Programming Language
Bjarne Stroustrup
- 01 Jan 1985
TL;DR: Bjarne Stroustrup makes C even more accessible to those new to the language, while adding advanced information and techniques that even expert C programmers will find invaluable.
8.1K
•Book
The Java Language Specification
James Gosling,Bill Joy,Guy L. Steele +2 more
- 12 Sep 1996
TL;DR: The Java Language Specification, Second Edition is the definitive technical reference for the Java programming language and provides complete, accurate, and detailed coverage of the syntax and semantics of the Java language.
Using prototypical objects to implement shared behavior in object-oriented systems
Henry Lieberman
- 01 Jun 1986
TL;DR: Because any object can be used as a prototype, and any messages can be forwarded at any time, delegation is the more flexible and general of the two techniques.
580
Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches
Urs Hölzle,Craig Chambers,David Ungar +2 more
- 15 Jul 1991
TL;DR: PICs provide a new way to reduce the overhead of polymorphic message sends by extending inline caches to include more than one cached lookup result per call site.
Related Papers (5)
Ira Pohl
- 01 Jan 1989
Robert Harper,Greg Morrisett +1 more
- 25 Jan 1995
Phillip Heidegger,Peter Thiemann +1 more
- 21 Jun 2010