Fall 2016 PL Junior Retrospective

:: PL Junior, by Ben Chung, by Milo Davis, by Ming-Ho Yee, by Sam Caldwell

The Programming Language Seminar, Junior (or “PL Junior”), is a seminar for junior students to learn and discuss topics at a pace more suitable to our background. This semester, we decided to study dependent types. We chose this topic because

  1. working from the TAPL presentation of type systems, dependent types are a step up in difficulty (excepting F-omega-sub), and
  2. they represent a significant increase in the reasoning power of types over programs.

SRC-submissions

:: by Gabriel Scherer

Max New, Daniel Patterson and Ben Greenman recently wrote three two-page abstracts on what they are working on right now. Come have a look — and any feedback is welcome!

Understanding Constructive Galois Connections

:: icfp, galois connection, adjunction, category theory, math, by Max New

One of my favorite papers at ICFP 2016 (in lovely Nara, Japan) was Constructive Galois Connections: Taming the Galois Connection Framework for Mechanized Metatheory by David Darais and David Van Horn. The central technical result is quite interesting, but a little intimidating, so I’d like to share a “de-generalization” of the result that I found helpful to understand.

Beta Reduction (Part 1)

:: lambda, calculus, beta, reduction, semantics, by Milo Davis

The λ-calculus is often introduced by showing how to build a real programming language from it’s simple syntactic forms. In this series of post, I attempt to introduce it as a tool for modeling semantics. So if you’re opening Barendregt for the first time, trying to understand a lecture from a programming languages or functional programming class, or just starting to become involved in PL research, I hope this post will help you understand evaluation by substitution (β-reduction).