Proceedings chapter
English

Implementing a language with explicit assignment semantics

Presented atAthens (Greece), October, 2019
PublisherACM Press
Publication date2019
Abstract

Anzen is a multi-paradigm programming language that aims to provide explicit and controllable assignment semantics. It is based on the observation that abstractions over memory management and data representation, as commonly adopted by contemporary programming languages, often transpire relics of the underlying memory model and lead to confusing assignment semantics in the presence of aliases. In response, Anzen's goal is to offer a modern approach to programming, built on a sound and unambiguous semantics.This paper describes the implementation of a compiler for Anzen. Our implementation transpiles sources to an intermediate language inspired by the LLVM IR, designed to ease further analysis on Anzen's statements. This intermediate representation is then consumed by a register-based virtual machine. We present the Anzen compiler's architecture, introduce its intermediate language and describe the latter's evaluation. Our work aims to set a reference implementation for future developments and extensions of the language.

Keywords
  • Intermediate language
  • Virtual machine
  • Imperative languages
  • Assignment
  • Memory management
Citation (ISO format)
RACORDON, Dimitri, BUCHS, Didier. Implementing a language with explicit assignment semantics. In: Proceedings of the 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, VMIL 2019. Athens (Greece). [s.l.] : ACM Press, 2019. p. 12–21. doi: 10.1145/3358504.3361227
Main files (1)
Proceedings chapter (Published version)
accessLevelRestricted
Identifiers
Additional URL for this publicationhttp://dl.acm.org/citation.cfm?doid=3358504.3361227
ISBN978-1-4503-6987-9
302views
0downloads

Technical informations

Creation12/05/2020 16:24:00
First validation12/05/2020 16:24:00
Update15/03/2023 21:55:01
Status update15/03/2023 21:55:00
Last indexation31/10/2024 18:37:07
All rights reserved by Archive ouverte UNIGE and the University of GenevaunigeBlack