This paper develops a new language for programming softwaredefined networks based on a probabilistic semantics. We extend the NetKAT language with new primitives for expressing p...
Abstract. Staged programming languages assign a stage to each program expression and evaluate each expression in its assigned stage. A common use of staged languages is to describe...
Nicolas Feltman, Carlo Angiuli, Umut A. Acar, Kayv...
Most programs interact with the world: via graphical user interfaces, networks, etc. This form of interactivity entails concurrency, and concurrent program components must coordina...
This paper presents a shallow embedding of a probabilistic functional programming language in higher order logic. The language features monadic sequencing, recursion, random sampli...
Abstract. The original formulation of the Curry–Howard correspondence relates propositional logic to the simply-typed λ-calculus at three levels: the syntax of propositions corr...
Typed Clojure is an optional type system for Clojure, a dynamic language in the Lisp family that targets the JVM. Typed Clojure’s type system build on the design of Typed Racket...
Ambrose Bonnaire-Sergeant, Rowan Davies, Sam Tobin...
We present a new type system with support for proofs of programs in a call-by-value language with control operators. The proof mechanism relies on observational equivalence of (unt...
Abstract. This paper addresses the problem of proving a given invariance property ϕ of a loop in a numeric program, by inferring automatically a stronger inductive invariant ψ. T...