DAT350 (Chalmers) / DIT235 (GU)
Fall Term 2025 (LP1)
Most course information is on Canvas.
Further course links:
Schedule
on TimeEdit / Chalmers
studieportal / GU
ad (sv) / GU
kursplan / GU
course description / Old course
page
Date | Time | Teacher | Title | Reading / Remark |
---|---|---|---|---|
Thu 04/09 | 10-12 | AA | 01 Introduction to Agda | LN 1 - 3; VFP 1, 3; DTW 1, 2.1 - 2.5 |
Mon 08/09 | 13-15 | TC | 02 Dependent types | |
Mon 08/09 | 15-17 | AA | Getting started with Agda | |
Thu 11/09 | 10-12 | TC | 03 Proving in Agda | |
Mon 15/09 | 13-15 | TC | 04 Introduction to operational semantics and type systems | TPL 1-3 |
Mon 15/09 | 15-17 | TC | More on Agda | Homework 1 due |
Thu 18/09 | 10-12 | TC | 05 Introduction to operational semantics and type systems | TPL 3-4 |
Mon 22/09 | 13-15 | TC | 06 Introduction to operational semantics and type systems | TPL 5-10 |
Mon 22/09 | 15-17 | TC | More on Agda | Homework 2 due |
Thu 25/09 | 10-12 | TC | 07 Introduction to operational semantics and type systems | |
Mon 29/09 | 13-15 | AA | 08 Bidirectional type-checking | |
Mon 29/09 | 15-17 | AA | More on Agda | Homework 3 due |
Thu 02/10 | 10-12 | AA | 09 More on operational semantics and type systems in Agda | |
Mon 06/10 | 13-15 | AA | 10 More on operational semantics and type systems in Agda | |
Mon 06/10 | 15-17 | AA | Exercises on operational semantics and type systems in Agda | Homework 4 due |
Thu 09/10 | 10-12 | AA | 11 More on operational semantics and type systems in Agda | |
Mon 13/10 | 13-15 | TC | Student presentations | |
Mon 13/10 | 15-17 | TC | Student presentations | |
Thu 16/10 | 10-12 | TC | Student presentations | |
Mon 20/10 | 13-15 | TC | Student presentations | |
Mon 20/10 | 15-17 | TC | Student presentations | |
Tue 21/10 | 08- | Take home exam | Deadline: Fri 24/10 12:00 (noon) |
Teachers: TC = Thierry
Coquand, AA = Andreas
Abel.
Room: Lecture hall MC.
Further literature and online access to books via the library can be found on Canvas.
Agda code: live code start, solution, rendered
Getting started with Agda.
Help-session where Andreas will help you get started with Agda
programming.
Before this session you need to install Agda and try to write your first
Agda programs.
We’ll do some simple exercises in Agda.
Agda code (expressions in spine form, superseded by lecture 9): live code start, full, rendered
Implementation of simply-typed lambda-calculus (STLC), continued.
with
vs. case ... of \ where
vs. local
functionssubst
,
cong
)Agda live code: start, finish, solution, rendered
Normalization for typed lambda-calculus
Agda live code: start, solution, rendered
Possible topics:
We recommend Agda version 2.8.0 (recent older versions are also ok).
agda --setup
stack install --resolver=nightly Agda
agda --setup
ghcup tui
stack path --local-bin
is in your system PATHagda-mode compile
agda-mode setup
Get the agda-mode
extension (authored by Ting-Gian
LUA).
To install a library for Agda, it must be downloaded and the path to
its .agda-lib
file must be mentioned in the file
$AGDA_APP_DIR/libraries
, where $AGDA_APP_DIR
is the directory printed by
agda --print-agda-app-dir
.
(In case this directory does not exist yet, please create it.)
For instance, to install the Agda standard library, you can follow these steps.
Download the version of the standard library for your Agda
version according to
https://wiki.portal.chalmers.se/agda/Libraries/StandardLibrary .
For Agda 2.8.0, this is version
2.3.
Unpack the library into a directory of your choice, for instance
(on Linux/MacOS):
~/.agda/libraries.d/standard-library
Recommended: in this directory rename
agda-stdlib-2.3
to v2.3
(or similar).
Add the following line to your ~/.agda/libraries
file (create it if it does not exist):
~/.agda/libraries.d/standard-library/v2.3/standard-library.agda-lib
In this you need to expand ~
manually to your home
folder.
On Windows, the libraries
file might reside in another
directory than ~/.agda
.
Check the output of agda --print-agda-app-dir
.