Skip to main content

and
  1. No Access

    Chapter

    Counting Successes: Effects and Transformations for Non-deterministic Programs

    We give a simple effect system for non-deterministic programs, tracking static approximations to the number of results that may be produced by each computation. A relational semantics for the effect system est...

    Nick Benton, Andrew Kennedy, Martin Hofmann in A List of Successes That Can Change the Wo… (2016)

  2. Chapter and Conference Paper

    Adding Equations to System F Types

    We present an extension of System F with types for term-level equations. This internalization of the rich equational theory of the polymorphic lambda calculus yields an expressive core language, suitable for f...

    Neelakantan R. Krishnaswami, Nick Benton in Programming Languages and Systems (2012)

  3. No Access

    Chapter and Conference Paper

    Reading, Writing and Relations

    We give an elementary semantics to an effect system, tracking read and write effects by using relations over a standard extensional semantics for the original language. The semantics establishes the soundness ...

    Nick Benton, Andrew Kennedy, Martin Hofmann in Programming Languages and Systems (2006)

  4. No Access

    Chapter and Conference Paper

    A Typed, Compositional Logic for a Stack-Based Abstract Machine

    We define a compositional program logic in the style of Floyd and Hoare for a simple, typed, stack-based abstract machine with unstructured control flow, global variables and mutually recursive procedure calls...

    Nick Benton in Programming Languages and Systems (2005)

  5. No Access

    Chapter and Conference Paper

    Modern Concurrency Abstractions for C#

    Polyphonic C# is an extension of the C# language with new asynchronous concurrency constructs, based on the join calculus. We describe the design and implementation of the language and give examples of its use in...

    Nick Benton, Luca Cardelli, Cédric Fournet in ECOOP 2002 — Object-Oriented Programming (2002)