As cryptographic proofs have become essentially unverifiable, cryptographers have argued in favor of developing techniques that help tame the complexity of their proofs. Game-base...
We address how to write programs for distributed computing systems in which the network topology can change dynamically. Examples of such systems, which we call ensembles, include ...
Michael P. Ashley-Rollman, Peter Lee, Seth Copen G...
In functional programming, monadic characterizations of computational effects are normally understood denotationally: they describe how an effectful program can be systematically ...
Abstract. Deforestation is a well-known program transformation technique which eliminates intermediate data structures that are passed between functions. One of its weaknesses is t...
Type classes have found a wide variety of uses in Haskell programs, from simple overloading of operators (such as equality or ordering) to complex invariants used to implement typ...