Q# as a quantum algorithmic language

K Singhal, K Hietala, S Marshall, R Rand - arXiv preprint arXiv:2206.03532, 2022 - arxiv.org
Q# is a standalone domain-specific programming language from Microsoft for writing and
running quantum programs. Like most industrial languages, it was designed without a formal …

[HTML][HTML] Polymorphic lambda calculus with context-free session types

B Almeida, A Mordido, P Thiemann… - Information and …, 2022 - Elsevier
Session types provide a typing discipline for structured communication on bidirectional
channels. Context-free session types overcome the restriction to tail recursive protocols …

Generic go to go: dictionary-passing, monomorphisation, and hybrid

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 …

[PDF][PDF] Implementation Strategies for Mutable Value Semantics.

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 …

super-Charging Object-Oriented Programming Through Precise Typing of Open Recursion

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 …

A Monadic Framework for Name Resolution in Multi-phased Type Checkers

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 …

Revisiting language support for generic programming: when genericity is a core design goal

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 …

A dictionary-passing translation of featherweight go

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 …

Verifying a concurrent, crash-safe file system with sequential reasoning

T Chajed - 2022 - dspace.mit.edu
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 …

Extending Isabelle/HOL's Code Generator with support for the Go programming language

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 …