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

    Undoing Dynamic Ty** (Declarative Pearl)

    We propose undoable versions of the projection operations used when programs written in higher-order statically-typed languages interoperate with dynamically typed ones, localizing potential runtime errors to ...

    Nick Benton in Functional and Logic Programming (2008)

  4. 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)

  5. No Access

    Chapter and Conference Paper

    Shrinking Reductions in SML.NET

    One performance-critical phase in the SML.NET compiler involves rewriting intermediate terms to monadic normal form and performing non-duplicating β-reductions. We present an imperative algorithm for this simplif...

    Nick Benton, Andrew Kennedy, Sam Lindley in Implementation and Application of Function… (2005)

  6. 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)

  7. No Access

    Chapter and Conference Paper

    Relational Reasoning in a Nominal Semantics for Storage

    We give a monadic semantics in the category of FM-cpos to a higher-order CBV language with recursion and dynamically allocated mutable references that may store both ground data and the addresses of other refe...

    Nick Benton, Benjamin Leperchey in Typed Lambda Calculi and Applications (2005)

  8. 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)

  9. No Access

    Chapter and Conference Paper

    A term calculus for Intuitionistic Linear Logic

    In this paper we consider the problem of deriving a term assignment system for Girard's Intuitionistic Linear Logic for both the sequent calculus and natural deduction proof systems. Our system differs from pr...

    Nick Benton, Gavin Bierman, Valeria de Paiva in Typed Lambda Calculi and Applications (1993)