# SIGPLAN

SIGPLAN is the Association for Computing Machinery's Special Interest Group (SIG) on programming languages. This SIG explores programming language concepts and tools, focusing on design, implementation, practice, and theory. Its members are programming language developers, educators, implementers, researchers, theoreticians, and users.

## Conferences

* Principles of Programming Languages (POPL)
* Programming Language Design and Implementation (PLDI)
* International Symposium on Memory Management (ISMM)
* Languages, Compilers, and Tools for Embedded Systems (LCTES)
* Symposium on Principles and Practice of Parallel Programming (PPoPP)
* International Conference on Functional Programming (ICFP)
* Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH)
* Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA)
* History of Programming Languages (HOPL)
* Dynamic Languages Symposium (DLS)

## Associated journals

* ACM Transactions on Architecture and Code Optimization
* ACM Transactions on Programming Languages and Systems
* Proceedings of the ACM on Programming Languages

## Newsletters

* ACM SIGPLAN Notices - ISSN 1558-1160 ISSN 0362-1340 - Home page at ACM
* Fortran Forum - ISSN 1061-7264 ISSN 1931-1311
* Lisp Pointers (final issue 1995) - ISSN 1045-3563
* OOPS Messenger (1990–1996) - ISSN 1558-0253 ISSN 1055-6400

## Awards
### Programming Languages Achievement Award

Recognizes an individual or individuals who has made a significant and lasting contribution to the field of programming languages.
* 2024: Keshav Pingali
* 2023: Kathryn S. McKinley
* 2022: Xavier Leroy
* 2021: Bob Harper
* 2020: Hans-J. Boehm
* 2019: Alex Aiken
* 2017: Thomas W. Reps
* 2016: Simon Peyton Jones
* 2015: Luca Cardelli
* 2014: Neil D. Jones
* 2013: Patrick Cousot and Radhia Cousot
* 2012: Matthias Felleisen
* 2011: Tony Hoare
* 2010: Gordon Plotkin
* 2009: Rod Burstall
* 2008: Barbara Liskov
* 2007: Niklaus Wirth
* 2006: Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark Wegman, and Kenneth Zadeck
* 2005: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
* 2004: John Backus
* 2003: John C. Reynolds
* 2002: John McCarthy
* 2001: Robin Milner
* 2000: Susan Graham
* 1999: Ken Kennedy
* 1998: Fran Allen
* 1997: Guy Steele

### Robin Milner Young Researcher Award

Recognizes outstanding contributions by young researchers in the area of programming languages. The award is named after the computer scientist Robin Milner.
* 2024: Armando Solar-Lezama
* 2023: Nate Foster
* 2022: Viktor Vafeiadis
* 2021: Emina Torlak
* 2020: Eran Yahav
* 2019: Martin Vechev
* 2018: Ranjit Jhala
* 2017: Derek Dreyer
* 2016: Stephanie Weirich
* 2015: David Walker
* 2014: Sumit Gulwani
* 2013: Lars Birkedal
* 2012: Shriram Krishnamurthi

### Programming Languages Software Award

