Skip to content

Commit b51d42b

Browse files
committed
publish 10(3)
1 parent 0cb6b0a commit b51d42b

5 files changed

Lines changed: 26 additions & 4 deletions

File tree

2025/10/19/index.markdown

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ authors:
2121
affiliation: "University of Tübingen, Germany"
2222
id: "0000-0001-8709-6321"
2323

24+
arxiv: "2511.15819"
25+
file: "https://arxiv.org/pdf/2511.15819v1.pdf"
2426
excerpt: "The expression problem describes a fundamental tradeoff between two types of extensibility: extending a type with new **operations**, such as by pattern matching on an algebraic data type in functional programming, and extending a type with new **constructors**, such as by adding a new object implementing an interface in object-oriented programming. Most dependently typed languages have good support for the former style through **inductive** types, but support for the latter style through **coinductive** types is usually much poorer. Polarity is a language that treats both kinds of types symmetrically and allows the developer to switch between type representations.However, it currently lacks several features expected of a state-of-the-art dependently typed language, such as implicit arguments. The central aim of this paper is to provide an algorithmic type system and inference algorithm for implicit arguments that respect the core symmetry of the language. Our work provides two key contributions: a complete algorithmic description of the type system backing Polarity, and a comprehensive description of a unification algorithm that covers arbitrary inductive and coinductive types. We give rules for reduction semantics, conversion checking, and a unification algorithm for pattern-matching, which are essential for a usable implementation. A work-in-progress implementation of the algorithms in this paper is available at [polarity-lang.github.io](https://polarity-lang.github.io/). We expect that the comprehensive account of the unification algorithm and our design decisions can serve as a blueprint for other dependently typed languages that support inductive and coinductive types symmetrically."
2527
---
2628
Bohdan Liesnikov[^1] [![OrcidLogo]](https://orcid.org/0009-0000-2216-8830), David Binder[^2] [![OrcidLogo]](https://orcid.org/0000-0003-1272-0972), and Tim Süberkrüb[^3] [![OrcidLogo]](https://orcid.org/0000-0001-8709-6321)
@@ -30,7 +32,7 @@ The Art, Science, and Engineering of Programming, 2025, Vol. 10, Issue 3, Articl
3032
Submission date: 2025-06-02
3133
Publication date: 2025-10-15
3234
DOI: <https://doi.org/10.22152/programming-journal.org/2025/10/19>
33-
Full text: *t.b.a*
35+
Full text: [PDF](https://arxiv.org/pdf/2511.15819v1.pdf)
3436

3537

3638
### Abstract

2025/10/20/index.markdown

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ authors:
1717
affiliation: "University of Utah, USA"
1818
id: "0000-0001-7078-9287"
1919

20+
arxiv: "2511.15820"
21+
file: "https://arxiv.org/pdf/2511.15820v1.pdf"
2022
excerpt: "We built Chorex, a language that brings choreographic programming to Elixir as a path toward robust distributed applications. Chorex is unique among choreographic languages because it tolerates failure among actors: when an actor crashes, Chorex spawns a new process, restores state using a checkpoint, and updates the network configuration for all actors. Chorex also proves that full-featured choreographies can be implemented via metaprogramming, and that doing so achieves tight integration with the host language. For example, mismatches between choreography requirements and an actor implementation are reported statically and in terms of source code rather than macro-expanded code. This paper illustrates Chorex on several examples, ranging from a higher-order bookseller to a secure remote password protocol, details its implementation, and measures the overhead of checkpointing. We conjecture that Chorex’s projection strategy, which outputs sets of stateless functions, is a viable approach for other languages to support restartable actors."
2123
---
2224
Ashton Wiersdorf[^1] [![OrcidLogo]](https://orcid.org/0000-0001-5524-7930) and Ben Greenman[^2] [![OrcidLogo]](https://orcid.org/0000-0001-7078-9287)
@@ -26,7 +28,7 @@ The Art, Science, and Engineering of Programming, 2025, Vol. 10, Issue 3, Articl
2628
Submission date: 2025-06-01
2729
Publication date: 2025-10-15
2830
DOI: <https://doi.org/10.22152/programming-journal.org/2025/10/20>
29-
Full text: *t.b.a*
31+
Full text: [PDF](https://arxiv.org/pdf/2511.15820v1.pdf)
3032

3133

3234
### Abstract

2025/10/21/index.markdown

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ authors:
2121
affiliation: "University of Tokyo, Tokyo, Japan"
2222
id: "0000-0002-1058-5941"
2323

24+
arxiv: "2511.15821"
25+
file: "https://arxiv.org/pdf/2511.15821v1.pdf"
2426
excerpt: |
2527
Virtual machines (VMs) are highly beneficial for microcontroller development.
2628
In particular, interactive programming environments greatly facilitate iterative development processes,
@@ -50,7 +52,7 @@ The Art, Science, and Engineering of Programming, 2025, Vol. 10, Issue 3, Articl
5052
Submission date: 2025-06-02
5153
Publication date: 2025-10-15
5254
DOI: <https://doi.org/10.22152/programming-journal.org/2025/10/21>
53-
Full text: *t.b.a*
55+
Full text: [PDF](https://arxiv.org/pdf/2511.15821v1.pdf)
5456

5557

5658
### Abstract

2025/10/index.markdown

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
title: "Volume 10"
33
type: "volume"
44
id: "urn:doi:10.22152%2Fprogramming-journal.org%2F2025%2F10"
5+
date: "2025-02-28"
56
---
67
DOI: <https://doi.org/10.22152/programming-journal.org/2025/10>
78

@@ -60,6 +61,21 @@ Chinmayi Prabhu Baramashetru, Paola Giannini, Silvia Lizeth Tapia Tarifa, and Ol
6061

6162

6263

64+
* [Volume 10, Issue 3](issue3)
65+
66+
67+
68+
69+
{: start="19"}
70+
1. [Filling the Gaps of Polarity: Implementing Dependent Data and Codata Types with Implicit Arguments](/2025/10/19)
71+
Bohdan Liesnikov, David Binder, and Tim Süberkrüb
72+
1. [Chorex: Restartable, Language-Integrated Choreographies](/2025/10/20)
73+
Ashton Wiersdorf and Ben Greenman
74+
1. [BlueScript: A Disaggregated Virtual Machine for Microcontrollers](/2025/10/21)
75+
Fumika Mochizuki, Tetsuro Yamazaki, and Shigeru Chiba
76+
77+
78+
6379

6480

6581

2025/10/issue3/index.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ category: "Issues"
44
order: -10003
55
type: "issue"
66
id: "urn:doi:10.22152%2Fprogramming-journal.org%2F2025%2F10%2Fissue3"
7-
date: "2025-11-19"
7+
date: "2025-11-21"
88
---
99
DOI: <https://doi.org/10.22152/programming-journal.org/2025/10/issue3>
1010

0 commit comments

Comments
 (0)