11 citations · 21 across the 6 of their papers we have counts for
7 papers · 1 filter
On Eliminating the Impossible with Dependent Types: Choreographic Libraries with Proof-Carrying Located Values
Simon Daniel, Timon Böhler, David Richter +2
With growing complexity, distributed software systems become increasingly challenging to maintain and reason about. When implementing a distributed protocol, developers must ensure…
Mechanizing Choreographic Programs and Hoare Logic with State Transformers
Timon Böhler, Simon Daniel, David Richter +2
Choreographic programming is a programming model for developing distributed applications where an entire communication protocol is written as a single program, which a compiler the…
Compiling with Arrays
David Richter, Timon Böhler, Pascal Weisenburger +1
Linear algebra computations are foundational for neural networks and machine learning, often handled through arrays. While many functional programming languages feature lists and r…
A Direct-Style Effect Notation for Sequential and Parallel Programs
David Richter, Timon Böhler, Pascal Weisenburger +1
Modeling sequential and parallel composition of effectful computations has been investigated in a variety of languages for a long time. In particular, the popular do-notation provi…
Prisma: A Tierless Language for Enforcing Contract-Client Protocols in Decentralized Applications (Extended Version)
David Richter, David Kretzler, Pascal Weisenburger +3
Decentralized applications (dApps) consist of smart contracts that run on blockchains and clients that model collaborating parties. dApps are used to model financial and legal busi…
On the Monitorability of Session Types, in Theory and Practice (Extended Version)
Christian Batrolo Burlò, Adrian Francalanza, Alceste Scalas
In concurrent and distributed systems, software components are expected to communicate according to predetermined protocols and APIs - and if a component does not observe them, the…
Implementing a Language for Distributed Systems: Choices and Experiences with Type Level and Macro Programming in Scala
Pascal Weisenburger, Guido Salvaneschi
Multitier programming languages reduce the complexity of developing distributed systems by developing the distributed system in a single coherent code base. The compiler or the run…