Given to an institution or individual(s) to recognize the development of a software system that has had a significant impact on programming language research, implementations, and tools.
* 2024: Rust (programming language) awarded to Aaron Turon, Alex Crichton, Brian Anderson, Dave Herman, Felix S. Klock II, Graydon Hoare, Marijn Haverbeke, Nicholas D. Matsakis, Patrick Walton, Tim Chevalier, Yehuda Katz, and All Rust Contributors Past and Present
* 2023: OCaml awarded to David Allsopp, Florian Angeletti, Stephen Dolan, Damien Doligez, Alain Fritsch, Jacques Garrigue, Xavier Leroy, Anil Madhavapeddy, Luc Maranget, Nicolás Ojeda Bär, Gabriel Scherer, KC Sivaramakrishnan, Jérôme Vouillon, and Léo White
* 2022: CompCert awarded to Xavier Leroy, Sandrine Blazy, Zaynah Dargaye, Jacques-Henri Jourdan, Michael Schmidt, Bernhard Schommer, and Jean-Baptiste Tristan
* 2021: WebAssembly awarded to Andreas Rossberg, Derek Schuff, Bradley Nelson, JF Bastien, and Ben L. Titzer
* 2020: Pin (computer program) awarded to Artur Klauser, Greg Lueck, Mark Charney, Gail Lyons, Geoff Lowney, Aamer Jaleel, Harish Patil, Vijay Janapa Reddi, Kim Hazelwood, S. Bharadwaj Yadavalli, Ramesh Peri, Elena Demikhovsky, Ady Tal, Moshe Bach, Alex Skaletsky, CK Luk, Steven Wallace, Tevi Devor, Robert Muth, and Nadav Chachmon
* 2019: Scala (programming language) awarded to Martin Odersky, Adriaan Moors, Aleksandar Prokopec, Heather Miller, Iulian Dragos, Nada Amin, Philipp Haller, Sébastien Doeraene, and Tiark Rompf
* 2018: Racket (programming language) awarded to Eli Barzilay, Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi, Jay McCarthy, and Sam Tobin-Hochstadt
* 2016: V8 (JavaScript engine)
* 2015: Z3 Theorem Prover
* 2014: GNU Compiler Collection (GCC)
* 2013: Coq proof assistant
* 2012: Jikes Research Virtual Machine (RVM) awarded to Bowen Alpern, Matthew Arnold, Clement Attanasio, John Barton, Steve Blackburn, Maria Butrico, Perry Cheng, Tony Cocchi, Julian Dolby, Peter Donald, Steven Fink, Daniel Frampton, Robin Garner, David Grove, Michael Hind, Derek Lieber, Kathryn McKinley, Mark Mergen, Eliot Moss, Ton Ngo, Igor Peshansky, Filip Pizlo, Feng Qian, Ian Rogers, Vivek Sarkar, Mauricio Serrano, Janice Shepherd, Stephen Smith, Peter F. Sweeney, Martin Trapp, Kris Venstermans, and John Whaley
* 2011: Glasgow Haskell Compiler awarded to Simon Peyton Jones, and Simon Marlow
* 2010: LLVM awarded to Chris Lattner

### SIGPLAN Doctoral Dissertation Award

The full name of this award is the John C. Reynolds Doctoral Dissertation Award, after the computer scientist John C. Reynolds. It is "presented annually to the author of the outstanding doctoral dissertation in the area of Programming Languages."
* 2024: Benjamin Bichsel
* 2023: Sam Westrick
* 2022: Jay P. Lim, Rutgers and Uri Alon
* 2021: Gagandeep Singh and Ralf Jung
* 2020: Filip Niksic
* 2019: Ryan Beckett
* 2018: Justin Hsu and David Menendez
* 2017: Ramana Kumar
* 2016: Shachar Itzhaky and Vilhelm Sjöberg
* 2015: Mark Batty
* 2014: Aaron Turon
* 2013: Patrick Rondon
* 2012: Dan Marino
* 2010: Robert L. Bocchino
* 2009: Akash Lai and William Thies
* 2008: Michael Bond and Viktor Vafeiadis
* 2007: Swarat Chaudhuri
* 2006: Xiangyu Zhang
* 2005: Sumit Gulwani
* 2003: Godmar Back
* 2002: Michael Hicks
* 2001: Rastislav Bodik

### SIGPLAN Distinguished Service Award

* 2024: Emery Berger
* 2023: Talia Ringer
* 2022: Mike Hicks
* 2021: Ben Zorn
* 2019: Jan Vitek
* 2018: Zena Ariola
* 2016: Phil Wadler
* 2015: Dan Grossman
* 2014: Simon Peyton Jones
* 2013: Kathleen Fisher
* 2012: Jens Palsberg
* 2011: Kathryn S. McKinley
* 2010: Jack W. Davidson
* 2009: Mamdouh Ibrahim
* 2008: Michael Burke
* 2007: Linda M. Northrop
* 2006: Hans Boehm
* 2005: no award made
* 2004: Ron Cytron
* 2003: Mary Lou Soffa
* 2002: Andrew Appel
* 2001: Barbara G. Ryder
* 2000: David Wise
* 1999: Loren Meissner
* 1998: Brent Hailpern
* 1997: J.A.N. Lee and Jean E. Sammet
* 1996: Dick Wexelblat and John Richards

### Most Influential PLDI Paper Award

