Filters








481,044 Hits in 6.6 sec

A typed intermediate language for compiling multiple inheritance

Juan Chen
2007 SIGPLAN notices  
Practical type-preserving compilation does not exist for languages with multiple inheritance.  ...  This paper presents EMI, the first typed intermediate language to support practical compilation of a programming language with fully general multiple inheritance.  ...  The embedded A object in D has path E :: D :: A and its vtable has a thunk for foo with "this" pointer type Ptr (E :: D :: A).  ... 
doi:10.1145/1190215.1190222 fatcat:jegawaeaxfafpealzrsh3wlpsm

A typed intermediate language for compiling multiple inheritance

Juan Chen
2007 Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '07  
Practical type-preserving compilation does not exist for languages with multiple inheritance.  ...  This paper presents EMI, the first typed intermediate language to support practical compilation of a programming language with fully general multiple inheritance.  ...  The embedded A object in D has path E :: D :: A and its vtable has a thunk for foo with "this" pointer type Ptr (E :: D :: A).  ... 
doi:10.1145/1190216.1190222 dblp:conf/popl/Chen07 fatcat:r5dvdvlj2rabhgeoo5fhtv2so4

Design and evaluation of C++ open multi-methods

Peter Pirkelbauer, Yuriy Solodkyy, Bjarne Stroustrup
2010 Science of Computer Programming  
We describe a model implementation and compare its performance and space requirements to existing open multi-method extensions and workaround techniques for C++.  ...  Multiple dispatch -the selection of a function to be invoked based on the dynamic type of two or more arguments -is a solution to several classical problems in object-oriented programming.  ...  Acknowledgements We would like to thank to Nan Zhang for contributions to this research in its early stages and to Quadrox NV (Belgium) for providing the source code for experimenting with image conversion  ... 
doi:10.1016/j.scico.2009.06.002 fatcat:4xiiblj5xndtrk3sc24oavxxny

Implementing signatures for C++

Gerald Baumgartner, Vincent F. Russo
1997 ACM Transactions on Programming Languages and Systems  
We outline the design and detail the implementation of a language extension for abstracting types and for decoupling subtyping and inheritance in C++.  ...  After a brief discussion of syntax and semantics of this language extension and examples of its use, we present and analyze three different implementation techniques: a preprocessor to a C++ compiler,  ...  ACKNOWLEDGEMENTS We would like to thank Konstantin Läufer and Michal Young for reading parts of the article and for providing many valuable comments, and Andy Muckelbauer for numerous discussions about  ... 
doi:10.1145/239912.239922 fatcat:cpwxhn6mfjfwxhzbmhkmecb65u

Path Planning for Encountered-type Haptic Devices that Render Multiple Objects in 3D Space
3次元空間内の複数の仮想物体を提示するための遭遇型ハプティックデバイスの軌道計画

Yasuyoshi YOKOKOHJI, Junji KINOSHITA, Tsuneo YOSHIKAWA
2004 Transactions of the Society of Instrument and Control Engineers  
A path-planning algorithm for encountered-type haptic devices that render multiple virtual objects in 3D space is proposed.  ...  A virtual control panel of automobiles was constructed using an encountered-type haptic device where the proposed path-planning algorithm was implemented.  ...  Yoshikawa: Path Planning for Encountered-type Haptic Devices that Render Multiple Objects in 3D Space, Proc.  ... 
doi:10.9746/sicetr1965.40.139 fatcat:yni5j5dtmjfmpjkulxksaatuxu

J&

Nathaniel Nystrom, Xin Qi, Andrew C. Myers
2006 Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications - OOPSLA '06  
The utility of J& is demonstrated by using it to construct two composable, extensible frameworks: a compiler framework for Java, and a peer-to-peer networking system.  ...  Nested inheritance permits modular, type-safe extension of a package (including nested packages and classes), while preserving existing type relationships.  ...  Thank you to Michael Clarkson for his very detailed comments and for the pun. Thanks also to Venugopalan Ramasubramanian for insightful discussions about Pastry and Beehive.  ... 
doi:10.1145/1167473.1167476 dblp:conf/oopsla/NystromQM06 fatcat:y2bafjuugbf7vlu5aciqsz6pwa

Flexible Language Interoperability

Torbjörn Ekman, Peter Mechlenborg, Ulrik Pagh Schultz
2007 Journal of Object Technology  
We have implemented our approach to language interoperability on top of a prototype virtual machine for embedded systems based on the Smalltalk object model, which provides interoperability for embedded  ...  This approach can be deployed both on a statically typed virtual machine, such as the JVM, and on a dynamic virtual machine, such as a Smalltalk virtual machine.  ...  On a virtual machine where different languages are compiled to the same basic object model, interoperability becomes an issue of duck typing: "if it walks like a duck and it talks like a duck then it is  ... 
doi:10.5381/jot.2007.6.8.a2 fatcat:g2aafggambdvzmv6xokrs3xx5u

Extending ordinary inheritance schemes to include generalization

