Loading…

ABI Compatibility Through a Customizable Language

ZL is a C++-compatible language in which high-level constructs, such as classes, are defined using macros over a C-like core language. This approach makes many parts of the language easily customizable. For example, since the class construct can be defined using macros, a programmer can have complet...

Full description

Saved in:
Bibliographic Details
Published in:ACM SIGPLAN notices 2011-02, Vol.46 (2), p.147-156
Main Authors: ATKINSON, Kevin, FLATT, Matthew, LINDSTROM, Gary
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:ZL is a C++-compatible language in which high-level constructs, such as classes, are defined using macros over a C-like core language. This approach makes many parts of the language easily customizable. For example, since the class construct can be defined using macros, a programmer can have complete control over the memory layout of objects. Using this capability, a programmer can mitigate certain problems in software evolution such as fragile ABIs (Application Binary Interfaces) due to software changes and incompatible ABIs due to compiler changes. In this paper, we outline the problem of fragile and incompatible ABIs and show how ZL can be used to solve them.
ISSN:1523-2867
0362-1340
1558-1160
DOI:10.1145/1942788.1868316