Functional Programming (ITI0212 - Spring 2024)

Lectures on Tuesday from 10:00-11:30 in ICO-316

Labs oo Wednesday from 10:00-11:30, and Friday from 12:00-13:30 in ICO-410

Instructors/TAs: Matthew Earnshaw, Ekaterina Zhuchko, Ian Erik Varatalu

Idris2 Resources

Idris2 Installation Instructions

Ian's Idris2 Windows Installation Notes

The Idris2 Online Documentation

The Idris Tutorial (Written for Idris 1 but also helpful for Idris 2)

The Idris Book (Also available from TalTech library)

Homework Assignments and Course Project

There will be five small homework assignments and a (slightly larger) course project.

The Course Project is due 31/05/2024.

Homework 1 is due 01/03/2024.

Homework 2 is due 29/03/2024.

Homework 3 is due 19/04/2024.

Homework 4 is due 10/05/2024.

Homework 5 is due 31/05/2024.

Lecture Topics and Lab Sheets

Week Lecture Date Topic Lab
01 30/01/2024 Course Introduction lab-01
02 06/02/2024 Inductive Types and Recursive Functions lab-02
03 13/02/2024 Parameterised Types and Polymorphic Functions lab-03
04 20/02/2024 Function Literals and Higher-Order Functions lab-04
05 27/02/2024 Interfaces lab-05
06 12/03/2024 Input and Output lab-06
07 19/03/2024 Infinite Data lab-07
08 26/03/2024 Dependent Types lab-08
09 02/04/2024 Computation in Types lab-09
10 09/04/2024 Propositions as Types lab-10
11 16/04/2024 First Order Logic lab-11
12 23/04/2024 Inductive Equality lab-12
13 30/04/2024 Decidability and automation lab-13

… To be continued