* 2024 (for 2014): FlowDroid: Precise Context, Flow, Field, Object-sensitive and Lifecycle-aware Taint Analysis for Android Apps by Steven Arzt, Siegfried Rasthofer, Christian Fritz, Eric Bodden, Alexandre Bartel, Jacques Klein, Yves Le Traon, Damien Octeau, Patrick McDaniel
* 2023 (for 2013): Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Representation in Image Processing Pipelines by Jonathan Ragan-Kelley, Connelly Barnes, Andrew Adams, Sylvain Paris, Frédo Durand, and Saman Amarasinghe
* 2022 (for 2012): Test-Case Reduction for C Compiler Bugs by John Regehr, Yang Chen, Pascal Cuoq, Eric Eide, Chucky Ellison, Xuejun Yang
* 2021 (for 2011): Finding and Understanding Bugs in C Compilers by Xuejun Yang, Yang Chen, Eric Eide, and John Regehr
* 2020 (for 2010): Green: A Framework for Supporting Energy-Conscious Programming using Controlled Approximation by Woongki Baek and Trishul M. Chilimbi
* 2019 (for 2009): FastTrack: Efficient and Precise Dynamic Race Detection by Cormac Flanagan and Stephen N. Freund
* 2018 (for 2008): A Practical Automatic Polyhedral Parallelizer and Locality Optimizer by Uday Bondhugula, Albert Hartono, J. Ramanujam, and P. Sadayappan
* 2017 (for 2007): Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentation by Nicholas Nethercote, Julian Seward
* 2016 (for 2006): DieHard: Probabilistic Memory Safety for Unsafe Languages by Emery Berger, Benjamin Zorn
* 2015 (for 2005): Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation by Chi-Keung Luk, Robert Cohn, Robert Muth, Harish Patil, Artur Klauser, Geoff Lowney, Steven Wallace, Vijay Janapa Reddi, and Kim Hazelwood
* 2014 (for 2004): Scalable Lock-Free Dynamic Memory Allocation by Maged M. Michael
* 2013 (for 2003): The nesC Language: A Holistic Approach to Networked Embedded Systems by David Gay, Philip Levis, J. Robert von Behren, Matt Welsh, Eric Brewer, and David E. Culler
* 2012 (for 2002): Extended Static Checking for Java by Cormac Flanagan, K. Rustan M. Leino, Mark Lillibridge, Greg Nelson, James B. Saxe, and Raymie Stata
* 2011 (for 2001): Automatic Predicate Abstraction of C Programs by Thomas Ball, Rupak Majumdar, Todd Millstein, and Sriram K. Rajamani
* 2010 (for 2000): Dynamo: A Transparent Dynamic Optimization System by Vasanth Bala, Evelyn Duesterwald, Sanjeev Banerji
* 2009 (for 1999): A Fast Fourier Transform Compiler by Matteo Frigo
* 2008 (for 1998): The Implementation of the Cilk-5 Multithreaded Language by Matteo Frigo, Charles E. Leiserson, Keith H. Randall
* 2007 (for 1997): Exploiting Hardware Performance Counters with Flow and Context Sensitive Profiling by Glenn Ammons, Thomas Ball, and James R. Larus
* 2006 (for 1996): TIL: A Type-Directed Optimizing Compiler for ML by David Tarditi, Greg Morrisett, Perry Cheng, Christopher Stone, Robert Harper, and Peter Lee
* 2005 (for 1995): Selective Specialization for Object-Oriented Languages by Jeffrey Dean, Craig Chambers, and David Grove
* 2004 (for 1994): ATOM: A System for Building Customized Program Analysis Tools by Amitabh Srivastava and Alan Eustace
* 2003 (for 1993): Space Efficient Conservative Garbage Collection by Hans Boehm
* 2002 (for 1992): Lazy Code Motion by Jens Knoop, Oliver Rüthing, Bernhard Steffen
* 2001 (for 1991): A Data Locality Optimizing Algorithm by Michael E. Wolf and Monica S. Lam
* 2000 (for 1990): Profile Guided Code Positioning by Karl Pettis and Robert C. Hansen

### Most Influential POPL Paper Award

