Title : 
Implementing dynamic language features in Java using dynamic code generation
         
        
            Author : 
Breuel, Thomas M.
         
        
            Author_Institution : 
Xerox Palo Alto Res. Center, CA, USA
         
        
        
        
        
        
            Abstract : 
Compared to dynamic object-oriented languages like CommonLisp or Smalltalk, Java has a fairly simple and restrictive object and type system. Some of the key differences between Java and these other languages are that they offer structural conformance, automatic delegation and dynamic mix-ins. When such constructs are needed in a language like Java, they are usually expressed in terms of standard object-oriented design patterns, requiring the manual implementation of “glue” or “helper” classes. This paper describes ways in which such features can be provided efficiently and automatically in terms of Java´s platform-independent binary format and dynamic loading mechanisms. The implementation does not require any changes to the Java runtime environment, byte-codes or class loader, and it yields a performance that is comparable to manually implemented design patterns. The approach should prove useful both as a programming tool for Java and as a strategy for building efficient implementations of dynamic languages on top of the Java Virtual Machine
         
        
            Keywords : 
Java; program compilers; virtual machines; Java; automatic delegation; byte-codes; class loader; dynamic code generation; dynamic language features; dynamic loading mechanisms; dynamic mix-ins; efficient implementations; glue classes; helper classes; object-oriented design patterns; object-oriented language; performance; platform-independent binary format; programming tool; runtime environment; structural conformance; type system; virtual machine; Bibliographies; Buildings; Casting; Computer languages; Dynamic programming; Java; Programming profession; Reflection; Runtime; Virtual machining;
         
        
        
        
            Conference_Titel : 
Technology of Object-Oriented Languages and Systems, 2001. TOOLS 39. 39th International Conference and Exhibition on
         
        
            Conference_Location : 
Santa Barbara, CA
         
        
        
            Print_ISBN : 
0-7695-1251-8
         
        
        
            DOI : 
10.1109/TOOLS.2001.941668