Personal tools
You are here: Home Research Groups and Projects Programming Languages and Foundations Programming Languages Interest Group

Programming Languages Interest Group

The Programming Languages Interest Group meets intermittently to discuss topics in programming languages, including practical aspects such as compilers, tools and optimisation, as well as theoretical foundations, logics and semantics. Meetings are informal and could include reports on work in progress, ideas, papers, systems, or tools of interest.


Announcements of meetings are sent to the mailing list, a public, moderated, low-traffic mailing list.  Please follow this link to join:

There is also a wiki page for collecting suggestions for talks or discussion topics.

We usually meet on Thursdays, 1pm, in IF 2.33. Please refer to this page for the future schedule.

During the COVID-19 pandemic, PLInG has moved to an online / virtual format. To ensure integrity of the seminar, links to participate will be distributed via the mailing list each week. Please get in touch with the seminar organisers if you are not part of the mailing list and would like to participate.


PLInG is currently organised by Simon Fowler (LFCS) <> and Bruce Collie (ICSA) <>. Please get in touch if you would like to give a talk.


Upcoming meetings 

  • June 25th: Wilmer Ricciotti: Strongly Normalizing Higher-Order Relational Queries (FSCD Practice Talk)


Recent meetings

Spring 2020

  • June 11th: Swaraj Dash, University of Oxford: A monad for probabilistic point processes
  • May 21st: Artem Shinkarov, Heriot-Watt University: Extraction in Agda
  • February 7th: Alan Jeffrey: Rust, Servo, and Mixed Reality Research at Mozilla
  • February 13th: POPL trip reports
  • April 23rd: Federico Pizzuti: Generating Fast Sparse Matrix Vector Multiplication From a High Level Generic Functional IR
  • May 7th: Brian Campbell Digital Security by Capability and Proof

Autumn 2019

  • September 5: ICFP trip reports
  • September 17: Rudi Horn: Language-integrated Updatable Views
  • November 7: Mike Innes: Julia: A Racket for Compiler Development
  • November 21st: A modern perspective on the O'Hearn-Riecke model 
  • December 5th: Jack Turner: Neural Architecture Transformations as Compiler Optimisations

Spring 2019

  • January 10: POPL practice talks
  • March 7: Jesse Sigal: Denotational semantics for Differentiable Programming with Manifolds
  • April 18: Andrey Mokhov: Selective Applicative Functors
  • April 25: Juan Casanova: Meta-resolution: Challenges implementing an automated theorem
    proving procedure in Haskell
  • May 2: Juan Casanova: Meta-resolution: Challenges implementing an automated theorem
    proving procedure in Haskell (2nd part)
  • May 9: Troels Henriksen: A Purely Functional Array Language and its Optimising GPU Compiler
  • May 16: Lunch with Arjun Guha
  • July 11: Kwanghoon Choi: A theory of RPC calculi for client-server model
  • July 25: Jonathan Coates: First-class polymorphism and syntactic sugar for effects in Links
  • August 2: Frank Emrich: FreezeML: Complete and Easy Type Inference for First-Class Polymorphism

Past meetings

