Skip to main content

Showing 1–12 of 12 results for author: Kuper, L

Searching in archive cs. Search in all archives.
.
  1. arXiv:2506.12212  [pdf, ps, other

    cs.PL

    Freer Arrows and Why You Need Them in Haskell

    Authors: Grant VanDomelen, Gan Shen, Lindsey Kuper, Yao Li

    Abstract: Freer monads are a useful structure commonly used in various domains due to their expressiveness. However, a known issue with freer monads is that they are not amenable to static analysis. This paper explores freer arrows, a relatively expressive structure that is amenable to static analysis. We propose several variants of freer arrows. We conduct a case study on choreographic programming to demon… ▽ More

    Submitted 13 June, 2025; originally announced June 2025.

    Comments: In submission to the Haskell Symposium 2025

  2. arXiv:2504.05398  [pdf, ps, other

    cs.PL

    CRDT Emulation, Simulation, and Representation Independence

    Authors: Nathan Liittschwager, Jonathan Castello, Stelios Tsampas, Lindsey Kuper

    Abstract: Conflict-free replicated data types (CRDTs) are distributed data structures designed for fault tolerance and high availability. CRDTs can be taxonomized into state-based CRDTs, in which replicas apply updates locally and periodically broadcast their local state to other replicas, and operation-based (op-based) CRDTs, in which every state-updating operation is individually broadcast and applied at… ▽ More

    Submitted 7 April, 2025; originally announced April 2025.

  3. Efficient, Portable, Census-Polymorphic Choreographic Programming

    Authors: Mako Bates, Shun Kashiwa, Syed Jafri, Gan Shen, Lindsey Kuper, Joseph P. Near

    Abstract: Choreographic programming (CP) is a paradigm for implementing distributed systems that uses a single global program to define the actions and interactions of all participants. Library-level CP implementations, like HasChor, integrate well with mainstream programming languages but have several limitations: Their conditionals require extra communication; they require specific host-language features… ▽ More

    Submitted 23 April, 2025; v1 submitted 2 December, 2024; originally announced December 2024.

    Comments: Presenting at PLDI25

  4. arXiv:2407.06509  [pdf, ps, other

    cs.PL

    Toward Verified Library-Level Choreographic Programming with Algebraic Effects

    Authors: Gan Shen, Lindsey Kuper

    Abstract: Choreographic programming (CP) is a paradigm for programming distributed applications as single, unified programs, called choreographies, that are then compiled to node-local programs via endpoint projection (EPP). Recently, library-level CP frameworks have emerged, in which choreographies and EPP are expressed as constructs in an existing host language. So far, however, library-level CP lacks a s… ▽ More

    Submitted 8 July, 2024; originally announced July 2024.

    Comments: Talk proposal for Choreographic Programming 2024

  5. arXiv:2311.11472  [pdf, other

    cs.PL

    Portable, Efficient, and Practical Library-Level Choreographic Programming

    Authors: Shun Kashiwa, Gan Shen, Soroush Zare, Lindsey Kuper

    Abstract: Choreographic programming (CP) is an emerging paradigm for programming distributed applications that run on multiple nodes. In CP, the programmer writes one program, called a choreography, that is then transformed to individual programs for each node via a compilation step called endpoint projection (EPP). While CP languages have existed for over a decade, library-level CP -- in which choreographi… ▽ More

    Submitted 19 November, 2023; originally announced November 2023.

  6. An Exceptional Actor System (Functional Pearl)

    Authors: Patrick Redmond, Lindsey Kuper

    Abstract: The Glasgow Haskell Compiler is known for its feature-laden runtime system (RTS), which includes lightweight threads, asynchronous exceptions, and a slew of other features. Their combination is powerful enough that a programmer may complete the same task in many different ways -- some more advisable than others. We present a user-accessible actor framework hidden in plain sight within the RTS an… ▽ More

    Submitted 20 July, 2023; originally announced July 2023.

    Comments: To appear at Haskell Symposium 2023

  7. Inductive diagrams for causal reasoning

    Authors: Jonathan Castello, Patrick Redmond, Lindsey Kuper

    Abstract: The Lamport diagram is a pervasive and intuitive tool for informal reasoning about "happens-before" relationships in a concurrent system. However, traditional axiomatic formalizations of Lamport diagrams can be painful to work with in a mechanized setting like Agda. We propose an alternative, inductive formalization -- the causal separation diagram (CSD) -- that takes inspiration from string diagr… ▽ More

    Submitted 14 May, 2024; v1 submitted 19 July, 2023; originally announced July 2023.

    Comments: This revision is as published in PACMPL through OOPSLA, but with [authorversion] set. Compared to the previous version, the introduction has been almost entirely rewritten

    Journal ref: Proc. ACM Program. Lang. 8, OOPSLA1, Article 113 (April 2024), 26 pages

  8. HasChor: Functional Choreographic Programming for All (Functional Pearl)

    Authors: Gan Shen, Shun Kashiwa, Lindsey Kuper

    Abstract: Choreographic programming is an emerging paradigm for programming distributed systems. In choreographic programming, the programmer describes the behavior of the entire system as a single, unified program -- a choreography -- which is then compiled to individual programs that run on each node, via a compilation step called endpoint projection. We present a new model for functional choreographic pr… ▽ More

    Submitted 19 July, 2023; v1 submitted 1 March, 2023; originally announced March 2023.

  9. Verified Causal Broadcast with Liquid Haskell

    Authors: Patrick Redmond, Gan Shen, Niki Vazou, Lindsey Kuper

    Abstract: Protocols to ensure that messages are delivered in causal order are a ubiquitous building block of distributed systems. For instance, distributed data storage systems can use causally ordered message delivery to ensure causal consistency, and CRDTs can rely on the existence of an underlying causally-ordered messaging layer to simplify their implementation. A causal delivery protocol ensures that w… ▽ More

    Submitted 15 March, 2023; v1 submitted 29 June, 2022; originally announced June 2022.

    Comments: Appeared at IFL 2022

  10. arXiv:2110.05771  [pdf, ps, other

    cs.PL

    Toward SMT-Based Refinement Types in Agda

    Authors: Gan Shen, Lindsey Kuper

    Abstract: Dependent types offer great versatility and power, but developing proofs with them can be tedious and requires considerable human guidance. We propose to integrate Satisfiability Modulo Theories (SMT)-based refinement types into the dependently-typed language Agda in an effort to ease some of the burden of programming with dependent types and combine the strengths of the two approaches to mechaniz… ▽ More

    Submitted 12 October, 2021; originally announced October 2021.

    Comments: Accepted for publication at HATRA 2021

  11. arXiv:2110.04461  [pdf, ps, other

    cs.PL

    Toward Hole-Driven Development with Liquid Haskell

    Authors: Patrick Redmond, Gan Shen, Lindsey Kuper

    Abstract: Liquid Haskell is an extension to the Haskell programming language that adds support for refinement types: data types augmented with SMT-decidable logical predicates that refine the set of values that can inhabit a type. Furthermore, Liquid Haskell's support for refinement reflection enables the use of Haskell for general-purpose mechanized theorem proving. A growing list of large-scale mechanized… ▽ More

    Submitted 9 October, 2021; originally announced October 2021.

    Comments: Accepted for publication at HATRA 2021

  12. arXiv:1801.05950  [pdf, other

    cs.AI cs.LO

    Toward Scalable Verification for Safety-Critical Deep Networks

    Authors: Lindsey Kuper, Guy Katz, Justin Gottschlich, Kyle Julian, Clark Barrett, Mykel Kochenderfer

    Abstract: The increasing use of deep neural networks for safety-critical applications, such as autonomous driving and flight control, raises concerns about their safety and reliability. Formal verification can address these concerns by guaranteeing that a deep learning system operates as intended, but the state of the art is limited to small systems. In this work-in-progress report we give an overview of ou… ▽ More

    Submitted 2 February, 2018; v1 submitted 18 January, 2018; originally announced January 2018.

    Comments: Accepted for presentation at SysML 2018