The problem of expressing I/O and side effects in functional languages is a well-established one. This paper addresses this problem from a general semantic viewpoint by giving a u...
Standard ML is a statically typed programming language that is suited for the construction of both small and large programs. "Programming in the small" is captured by St...
The method of logical relations is a classic technique for proving the equivalence of higher-order programs that implement the same observable behavior but employ different intern...
Derek Dreyer, Georg Neis, Andreas Rossberg, Lars B...
We propose a programming language, called PCML5, for building distributed applications with distributed access control. Target applications include web-based systems in which prog...
An important aspect of mechanism design in social choice protocols and multiagent systems is to discourage insincere and manipulative behaviour. We examine the computational compl...