Intrinsically typed compilation with nameless labels

نویسندگان

چکیده

To avoid compilation errors it is desirable to verify that a compiler type correct —i.e., given well-typed source code, always outputs target code. This can be done intrinsically by implementing as function in dependently typed programming language, such Agda. manipulates data types of and programs, therefore construction. A key challenge an the representation labels bytecode. Because label names are global, bytecode typing appears inherently non-compositional, whole-program property. The individual operations do not preserve this property, which requires programmer reason about labels, spoils definition with proof terms. In paper, we address problem using new nameless co-contextual global binding, compositional. Our idea use linearity ensure all defined exactly once. write concise compilers manipulate programs our representation, develop linear, typed, shallowly embedded language Agda, based on separation logic. We show enables specification implementation bytecode, culminating for structured control-flow.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Typed Compilation Against Non-manifest Base Classes

Much recent work on proof-carrying code aims to build certifying compilers for single-inheritance object-oriented languages, such as Java or C#. Some advanced object-oriented languages support compiling a derived class without complete information about its base class. This strategy—though necessary for supporting features such as mixins, traits, and first-class classes—is not wellsupported by ...

متن کامل

The Nameless

A personal survey of the abortion problem in Britain, based on articles in The Observer. Paul Ferris sets out the present situation clearly for the layman and gives case-histories which are often moving. He makes it clear that the existing law is archaic and socially unjust. Abortion is very much a mental health problem and psychiatrists have recently been used as a scapegoat, because society w...

متن کامل

A Typed Intermediate Language for Flow-Directed Compilation

We present a typed intermediate language λ for optimizing compilers for function-oriented and polymorphically typed programming languages (e.g., ML). The language λ is a typed lambda calculus with product, sum, intersection, and union types as well as function types annotated with flow labels. A novel formulation of intersection and union types supports encoding flow information in the typed pr...

متن کامل

A Compilation Model for Aspect-Oriented Polymorphically Typed Functional Languages

Introducing aspect orientation to a polymorphically typed functional language strengthens the importance of type-scoped advices; i.e., advices with their effects harnessed by type constraints. As types are typically treated as compile time entities, it is highly desirable to be able to perform static weaving to determine at compile time the chaining of type-scoped advices to their associated jo...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on programming languages

سال: 2021

ISSN: ['2475-1421']

DOI: https://doi.org/10.1145/3434303