COMPSCI691PL - Programming Languages Seminar - Spring 2019

Administrative Details

Course Description: This seminar is an introduction to programming and theorem-proving with dependent types. We will use Idris, which is a dependently-typed language that is similar to languages such as Coq and Agda. In the first part of the course, we will individually work through the book Type-Driven Development with Idris. In the latter part, we will undertake a larger project as a group.

Book: Type-Driven Development with Idris.

Instructor: Arjun Guha

Time: Fridays, 1:25PM -- 2:40PM

Location: LGRC A310

Prerequisites: Open to graduate students in computer science, or with permission of the instructor.

Schedule

Frequently Asked Questions

Q: What are the actual prerequisites?

You need to be comfortable with an ML-style, typed functional programming language (e.g., OCaml, Standard ML, Haskell, or even Scala). Knowing Haskell will help the most because Idris borrow several ideas from Haskell.

Q: What are we doing?

A: In the first half of the course, we will work through Type-Driven Development in Idris. We will do most of the exercises in the book. In addition, every week, each participant will come up 1-2 new exercises for everyone else to do. In the latter half of the course, we will undertake a larger verification effort. One option is to translate projects from COMPSCI631 to Idris. Other suggestions are welcome.

Q: Is this a three-credit course?

A: Yes.