C. H. Pedersen
1989 Conference proceedings on Object-oriented programming systems, languages and applications - OOPSLA '89  
The arrangement of classes in a specialization hierarchy has proved to be a useful abstraction mechanism in class-based object oriented programming languages.  ...  The success of the mechanism is based on the high degree of code reuse that is offered, along with simple type conformance rules.  ...  For a more thorough discussion of types and conformance refer to [l, 2, 41.  ... 
doi:10.1145/74877.74920 dblp:conf/oopsla/Pedersen89 fatcat:dhrymw4o5facjmmjnjhyyc3bgm

J&

Nathaniel Nystrom, Xin Qi, Andrew C. Myers
2006 SIGPLAN notices  
The utility of J& is demonstrated by using it to construct two composable, extensible frameworks: a compiler framework for Java, and a peer-to-peer networking system.  ...  Nested inheritance permits modular, type-safe extension of a package (including nested packages and classes), while preserving existing type relationships.  ...  Thank you to Michael Clarkson for his very detailed comments and for the pun. Thanks also to Venugopalan Ramasubramanian for insightful discussions about Pastry and Beehive.  ... 
doi:10.1145/1167515.1167476 fatcat:gtiyfpqqjzbdzbjoauba6rpstq

Abstract Interface Types in GNAT: Conversions, Discriminants, and C++ [chapter]

Javier Miranda, Edmond Schonberg
2006 Lecture Notes in Computer Science  
Ada 2005 Abstract Interface Types provide a limited and practical form of multiple inheritance of specifications.  ...  In this paper we cover the following aspects of their implementation in the GNAT compiler: interface type conversions, the layout of variable sized tagged objects with interface progenitors, and the use  ...  Acknowledgments We wish to thank Robert Dewar, Cyrille Comar, Gary Dismukes, and Matthew Gingell for the discussions that helped us to clarify the main concepts described in this paper.  ... 
doi:10.1007/11767077_15 fatcat:bzgjxtuedvdqnksxovz5kwrb4q

Lowcode

Ronie Salgado, Stéphane Ducasse
2016 Proceedings of the 11th edition of the International Workshop on Smalltalk Technologies - IWST'16  
We extend Pharo compiler and virtual machine to use our type system by add custom bytecode instructions for dealing with native data.  ...  In this work we extend Pharo by adding a type system that provides the native data types present in C along with the dynamic object type.  ...  Acknowledgments We thank Eliot Miranda for supporting the concept of the Lowcode and providing guidance for modifying the just in time compiler of the virtual machine to implement the Lowcode instructions  ... 
doi:10.1145/2991041.2991064 fatcat:foe52hva5natjbsz7dtv7xqoju

A Study on the Code Generator for a Virtual Machine Code based JavaScript Compiler

Jaehyun Kim, Yangsun Lee
2018 International Journal of Advanced Science and Technology  
In this paper, we design and implement a code generator for the JavaScript compiler.  ...  It consists of a set of compilers and a virtual machine based on the intermediate language.  ...  We also implemented a smart virtual machine to support basic dynamic types so that it can execute JavaScript, a dynamic type language.  ... 
doi:10.14257/ijast.2018.119.11 fatcat:5d2bv72efra3rfgb6mpiqx36ce

Open Types and Bidirectional Relationships as an Alternative to Classes and Inheritance

Christian Heinlein
2007 Journal of Object Technology  
The basic implementation ideas of open types as a language extension for C++ are described.  ...  Open types are presented as a simple yet powerful data model for statically typed procedural and object-oriented programming languages, that overcomes the limitations of the traditional record-oriented  ...  function in the module's public part and implementing it as a virtual function in the private part.  ... 
doi:10.5381/jot.2007.6.3.a3 fatcat:mot5adcly5dnvgjoyiiub2yl3m

Implementing statically typed object-oriented programming languages

Roland Ducournau
2011 ACM Computing Surveys  
In statically typed object-oriented languages, message sending, or late binding, is implemented with tables often called virtual functions tables (VFT).  ...  We examine how global compilation can improve the implementation and propose to use global techniques-coloring and type analysis-in a separate compilation framework.  ...  In section 4, we examine some alternatives for multiple inheritance, among which C++ "non virtual" implementation (NVI) for arborescent inheritance (AI).  ... 
doi:10.1145/1922649.1922655 fatcat:ntlwqmagj5h5damjaiy46whaxu

Signatures: A language extension for improving type abstraction and subtype polymorphism in C++

Gerald Baumgartner, Vincent F. Russo
1995 Software, Practice & Experience  
With default implementations and views flexible mechanisms are provided for implementing an abstract type by different concrete class types.  ...  C++ uses inheritance as a substitute for subtype polymorphism. We give examples where this makes the type system too inflexible.  ...  ACKNOWLEDGEMENTS We would like to thank Konstantin Läufer and Michal Young for reading parts of the paper and providing many valuable comments, and Andy Muckelbauer for numerous discussions about the implementation  ... 
doi:10.1002/spe.4380250803 fatcat:636isi3bu5ee5aypzetkimg2ee
« Previous Showing results 1 — 15 out of 481,044 results