Autumn 2018

  • September 20: Rudi Horn, Incremental Relational Lenses practice talk
  • October 4: ICFP Trip Reports
  • October 25: Jack Williams, OOPSLA practice talk: The Root Cause of Blame: Contracts for Intersection and Union Types
  • November 1: Film Club: RustBelt: securing the foundations of the rust programming language
  • November 9: Robin Cockett: The proof theory of message passing: a basic semantics for concurrency


  • September 14: ICFP trip report
  • September 28: Organizational meeting
  • October 5: Wilmer Ricciotti, practice talk
  • October 19: Phil Wadler, A Judgmental Deconstruction of Modal Logic paper discussion
  • October 26: Juan Casanova, Graff, an experiment in programming language syntax based on graphs
  • November 30: Phil Wadler, Manifest sharing with session types paper discussion
  • December 14: Maria Gorinova, SlicStan: Improving Probabilistic Programming using Information Flow Analysis
  • January 25: POPL Trip Reports
  • February 15: Film Club, Bringing the web up to speed with WebAssembly
  • April 5: Daniel Hillerström, Handlers.Js; and Simon Fowler, Session Types for Tierless Web Applications (practice talks)
  • June 6: Roland Leißa, An extensible Compiler IR for multidimensional Arrays
  • June 7: James McKinna, Deriving a Lazy Abstract Machine paper discussion
  • July 5: John Longley, Two short theory talks
  • July 12: Jan De Muijnck-Hughes, Type-Systems for Describing System-on-a-Chip Architectures
  • July 18: Daniel Hillerström, Count Your Chickens Before They Hatch: Efficient Generic Search with Effect Handlers


  • September 29, 1pm, IF 2.33, ICFP trip report and organizational meeting
  • October 13, 1pm, IF 2.33, Danel Ahman,  Recall for free: preorder-preserving state monads in F*
  • October 27, 1pm, IF 2.33, Philip Ginsbach, Uncovering Algorithmic Structures in LLVM IR with Constraint Programming
  • November 10, 1pm, IF 2.33, James Cheney, Mechanized metatheory model-checking using alphaCheck
  • November 24, 1pm, IF 2.33, Tarmo Uustalu, Grading monads, comonads and distributive laws
  • December 8, 1pm, IF 2.33, Janek Stolarek, Injective Type Families
  • January 12, 1pm, IF 2.33, Sam Lindley, Do be do be do (practice talk for POPL)
  • January 26, 1pm, IF 2.33, POPL Trip Report
  • February 16, 1pm, IF 2.33, CGO & PPoPP Trip Report
  • March 23, 1pm. IF 2.33, Simon Fowler, A theory of name resolution


  • September 21, 1pm. IF 1.16.  ICFP trip report and organizational meeting.
  • October 5, 1pm, IF 1.16. Short talks: Simon Fowler, Monitoring Erlang/OTP Applications using Multiparty Session Types, and Stefan Fehrenbach, Domain-specific optimizations through rewriting C# code in a high-performance streaming engine
  • October 19, 1pm, IF 1.16, Toomas Remmelg, A Functional Approach to Performance Portable GPU Code Generation: A Case Study on Matrix Multiplication
  • November 5, 1pm, IF 2.33, Daniel Hillerström, Programming with Effect Handlers in Links
  • November 12, 1pm, IF 2.33, Shayan Najd, Quotation for All: A Tutorial On DSLs, Quotation, and Quoted DSLs
  • November 19, 1pm, IF 2.33, Juan Jose Fumero, Enabling distributed data processing in R -- Integrating Oracle's FastR with Apache Flink
  • December 3, 12:30pm, IF 2.33, Garrett Morris, Absurdity and its Consequents
  • December 10, 1pm, IF 2.33, Chris Cummings, Functional Programming in modern C++
  • January 28, 1pm, IF 2.33, POPL trip report and organizational meeting
  • February 18, 1pm, IF 2.33, James McKinna, Complements Witness Consistency, or Abstract Realisability for Lenses
  • March 3, 1pm, IF 2.33, Jakub Zalewski, discussion of "Abstracting Gradual Typing", by Garcia, Clark and Tanter (POPL 2016)
  • March 10, 1pm, IF 2.33, Nicholas Behr, Reformulating graph rewriting: the rule algebraic revelations
  • March 24, 1pm, IF 2.33, Weili Fu and Paul Anderson, discussion of configuration languages
  • April 7, 1pm, IF 2.33, Michel Steuwer, CGO/PPoPP/HPCA trip report
  • April 28, 1pm IF 2.33, Shayan Najd,  Embedding by Normalisation
  • May 5, 1pm, IF 2.33, Peter Thanisch, Enhanced Type Safety for Data-Oriented Languages
  • May 12, 1pm, IF 2.33, John Longley, Iterators, recursors and their computational power
  • September 1, 1pm. IF 2.33, Stefan Fehrenbach, Language-integrated provenance (practice talk for PPDP 2016)
  • September 12, Practice talk extravaganza, 12pm, IF 1.16


  • August 27, 3pm, IF 2.33: Practice talks by Sam Lindley,  Algebraic Effects and Effect Handlers for Idioms and Arrows and Garrett Morris,  A Simple Semantics for Haskell Overloading
  • September 22, 1pm, IF 1.16: organizational meeting, ICFP and PPDP trip reports
  • October 6, 1pm, IF 1.16: Brian Campbell, overview of the Ott and Lem tools
  • October 20, 1pm, IF 1.16: Lunch and aimless discussion
  • November 3, 1pm, IF 1.16: Shin-Ya Katsumata, Parametric effect monads and semantics of effect systems
  • November 10, 1pm, IF 1.16: James Cheney, Bisimulation and coinduction for dummies
  • November 17, 1pm, IF 1.16: Bob Atkey, Coherence spaces and session types
  • December 1,  1pm, IF 1.16: Ian Stark, Full abstraction for local names (postponed)
  • January 26, 1pm, IF 1.16: Tarmo Uustalu, Runners for your computations
  • February 9, 1pm, IF 1.16: POPL trip report, Weili Fu and Stefan Fehrenbach
  • February 23, 1pm, IF 1.16: Ian Stark, Full abstraction for local names
  • March 9, 1pm, IF 1.16: Paper discussion led by James Cheney
  • March 16, 1pm, IF 1.16: Ian Mackie, Linear numeral systems
  • March 23, 1pm, IF 1.16: Garrett Morris, Type inference for substructural type systems
  • April 6, 1pm, IF 1.16: TBA (this is Easter Monday, so probably any meeting will be later in the week)
  • April 27, 1pm, IF 1.16: James McKinna, paper discussion
  • July 13, 1pm, IF 1.16, Michael Vollmer, Converting Data-Parallelism to Task-Parallelism by Rewrites
  • July 27, 1pm, IF 1.16, Roly Perera, Proof-relevant pi calculus
  • August 10, 1pm, IF 1.16, Garrett Morris, Variations on Variants



  • October 9, 1pm, IF G.03: organizational meeting
  • October 21, 1pm, IF 3.02: Roly Perera, concurrency and slicing
  • November 4, 1pm, IF 3.02: Phil Wadler, highlights of ICFP 2013
  • November 18, 1pm, IF 3.02: Gordon Plotkin, Two linear equational logics: one for trees and one for dags
  • December 2, 1pm, IF 1.16: No meeting (Christophe Dubach's talk postponed because several people are away)
  • December 16, 1pm, IF 1.16: Garrett Morris
  • January 13, 1pm, IF 1.16: Christophe Dubach, Pattern Composition and Rewrite Rules for High-Performance Code Generation on Heterogeneous Systems
  • January 27, 1pm, IF 1.16: Danel Ahman, A propositional refinement type system for algebraic effects
  • February 10, 1pm, IF 1.16: James Cheney, POPL 2014 trip report
  • February 24, 1pm, IF 1.16: Miles Gould, Evaluating the design of the R language (Morandat et al. ECOOP 2012)
  • March 12, 1pm, IF 4.31: (Database Group meeting) Marco Gaboardi, Differential privacy
  • March 24, 1pm, IF 1.16: Vijay Nagarajan, Hardware Support for Shared-memory Concurrency: Reconciling Programmability with Performance
  • April 7, 1pm, IF 1.16: No talk, open discussion
  • April 22, 12pm, IF 1.16: (note unusual date/time): David Baelde, Two approaches to the proof theory of fixed points
  • May 5, 1pm, IF 1.16: Paper show-and-tell
  • May 26, 1pm, IF 1.16: Discussion of " When Compilers Meet Database Systems " special issue, led by Fabian Nagel.  Please read one of the papers.
  • June 2, 12pm, IF 1.16: (note unusual date/time): Graphical algebraic foundations for monad stacks, Ohad Kammar

Document Actions