* 2024 (for 2014): CakeML: A Verified Implementation of ML by Ramana Kumar, Magnus Myreen, Michael Norrish, Scott Owens
* 2023 (for 2013): Views: Compositional reasoning for concurrent programs by Thomas Dinsdale-Young, Lars Birkedal, Philippa Gardner, Matthew Parkinson, Hongseok Yang
* 2022 (for 2012): Multiple facets for dynamic information flow by Thomas H. Austin and Cormac Flanagan
* 2021 (for 2011): Automating string processing in spreadsheets using input-output examples by Sumit Gulwani
* 2020 (for 2010): From program verification to program synthesis by Saurabh Srivastava, Sumit Gulwani, Jeffrey Foster* 2019 (for 2009): Compositional shape analysis by means of bi-abduction by Cristiano Calcagno, Dino Distefano, Peter W. O'Hearn, Hongseok Yang
* 2018 (for 2008): Multiparty asynchronous session types by Kohei Honda, Nobuko Yoshida, Marco Carbone
* 2017 (for 2007): JavaScript Instrumentation for Browser Security by Dachuan Yu, Ajay Chander, Nayeem Islam, Igor Serikov
* 2016 (for 2006): Formal certification of a compiler back-end or: programming a compiler with a proof assistant by Xavier Leroy
* 2015 (for 2005): Combinators for Bidirectional Tree Transformations: A Linguistic Approach to the View Update Problem by Nate Foster, Michael B. Greenwald, Jonathan T. Moore, Benjamin C. Pierce, and Alan Schmitt
* 2014 (for 2004): Abstractions from proofs by Thomas Henzinger, Ranjit Jhala, Rupak Majumdar, and Kenneth McMillan
* 2013 (for 2003): A real-time garbage collector with low overhead and consistent utilization by David F. Bacon, Perry Cheng, and VT Rajan
* 2012 (for 2002): CCured: Type-Safe Retrofitting of Legacy Code by George C. Necula, Scott McPeak, and Westley Weimer
* 2011 (for 2001): BI as an Assertion Language for Mutable Data Structures by Samin Ishtiaq and Peter W. O'Hearn
* 2010 (for 2000): Anytime, Anywhere: Modal Logics for Mobile Ambients by Luca Cardelli and Andrew D. Gordon
* 2009 (for 1999): JFlow: Practical Mostly-Static Information Flow Control by Andrew C. Myers
* 2008 (for 1998): From System F to Typed Assembly Language by Greg Morrisett, David Walker, Karl Crary, and Neal Glew
* 2007 (for 1997): Proof-carrying Code by George Necula
* 2006 (for 1996): Points-to Analysis in Almost Linear Time by Bjarne Steensgaard
* 2005 (for 1995): A Language with Distributed Scope by Luca Cardelli
* 2004 (for 1994): Implementation of the Typed Call-by-Value lambda-calculus using a Stack of Regions by Mads Tofte and Jean-Pierre Talpin
* 2003 (for 1993): Imperative functional programming by Simon Peyton Jones and Philip Wadler

### Most Influential OOPSLA Paper Award

* 2024 (for 2014): Adaptive LL(*) parsing: the power of dynamic analysis by Terence Parr, Sam Harwell, and Kathleen Fisher
* 2023 (for 2013): Empirical analysis of programming language adoption by Leo Meyerovich and Ariel Rabkin
* 2022 (for 2012): GPUVerify: a verifier for GPU kernels by Adam Betts, Nathan Chong, Alastair Donaldson, Shaz Qadeer, and Paul Thomson
* 2021 (for 2011): SugarJ: library-based syntactic language extensibility by Sebastian Erdweg, Tillmann Rendel, Christian Kästner, and Klaus Ostermann
* 2020 (for 2010): The spoofax language workbench: rules for declarative specification of languages and IDEs by Lennart C.L. Kats and Eelco Visser
* 2019 (for 2009): Flapjax: a programming language for Ajax applications by Leo A. Meyerovich, Arjun Guha, Jacob Baskin, Gregory H. Cooper, Michael Greenberg, Aleks Bromfield, Shriram Krishnamurthi
* 2018 (for 2008): jStar: towards practical verification for Java by Dino Distefano and Matthew Parkinson
* 2017 (for 2007): Statistically Rigorous Java Performance Evaluation by Andy Georges, Dries Buytaert, Lieven Eeckhout
* 2016 (for 2006): The DaCapo benchmarks: Java benchmarking development and analysis by Stephen M. Blackburn, Robin Garner, Chris Hoffmann, Asjad M. Khan, Kathryn S. McKinley, Rotem Bentzur, Amer Diwan, Daniel Feinberg, Daniel Frampton, Samuel Z. Guyer, Martin Hirzel, Antony Hosking, Maria Jump, Han Lee, J. Eliot B. Moss, Aashish Phansalkar, Darko Stefanović, Thomas VanDrunen, Daniel von Dincklage, Ben Wiedermann
* 2015 (for 2005): X10: An Object-Oriented Approach to Non-Uniform Cluster Computing by Philippe Charles, Christian Grothoff, Vijay Saraswat, Christopher Donawa, Allan Kielstra, Kemal Ebcioglu, Christoph von Praun, and Vivek Sarkar
* 2014 (for 2004): Mirrors: Design Principles for Meta-level Facilities of Object-Oriented Programming Languages by Gilad Bracha and David Ungar
* 2013 (for 2003): Language Support for Lightweight Transactions by Tim Harris and Keir Fraser
* 2012 (for 2002): Reconsidering Custom Memory Allocation by Emery D. Berger, Benjamin G. Zorn, and Kathryn S. McKinley
* 2010 (for 2000): Adaptive Optimization in the Jalapeño JVM by Matthew Arnold, Stephen Fink, David Grove, Michael Hind, and Peter F. Sweeney
* 2009 (for 1999): Implementing Jalapeño in Java by Bowen Alpern, C. R. Attanasio, John J. Barton, Anthony Cocchi, Susan Flynn Hummel, Derek Lieber, Ton Ngo, Mark Mergen, Janice C. Shepherd, and Stephen Smith
* 2008 (for 1998): Ownership Types for Flexible Alias Protection by David G. Clarke, John M. Potter, and James Noble
* 2007 (for 1997): Call Graph Construction in Object-Oriented Languages by David Grove, Greg DeFouw, Jeffrey Dean, and Craig Chambers
* 2006 (for 1986–1996):
** Subject Oriented Programming: A Critique of Pure Objects by William Harrison and Harold Ossher
** Concepts and Experiments in Computational Reflection by Pattie Maes
** Self: The Power of Simplicity by David Ungar and Randall B. Smith

