Open AccessPosted Content
Explicit and Controllable Assignment Semantics.
Dimitri Racordon,Didier Buchs +1 more
TL;DR: This paper introduces Anzen, a programming language that aims to make assignments easier to understand and manipulate and offers three assignment operators, with unequivocal semantics, that can reproduce all common imperative assignment strategies.
read more
Abstract: Despite the plethora of powerful software to spot bugs, identify performance bottlenecks or simply improve the overall quality of code, programming languages remain the first and most important tool of a developer. Therefore, appropriate abstractions, unambiguous syntaxes and intuitive semantics are paramount to convey intent concisely and efficiently. The continuing growth in computing power has allowed modern compilers and runtime system to handle once thought unrealistic features, such as type inference and reflection, making code simpler to write and clearer to read. Unfortunately, relics of the underlying memory model still transpire in most programming languages, leading to confusing assignment semantics. This paper introduces Anzen, a programming language that aims to make assignments easier to understand and manipulate. The language offers three assignment operators, with unequivocal semantics, that can reproduce all common imperative assignment strategies. It is accompanied by a type system based on type capabilities to enforce uniqueness and immutability. We present Anzen's features informally and formalize it by the means of a minimal calculus.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Book
R For Beginners
Sergio Baeza
- 11 Dec 2015
TL;DR: This Book is a very helpful practical guide for beginners in the topic, which can be used as a learning material for students pursuing their studies in undergraduate and graduate levels in universities and colleges and those who want to learn the topic via a short and complete resource.
17
Implementing a language with explicit assignment semantics
Dimitri Racordon,Didier Buchs +1 more
- 22 Oct 2019
TL;DR: The implementation of a compiler for Anzen is described, which transpiles sources to an intermediate language inspired by the LLVM IR, designed to ease further analysis on Anzen’s statements and sets a reference implementation for future developments and extensions of the language.
1
References
•Book
The Java Language Specification
James Gosling,Bill Joy,Guy L. Steele +2 more
- 12 Sep 1996
TL;DR: The Java Language Specification, Second Edition is the definitive technical reference for the Java programming language and provides complete, accurate, and detailed coverage of the syntax and semantics of the Java language.
A theory of type polymorphism in programming
TL;DR: This work presents a formal type discipline for polymorphic procedures in the context of a simple programming language, and a compile time type-checking algorithm w which enforces the discipline.
2.6K
Featherweight Java: a minimal core calculus for Java and GJ
TL;DR: This work extends Featherweight Java with generic classes in the style of GJ and gives a detailed proof of type safety, which formalizes for the first time some of the key features ofGJ.
Typestate: A programming language concept for enhancing software reliability
Rob Strom,S. Yemini +1 more
TL;DR: The authors introduce a new programming language concept, called typestate, which is a refinement of the concept of type, which determines the subset of operations which is permitted in a particular context.
633
Checking interference with fractional permissions
John Boyland
- 11 Jun 2003
TL;DR: An operational semantics of a simple imperative language with structured parallelism is given and it is proved that the permission system enables parallelism to proceed with deterministic results.
517