Session types provide a typing discipline for structured communication on bidirectional channels. Context-free session types overcome the restriction to tail recursive protocols …
S Ellis, S Zhu, N Yoshida, L Song - Proceedings of the ACM on …, 2022 - dl.acm.org
Go is a popular statically-typed industrial programming language. To aid the type safe reuse of code, the recent Go release (Go 1.18) published early 2022 includes bounded parametric …
D Racordon, D Shabalin, D Zheng… - J. Object …, 2022 - kyouko-taiga.github.io
Mutable value semantics is a programming discipline that upholds the independence of values to support local reasoning. In the discipline's strictest form, references become …
A Fan, L Parreaux - 37th European Conference on Object …, 2023 - drops.dagstuhl.de
We present a new variation of object-oriented programming built around three simple and orthogonal constructs: classes for storing object state, interfaces for expressing object types …
C Bach Poulsen, A Zwaan, P Hübner - Proceedings of the 22nd ACM …, 2023 - dl.acm.org
An important aspect of type checking is name resolution---ie, determining the types of names by resolving them to a matching declaration. For most languages, we can give typing rules …
B Chetioui, J Järvi, M Haveraaen - arXiv preprint arXiv:2211.01678, 2022 - arxiv.org
Context: Generic programming, as defined by Stepanov, is a methodology for writing efficient and reusable algorithms by considering only the required properties of their …
M Sulzmann, S Wehr - Programming Languages and Systems: 19th Asian …, 2021 - Springer
The Go programming language is an increasingly popular language but some of its features lack a formal investigation. This article explains Go's resolution mechanism for overloaded …
Critical systems software such as the file system is challenging to make correct due to the combination of concurrency in the implementation for good performance and the …
T Stübinger, L Hupel - arXiv preprint arXiv:2310.02704, 2023 - arxiv.org
The Isabelle proof assistant includes a small functional language, which allows users to write and reason about programs. So far, these programs could be extracted into a number …