### Most Influential ICFP Paper Award

* 2024 (for 2014): Refinement Types for Haskell by Niki Vazou, Eric L. Seidel, Ranjit Jhala, Dimitrios Vytiniotis, Simon Peyton-Jones
* 2023 (for 2013): Handlers in Action by Ohad Kammar, Sam Lindley and Nicolas Oury
* 2022 (for 2012): Addressing Covert Termination and Timing Channels in Concurrent Information Flow Systems by Deian Stefan, Alejandro Russo, Pablo Buiras, Amit Levy, John C. Mitchell and David Mazières
* 2021 (for 2011): Frenetic: A Network Programming Language by Nate Foster, Rob Harrison, Michael Freedman, Christopher Monsanto, Jennifer Rexford, Alex Story, and David Walker
* 2020 (for 2010): Abstracting Abstract Machines by David Van Horn and Matthew Might
* 2019 (for 2009): Runtime Support for Multicore Haskell by Simon Marlow, Simon Peyton Jones, and Satnam Singh
* 2018 (for 2008): Parametric Higher-order Abstract Syntax for Mechanized Semantics by Adam Chlipala
* 2017 (for 2007): Ott: Effective Tool Support for the Working Semanticist by Peter Sewell, Francesco Zappa Nardelli, Scott Owens, Gilles Peskine, Thomas Ridge, Susmit Sarkar, and Rok Strniša
* 2016 (for 2006): Simple Unification-based Type Inference for GADTs by Simon Peyton Jones, Dimitrios Vytiniotis, Stephanie Weirich, and Geoffrey Washburn
* 2015 (for 2005): Associated Type Synonyms by Manuel M. T. Chakravarty, Gabriele Keller, and Simon Peyton Jones
* 2014 (for 2004): Scrap More Boilerplate: Reflection, Zips, and Generalised Casts by Ralf Lämmel and Simon Peyton Jones
* 2013 (for 2003): MLF: Raising ML to the Power of System F by Didier Le Botlan and Didier Rémy
* 2012 (for 2002): Contracts for Higher-order Functions by Robert Findler and Matthias Felleisen
* 2011 (for 2001): Recursive Structures for Standard ML by Claudio Russo
* 2010 (for 2000): Quickcheck: A Lightweight Tool for Random Testing of Haskell Programs by Koen Claessen and John Hughes
* 2009 (for 1999): Haskell and XML: Generic combinators or type-based translation? by Malcolm Wallace and Colin Runciman
* 2008 (for 1998): Cayenne — A Language with Dependent Types by Lennart Augustsson
* 2007 (for 1997): Functional Reactive Animation by Conal Elliott and Paul Hudak
* 2006 (for 1996): Optimality and Inefficiency: What isn't a Cost Model of the Lambda Calculus? by Julia L. Lawall and Harry G. Mairson