Invited Talks and Technical Presentations

  1. Depending on Types.
    Keynote address, International Conference on Functional Programming (ICFP). Gothenburg, Sweden, September 3, 2014

  2. Programming Up-to Congruence, again.
    Estes Park, Colorado, August 12, 2014

  3. Combining Proofs and Programs.
    Certification of High-level and Low-level programs. Paris, France, July 7, 2014

  4. Why You Should Care About Dependent Types.
    Programming Languages Mentoring Workshop. San Diego, CA, January 21, 2014

  5. Programming Up-to Congruence.
    WG 2.8, Aussios, France, October 14, 2013

  6. The pleasure and pain of advanced type systems.
    Invited speaker, Facebook Faculty Summit. Menlo Park, CA, August 6, 2013

  7. Paradoxical Typecase.
    WG 2.8, Anapolis, MD, November 7, 2012

  8. A POPLmark retrospective: Using proof assistants in programming language research.
    Invited speaker, LFMTP 2012: 7th International Workshop on Logical Frameworks and Meta-languages: Theory and Practice, Copenhagen, Denmark, September 9, 2012

  9. Dependently-typed programming in GHC.
    Invited speaker, FLOPS 2012: Eleventh International Symposium on Functional and Logic Programming, Kobe, Japan, May 25, 2012

  10. Binders Unbound.
    The 16th ACM SIGPLAN International Conference on Functional Programming, ICFP 2012 Tokyo Japan, September 21, 2011

  11. Combining Proofs and Programs.
    Dependently Typed Programming, Shonan Seminar 007, Shonan Village, Japan, September 16, 2011

  12. Combining Proofs and Programs.
    Joint invited speaker for Rewriting Techniques and Applications (RTA 2011) and Typed Lambda Calculi and Applications (TLCA 2011) Novi Sad, Serbia, June 1, 2011

  13. Combining Proofs and Programs in Trellys.
    Plenary Address, MFPS 27. Pittsburgh, PA. May 26, 2011

  14. Generic Binding and Telescopes.
    WG 2.8, Marble Falls, TX. March 11, 2011

  15. ICFP 2010 Program Chair's report.
    Baltimore, MD. September 27, 2010

  16. Dependent types and program equivalence.
    University of Strathclyde. Glasgow, Scotland. April 30, 2010

  17. Generic Programming with Dependent Types.
    IFIP 2.11, St. Andrews, Scotland. March 1-3, 2010

  18. Dependent types and program equivalence.
    University of Nottingham. Nottingham, England. February 5, 2010

  19. Trellys Status Report.
    PLPV Discussion. Madrid, Spain. January 19, 2010

  20. A POPLmark retrospective: Using proof assistants in programming language research.
    University of Cambridge Computer Laboratory Wednesday Seminars. Cambridge, England. December 2, 2009

  21. Dependent types and program equivalence.
    Semantics Lunch, University of Cambridge Computer Laboratory. Cambridge, England. November 2, 2009

  22. Haskell Symposium 2009 Program Chair's report.
    Edinburgh, Scotland. September 3, 2009

  23. Doing dependent types wrong without going wrong.
    IFIP WG 2.8, Frauenchiemsee, Germany, June 2009

  24. Adventures in Dependently-Typed Metatheory.
    IFIP WG 2.11, Mountain View CA. April 15, 2009

  25. Engineering Formal Metatheory
    Computer Science Colloquium, City University of New York Graduate Center. New York, NY. February 2, 2009

  26. First-class Polymorphism for Haskell.
    IFIP WG 2.8, Park City, UT. June 19, 2008

  27. Engineering Formal Metatheory.
    Princeton University, Princeton NJ, USA. November 19, 2007

  28. Machine Assistance for Programming Language Research.
    Cornell University, Ithaca, NY, USA. October 12, 2007

  29. Formal Reasoning About Programs and Programming Languages.
    National Security Agency. Fort Meade, MD, USA.
    July 20, 2007

  30. Engineering Aspects of Formal Metatheory.
    Harvard University, Boston MA, USA. June 1, 2007

  31. Dependently-Typed Languages.
    Working session summary. IFIP WG 2.11, Portland, OR, October 2006

  32. Simple Unification-Based Type Inference for GADTs.
    International Conference on Functional Programming (ICFP). Portland, OR. September 2006

  33. RepLib: A Library for Derivable Type Classes.
    Haskell Workshop. Portland, OR. September 2006

  34. Parametricity and GADTs.
    IFIP Working Group 2.8 (Functional Programming). Boston, MA. July 2006

  35. Practical Type Inference for Advanced Type Systems.
    International Federation for Information Processing (IFIP) Working Group 2.11, Dagstuhl, Wadern, Germany. January 2006

  36. Boxy Types: Inference for Higher-rank Types and Impredicativity.
    International Federation for Information Processing (IFIP) Working Group 2.8, Kalvi Manor, Estonia. October 2005

  37. A Core Language for Generalised Algebraic Datatypes.
    International Federation for Information Processing (IFIP) Working Group 2.8, West Point, USA. November 2004

  38. A Design for Type-directed Java.
    Programming Languages Seminar, Yale University, New Haven, CT. October 1, 2004

  39. 2004 ICFP Programming Contest Results.
    (Presented jointly with Benjamin Pierce and Steve Zdancewic) International Conference on Functional Programming, Snowbird, UT. September 20, 2004

  40. A Core Language for Generalised Algebraic Datatypes.
    Dagstuhl Seminar 04381: Dependently Typed Programming, Wadern, Germany. September 12, 2004

  41. A Design for Type-Directed Java.
    Microsoft Research Lab, Cambridge, UK. August 31, 2004

  42. A Design for Type-Directed Java.
    Workshop on Object-Oriented Developments (WOOD '04). London, UK, August 2004

  43. Unifying Nominal and Structural Ad-hoc Polymorphism.
    International Federation for Information Processing (IFIP) Working Group 2.8, Coffs Harbour, Australia. January 2003

  44. Unifying Nominal and Structural Ad-hoc Polymorphism.
    Computer Science Colloquium, City University of New York Graduate Center. New York, NY. October 30, 2003

  45. Boxes Go Bananas: Parametric Higher-Order Abstract Syntax in System F.
    Laboratory for Secure Systems Seminar, Stevens Institute of Technology. Hoboken, NJ. May 5, 2003

  46. Run-time type analysis in Haskell with an Awful Lot of Newtypes.
    International Federation for Information Processing (IFIP) Working Group 2.8, Crans-Montana, Switzerland. January 2003

  47. Polytypic Programming and Intensional Type Analysis.
    New Jersey Programming Languages Seminar. University of Pennsylvania, Philadelphia, PA. September 20, 2002

  48. Programming with Types.
    OHSU/Oregon Graduate Institute, Beaverton, OR. February 11, 2002

  49. Programming with Types.
    University of Oregon, Eugene, OR. February 15, 2002

  50. Programming with Types.
    University of Pennsylvania, Philadelphia, PA. February 19, 2002

  51. Programming with Types.
    University of Virginia, Charlottesville, VA. February 28, 2002

  52. Programming with Types.
    University of Maryland, College Park, MD. March 4, 2002

  53. Programming with Types.
    Northeastern University, Boston, MA. March 13, 2002

  54. Programming with Types.
    University of California, San Diego, CA. March 15, 2002

  55. Programming with Types.
    Purdue University, West Lafayette, IN. March 25, 2002

  56. Programming with Types.
    University of Michigan, Ann Arbor, MI. March 27, 2002

  57. Programming with Types.
    University of Texas, Austin, TX. April 2, 2002

  58. Higher-order Intensional Type Analysis.
    European Symposium on Programming (ESOP '02). Grenoble, France, April 2002

  59. Programming with Types.
    University of Colorado at Boulder, CO. April 16, 2002

  60. Programming with Types.
    Pennsylvania State University, State College, PA. April 19, 2002

  61. Programming with Types.
    Massachusetts Institute of Technology, Boston, MA. April 25, 2002

  62. Programming with Types.
    Rice University, Houston TX. April 29, 2002

  63. Run-Time Type Analysis and Program Verification.
    Research, Careers and Computer Science: A Maryland Symposium. University of Maryland, College Park, MD. November 2001

  64. Polytypic Programming and Intensional Type Constructor Analysis.
    International Federation for Information Processing (IFIP) Working Group 2.8, Are, Sweden. April 2001

  65. Encoding Intensional Type Analysis.
    European Symposium on Programming (ESOP '01). Genova, Italy. April 2001

  66. Resource Bound Certification. Harvard University, Boston, MA. February 2001

  67. Functional Pearl: Type-Safe Cast. International Conference on Functional Programming. Montreal, Canada. September 2000

  68. Resource Bound Certification. IBM Research, Hawthorne, NY. June 2000

  69. Resource Bound Certification. ACM Symposium on Principles of Programming Languages (POPL '00). Boston, MA, USA. January 2000

  70. Flexible Type Analysis.
    International Conference on Functional Programming (ICFP '99). Paris, France, September 1999

  71. Type Analysis and Typed Compilation.
    Princeton University, Princeton, NJ. June 1999

  72. Intensional Polymorphism in Type-Erasure Semantics.
    International conference on Functional Programming (ICFP '98). Baltimore, MD, USA, September 1998