4 papers
Freer Arrows and Why You Need Them in Haskell
Grant VanDomelen, Gan Shen, Lindsey Kuper +1
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 a…
Toward Verified Library-Level Choreographic Programming with Algebraic Effects
Gan Shen, Lindsey Kuper
Choreographic programming (CP) is a paradigm for programming distributed applications as single, unified programs, called choreographies, that are then compiled to node-local progr…
Portable, Efficient, and Practical Library-Level Choreographic Programming
Shun Kashiwa, Gan Shen, Soroush Zare +1
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 chore…
Toward SMT-Based Refinement Types in Agda
Gan Shen, Lindsey Kuper
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 M…